2015년 5월 18일 월요일

C/C++ 의 do ~ while 반복문

 반복문에 사용되는 do~while 의 문법은 다음과 같다.

do {
   실행문;
   ...
} while(조건문);

while문과 차이점은 실행문이 처음에 한번은 무조건 실행된다는 것이다. 그 이후 while 뒤의 조건문을 체크하여 참이면 do 블럭을 다시 수행하고 거짓이면 그대로 반복을 종료한다.  초보자가 주의할 점은 while()문 뒤의 세미콜론을 빠뜨리기 쉽다는 것이다.
 다음이 do-while문의 예인데 1부터 100까지의 합을 구하는 것으로서 결과는 앞의 예제들과 같다.

int ia=1, isum=0;
do {
   isum += ia;
} while(ia++ < 100);

while 뒤의 조건문을 잘 파악하면 ia가 1부터 정확히 100까지 do 블럭을 반복한다는 것을 알 수 있다.

 다른 예를 들어보자.

#include <stdio.h>
int main() {
   int ia;
   printf(“Input a positive integer : “);
   do {
       scanf(“%d”, &ia)
   } while(ia<=0);
}

이 예는 사용자가 양의 정수를 입력할 때 까지 do 블럭 안의 scanf()함수를 실행한다.  왜냐면 0이나 음수를 입력하면 while 문 뒤의 조건문이 참이 되어 do 블럭을 다시 수행하기 때문이다. 양수가 입력되면 반복문이 종료된다.



댓글 없음:

댓글 쓰기