관우는 왜 C 언어를 살육했나? [2-4] 반복문(do while문)
by
3.3 do while문
do while문 역시 조건식을 만족할 때까지 자신의 코드 블록을 반복하는 문법입니다. 그런데 조건을 만족하지 않아도 무조건 루프의 본문을 한 번은 실행합니다. 구조는 다음과 같습니다.
do
{
// 본문
}
while(조건식);
조건식 : while문이 수행될 조건이 있는 곳입니다. 예를 들어 변수 i가 5보다 작은 동안만 수행하는 조건은 i < 5입니다.
for문을 사용해서 1씩 작아지는 변수가 0보다 클 때까지만 출력하는 예제를 만들어보겠습니다.
#include <stdio.h>
int main(void) {
int i;
i = 5;
do
{
printf("i = %d\n", i);
i--;
}
while(i > 0);
return 0;
}
[출력]
i = 5
i = 4
i = 3
i = 2
i = 1
결과를 보니 while문과 다를 바가 없어보입니다.
학습하는 차원에서 초기화, 조건식, 증감식을 찾아보세요.
- 초기화 : i = 0;
- 조건식 : i > 0
- 증감식 : i–;
그런데 위 예제에서 변수 i의 초깃값을 -1로 주면 어떻게 될까요?
do while문의 출력 결과는 다음과 같습니다.
[출력]
i = -1
하지만 while문 예제에서는 무엇도 출력하지 않습니다.
do while문의 흐름은 다음과 같습니다.
for문, while문, do while문에 대해 살펴봤습니다. 세 반복문 모두 기계어로 번역되었을 때 성능상 차이는 없습니다. 따라서 더 적합한 경우에 사용하면 됩니다.
for문은 명확하게 초기화와 반복식을 확인할 수 있습니다. while문은 초기화 변화가 없거나 반복식이 없을 때 더 적합합니다. do while 문은 무조건 한 번은 실행야 할 때 적합니다. 정리하면 다음과 같습니다.
for문 : 변수 초기화가 필요한 경우 while문 : 무한 반복을 하거나, 변수 초기화나 증감식이 불필요한 경우 do while문 : 반복 대상을 무조건 한 번은 수행해야 하는 경우
殺
Subscribe via RSS