C언어 반복문과 조건문 do~while

    2018-02-06 13:45:53 작성

    do ~ while

    do {
        반복 실행될 문장
    } while (조건식);

    do ~ while문도 while문과 같이 반복문입니다.
    한가지 차이점은 반복문 조건식의 위치가 아래쪽에 있어 최소 한번은 실행이 된다는 것입니다.
    문장의 끝맺음을 ;으로 해야합니다.

    다음의 코드를 보면 더 쉽게 이해가 될 것입니다.
    사용자에게 정수를 입력받고 0이 아니면 0을 입력할때 까지 입력받은 정수들의 합을 구하는 프로그램입니다.

    #include <stdio.h>
    
    int main(void) {
        int sum =0, num;
        do {
            printf("정수를 입력하세요(0 : 종료) : ");
            scanf("%d", &num);
            sum += num;
        } while (num);
        printf("합계 : %d\n", sum);
        return 0;
    }


    위와 같은 프로그램은 최소 한번은 입력 받아야 하기 때문에 do ~ while문으로 작성하는것이 자연스러울 것입니다.
    조건식이 num != 0이 아닌 num 이라고 한것은 다시 한번 말씀 드리지만 C에서는 0을 제외한 모든 수는 참이기 때문에 사용자가 0을 입력하면 조건식이 거짖이 되어 반복문을 빠져나오게 됩니다.



    연습문제

    1. 위에 작성된 do ~ while문의 예제를 while문으로 작성해보세요.
    do ~ while문이 while문 보다 자연스러운 것을 느끼실 수 있을 겁니다.

    2. 구구단 출력프로그램을 do ~ while문으로 작성해 보세요.