프로그래밍 언어 활용
do~while문
원본 77~78쪽
do~while문은 조건이 참인 동안 정해진 문장을 반복 수행하다가 조건이 거짓이면 반복문을 벗어나는 while문과 같은 동작을 하는데, 다른 점은 do~while문은 실행할 문장을 무조건 한 번 실행한 다음 조건을 판단하여 탈출 여부를 결정한다는 것이다.
do~while문은 실행할 문장을 우선 실행한 후 조건을 판별하여 조건이 참이면 실행할 문장을 계속 반복 수행하고, 거짓이면 do~while문을 끝낸 후 다음 코드를 실행한다.
| 실행할 문장 | 참 | 조건 | 거짓 | 다음 코드 | ||
|---|---|---|---|---|---|---|
do~while문의 동작 과정
• 형식
do
실행할 문장;
do는 do~while문에 사용되는 예약어로, do~while의 시작 부분에 그대로 입력한다. 조건이 참인 동안 실행할 문장을 입력한다. 문장이 두 문장 이상인 경우 { }를 입력하고 그 사이에 실행할 문장들을 입력한다.
while(조건);
while은 do~while문에 사용되는 예약어로, do~while의 끝 부분에 그대로 입력한다.
(조건) : 참이나 거짓을 결과로 갖는 수식을 ‘조건’에 입력한다. 참(1)을 직접 입력할 수도 있다.
램이다. 결과를 확인하시오.
#include <stdio.h>
main( )
{
int a = 1, hap = 0;
do ❶
{ ❷
hap += a; ❸
do~while 반복문의 시작점이다. ❷~❺번 사이의 문장을 반복하여 수행한다. ❷~❺번까지가 반복문의 범위이다.
‘hap = hap + a’와 동일하다. a의 값을 hap에 누적시킨다. ‘a = a + 2;’와 동일하다. a의 값을 2씩 증가시킨다.
a += 2; ❹
} while(a < 10); ❺
a가 10보다 작은 동안 ❷~❺번 사이의 문장을 반복하여 수행한다.
printf(“%d, %d\n”, a, hap); ❻
11, 25
결과a가 9가 되었을 때 9를 hap에 누적한 다음 a에 2를 더해 a가 11이 되었을 때 do~while문을 벗어나기 때문에 a는 11로 끝난다.
}