C++ while, do-while
1. 개요
1.1 문서 개요
이 문서는 C++의 반복 제어 구문 중 while
문과 do-while
문에 관해 정리한 문서입니다. 반복문은 조건이 참인 동안 특정 블록을 반복 실행하는 제어 구조로, 프로그램의 흐름을 제어하는 기본 요소 중 하나입니다. 특히 while
및 do-while
문은 조건 기반의 반복문으로서, for
문과 달리 반복 횟수보다 조건의 참/거짓 여부가 중심이 되는 구조를 가집니다.
2. 내용
2.1 while 문
while
문은 조건을 먼저 검사한 후, 조건이 참일 경우 블록을 실행합니다. 조건이 처음부터 거짓일 경우, 블록은 한 번도 실행되지 않습니다.
2.1.1 기본 문법
while (조건식) {
// 반복 실행할 코드
}
2.1.2 예시 및 동작 방식
int i = 0;
while (i < 5) {
std::cout << i << std::endl;
i++;
}
2.1.2.1 실행 순서 설명
- 변수
i
가 0으로 초기화됩니다. - 조건
i < 5
가 참인지 검사합니다. - 참이면 블록 내부 코드(
std::cout
과i++
)가 실행됩니다. - 다시 조건을 검사하여, 조건이 거짓이 될 때까지 반복합니다.
- 조건이 거짓이 되면 반복문이 종료됩니다.
2.2 do-while 문
do-while
문은 먼저 블록을 실행한 후 조건을 검사합니다. 조건이 거짓이라도 블록은 반드시 한 번 실행됩니다.
2.2.1 기본 문법
do {
// 반복 실행할 코드
} while (조건식);
2.2.2 예시 및 동작 방식
int i = 0;
do {
std::cout << i << std::endl;
i++;
} while (i < 5);
2.2.2.1 실행 순서 설명
- 변수
i
가 0으로 초기화됩니다. - 조건 검사 없이 먼저 블록이 실행됩니다.
- 블록 실행 후 조건
i < 5
를 검사합니다. - 조건이 참이면 다시 블록을 실행하고, 거짓이면 반복을 종료합니다.
2.3 while과 do-while 비교
구문 종류 | 조건 검사 시점 | 최소 실행 횟수 | 일반 용도 |
---|---|---|---|
while | 반복 전에 검사 | 0회 이상 | 조건이 처음부터 거짓일 수 있는 경우 |
do-while | 반복 후에 검사 | 1회 이상 | 최소 한 번은 실행이 필요한 경우 |
2.3.1 예제: 사용자 입력 반복
char retry;
do {
std::cout << "작업을 계속하시겠습니까? (y/n): ";
std::cin >> retry;
} while (retry == 'y' || retry == 'Y');
해당 코드는 사용자의 응답이 y
또는 Y
일 때 계속 반복되며, 한 번은 반드시 실행됩니다.
3. 마무리
C++의 while
과 do-while
문은 조건 기반 반복을 처리하는 제어 구조로서, 프로그램 흐름에서 유연한 반복 처리를 가능하게 합니다. while
문은 조건을 먼저 검사하여 실행 여부를 결정하며, do-while
문은 무조건 한 번 실행한 후 조건을 검사합니다. 반복 횟수가 명확하지 않거나 최소 한 번은 실행해야 하는 경우 등 사용 목적에 따라 적절한 반복문을 선택할 수 있습니다.