프로그램 소스 코드 내에서 특정한 부분의 코드가 반복적으로 수행될 수 있도록 하는 구문
- C++에서 사용되는 반복문 중 하나
- while 문은 다음과 같이 작성한다.
- while (1), while (true) 처럼 무한 루프 반복문을 생성할 수 있다.
| #include <iostream> |
| |
| int main() { |
| int sum = 0; |
| int i = 1; |
| |
| |
| while (i <= 10) { |
| sum += i; |
| i++; |
| } |
| std::cout << "sum = " << sum << std::endl; |
| |
| return 0; |
| } |
sum = 55
| #include <iostream> |
| |
| int main() { |
| int i = 1; |
| |
| while (true) { |
| std::cout << i << " "; |
| i++; |
| } |
| |
| return 0; |
| } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
- 조건을 만족하든 말든, do의 코드를 먼저 실행하고 싶을 때 사용하는 구문이다.
| #include <iostream> |
| |
| int main() { |
| int sum = 0; |
| int i = 1; |
| |
| |
| do { |
| std::cout << "sum = " << sum << std::endl; |
| sum += i; |
| i++; |
| } while (i <= 5); |
| |
| std::cout << "최종 sum 값은 " << sum << "입니다." << std::endl; |
| return 0; |
| } |
| sum = 0 |
| sum = 1 |
| sum = 3 |
| sum = 6 |
| sum = 10 |
| 최종 sum 값은 15입니다. |
- C++에서 사용되는 반복문 중 하나
- for 문은 다음과 같이 작성한다.
| #include <iostream> |
| |
| int main() { |
| int sum = 0; |
| |
| for (int i = 1; i <= 10; i++) { |
| sum += i; |
| } |
| std::cout << "sum = " << sum << std::endl; |
| |
| return 0; |
| } |
sum = 55
- for 문에 2개 이상의 초기값을 설정할 수 있다.
| #include <iostream> |
| |
| int main() { |
| for (int i = 1, j = 1; i<=10; i++, j*=2) { |
| std::cout << "i = " << i << ", j = " << j << std::endl; |
| } |
| return 0; |
| } |
| i = 1, j = 1 |
| i = 2, j = 2 |
| i = 3, j = 4 |
| i = 4, j = 8 |
| i = 5, j = 16 |
| i = 6, j = 32 |
| i = 7, j = 64 |
| i = 8, j = 128 |
| i = 9, j = 256 |
| i = 10, j = 512 |
| #include <iostream> |
| |
| int main() { |
| for (int i = 1; i <= 2; i++) { |
| for (int j = 1; j <= 9; j++) { |
| std::cout << i << " * " << j << " = " << i * j << std::endl; |
| } |
| std::cout << std::endl; |
| } |
| return 0; |
| } |
| 1 * 1 = 1 |
| 1 * 2 = 2 |
| 1 * 3 = 3 |
| 1 * 4 = 4 |
| 1 * 5 = 5 |
| 1 * 6 = 6 |
| 1 * 7 = 7 |
| 1 * 8 = 8 |
| 1 * 9 = 9 |
| |
| 2 * 1 = 2 |
| 2 * 2 = 4 |
| 2 * 3 = 6 |
| 2 * 4 = 8 |
| 2 * 5 = 10 |
| 2 * 6 = 12 |
| 2 * 7 = 14 |
| 2 * 8 = 16 |
| 2 * 9 = 18 |
- 무한 반복문은 다음과 같이 작성하여 생성할 수 있다.
| for (; true; ){ |
| ; |
| } |
| |
| for (;;){ |
| ; |
| } |
- 조건문을 생략하는 경우에도 true가 default이므로 무한 반복문이 실행된다.
| #include <iostream> |
| |
| int main() { |
| for (int i = 0; true; i++) { |
| std::cout << i << " "; |
| } |
| return 0; |
| } |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...
- 범위 기반 for 문 (C++11 이상)
- 이터러블한 자료구조의 원소를 다음과 같은 구문으로 하나씩 꺼낼 수 있다.
| for (datatype name: iterator){ |
| ; |
| } |
출력
| #include <iostream> |
| |
| int main() { |
| int a[5] = { 1, 3, 5, 7, 9 }; |
| |
| for (int i: a) { |
| std::cout << "i = " << i << std::endl; |
| } |
| |
| return 0; |
| } |
| i = 1 |
| i = 3 |
| i = 5 |
| i = 7 |
| i = 9 |