28.5 반복 횟수가 정해지지 않은 경우

while 반복문과 마찬가지로 do while 반복문도 반복 횟수가 정해지지 않았을 때 주로 사용합니다. 단, while 반복문과는 달리 최소 한 번은 실행된다는 점이 차이가 있습니다.

다음은 do while 반복문 안에서 무작위로 정수를 생성한 뒤 3이 나오면 반복을 끝냅니다.

do_while_random.c

#include <stdio.h>
#include <stdlib.h>    // srand, rand 함수가 선언된 헤더 파일
#include <time.h>      // time 함수가 선언된 헤더 파일

int main()
{
    srand(time(NULL));    // 현재 시간값으로 시드 설정

    int i = 0;
    do
    {
        i = rand() % 10;    // rand 함수를 사용하여 무작위로 정수를 생성한 뒤 10 미만의 숫자로 만듦
        printf("%d\n", i);
    } while (i != 3);      // 3이 아닐 때 계속 반복

    return 0;
}

실행 결과

1
5
6
3
↑ 무작위 생성이므로 실행할 때마다 달라짐

do 부분에서 최소 한 번은 무작위로 정수를 생성하여 출력합니다. 그다음에 조건식 i != 3에 따라 i가 3이 아니면 계속 반복합니다.