for, while, do-while의 구조, 동작 방식, 사용 목적을 자세히 설명하고, 반복문 흐름을 제어하는 키워드 break, continue의 기능과 효과까지 완전히 분석한 자료이다. 반복문이란?
반복문은 조건이 참인 동안 또는 반복 횟수가 만족될 때까지 코드 블록을 자동으로 반복 실행하도록 만들어진 제어 구조이다.
이를 통해 동일한 작업을 여러 번 수행할 수 있으며, 코드의 간결성과 재사용성을 높여준다.
반복문의 목적
C++ 반복문의 종류
| 반복문 | 특징 |
|--------|------|
| for | 반복 횟수가 명확할 때 사용. 한 줄에 초기화, 조건, 증감 포함. |
| while | 조건이 참이면 반복. 조건이 외부에서 조정됨. |
| do-while | 조건이 뒤에 있어 최소 한 번은 실행됨. 사용 빈도는 적음. |
제어 키워드
| 키워드 | 설명 |
|--------|------|
| break | 반복문을 즉시 종료하고 탈출. 하나의 루프만 빠져나옴. |
| continue | 현재 반복을 중단하고 조건 검사로 이동. 이후 코드 무시. |
| 용어 | 설명 |
|---|---|
초기화 | 반복이 시작될 때 반복 변수를 설정하는 부분 |
조건식 | 반복을 계속할지 판단하는 조건 표현식 |
증감식 | 매 반복마다 반복 변수 값을 조정하는 식 |
무한 루프 | 조건이 항상 참이어서 종료되지 않는 반복문 |
중첩 반복문 | 반복문 내부에 또 다른 반복문이 있는 구조 |
cout | C++의 표준 출력 객체 |
endl | 줄바꿈 및 출력 버퍼 플러시 |
for 반복문 기본 구조for (int i = 0; i < 5; i++) {
cout << "반복 횟수: " << i << endl;
}
int i = 0 : 반복 변수 i를 0으로 초기화.i < 5 : 조건식. i가 5 미만일 때만 반복.i++ : 반복이 끝날 때마다 i를 1 증가."반복 횟수: 0~4"가 출력됨.📌 출력:
반복 횟수: 0
반복 횟수: 1
반복 횟수: 2
반복 횟수: 3
반복 횟수: 4
while 반복문 기본 구조int count = 0;
while (count < 5) {
cout << "현재 카운트: " << count << endl;
count++;
}
count = 0 : 변수 초기화.count < 5)이면 반복 블록 실행.count++ : 반복마다 1씩 증가.📌 출력:
현재 카운트: 0
현재 카운트: 1
현재 카운트: 2
현재 카운트: 3
현재 카운트: 4
do-while 반복문int count = 0;
do {
cout << "현재 카운트: " << count << endl;
count++;
} while (count < 5);
count < 5 조건이 참이면 반복 계속.📌 출력:
현재 카운트: 0
현재 카운트: 1
현재 카운트: 2
현재 카운트: 3
현재 카운트: 4
while + continue 예제cnt = 0;
while (cnt < 5) {
cnt++;
if (cnt == 3)
continue;
cout << "Hello World" << endl;
}
cnt가 3일 때는 continue가 실행되어 "Hello World" 출력이 생략됨.📌 출력:
Hello World
Hello World
Hello World
Hello World
cnt == 3에서cout건너뜀 → 출력 4회
for + continue (의미 없는 위치)for (int i = 0; i < 100; i++) {
cout << "Hello World" << endl;
if (i == 50)
continue;
}
cout이 continue 위에 있어 항상 실행됨.continue는 사실상 의미 없음.📌 출력:
Hello World
...
(총 100회)
break 사용 예제for (int i = 0; i < 10; i++) {
if (i == 5) break;
cout << "i: " << i << endl;
}
i == 5일 때 루프 종료.i = 0 ~ 4까지만.📌 출력:
i: 0
i: 1
i: 2
i: 3
i: 4
continue 사용 예제 (홀수만 출력)for (int i = 0; i < 10; i++) {
if (i % 2 == 0) continue;
cout << "i: " << i << endl;
}
📌 출력:
i: 1
i: 3
i: 5
i: 7
i: 9
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << "(" << i << ", " << j << ")" << endl;
}
}
i가 0~2일 때마다, j도 0~2 반복.📌 출력:
(0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
(2, 1)
(2, 2)
while (true) {
cout << "무한 반복 중..." << endl;
break;
}
while (true)는 무한 반복 구조.break가 있어 첫 반복 후 종료됨.📌 출력:
무한 반복 중...
for 문은 반복 횟수가 명확할 때, while은 조건 기반 반복에 적합하며, do-while은 한 번 이상 실행해야 할 경우에 사용한다.continue는 현재 반복만 건너뛰고, break는 전체 반복문을 종료한다.while에서 continue를 쓸 경우, 조건 검사와 증감식의 위치에 주의하지 않으면 무한 루프로 빠질 수 있다.continue가 출력 이후에 오면 의미가 없으며, 위치에 따라 프로그램 흐름이 완전히 달라질 수 있다.