36. C++ while, do-while

C++ while, do-while

1. 개요

1.1 문서 개요

이 문서는 C++의 반복 제어 구문 중 while 문과 do-while 문에 관해 정리한 문서입니다. 반복문은 조건이 참인 동안 특정 블록을 반복 실행하는 제어 구조로, 프로그램의 흐름을 제어하는 기본 요소 중 하나입니다. 특히 whiledo-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 실행 순서 설명
  1. 변수 i가 0으로 초기화됩니다.
  2. 조건 i < 5가 참인지 검사합니다.
  3. 참이면 블록 내부 코드(std::couti++)가 실행됩니다.
  4. 다시 조건을 검사하여, 조건이 거짓이 될 때까지 반복합니다.
  5. 조건이 거짓이 되면 반복문이 종료됩니다.

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 실행 순서 설명
  1. 변수 i가 0으로 초기화됩니다.
  2. 조건 검사 없이 먼저 블록이 실행됩니다.
  3. 블록 실행 후 조건 i < 5를 검사합니다.
  4. 조건이 참이면 다시 블록을 실행하고, 거짓이면 반복을 종료합니다.

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++의 whiledo-while 문은 조건 기반 반복을 처리하는 제어 구조로서, 프로그램 흐름에서 유연한 반복 처리를 가능하게 합니다. while 문은 조건을 먼저 검사하여 실행 여부를 결정하며, do-while 문은 무조건 한 번 실행한 후 조건을 검사합니다. 반복 횟수가 명확하지 않거나 최소 한 번은 실행해야 하는 경우 등 사용 목적에 따라 적절한 반복문을 선택할 수 있습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

error: Content is protected !!
위로 스크롤