여기에서 C 또는 C++에서 do-while 루프와 while 루프의 기본적인 차이점이 무엇인지 살펴보겠습니다.
잠시 C 프로그래밍의 루프는 주어진 조건이 참인 한 대상 문을 반복적으로 실행합니다. 구문은 아래와 같습니다.
while(condition) {
statement(s);
} 여기서 문장(들)은 단일 문장 또는 문장 블록일 수 있습니다. 조건은 모든 표현식이 될 수 있으며 true는 0이 아닌 값입니다. 루프는 조건이 참인 동안 반복됩니다.
조건이 false가 되면 프로그램 제어는 루프 바로 다음 행으로 전달됩니다.
예시
#include <stdio.h>
int main () {
int a = 10; // Local variable declaration:
do { // do loop execution
printf("value of a: %d\n", a);
a = a + 1;
} while( a < 20 );
return 0;
} 출력
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19
이제 do-while 루프를 살펴보겠습니다.
루프 상단에서 루프 조건을 테스트하는 for 및 while 루프와 달리 do...while 루프는 루프 하단에서 조건을 확인합니다.
do...while 루프는 do...while 루프가 한 번 이상 실행된다는 점을 제외하면 while 루프와 유사합니다.
do {
statement(s);
}
while( condition ); 조건식은 루프의 끝에 나타나므로 조건이 테스트되기 전에 루프의 명령문이 한 번 실행됩니다.
조건이 참이면 제어 흐름이 다시 do로 점프하고 루프의 명령문이 다시 실행됩니다. 이 과정은 주어진 조건이 거짓이 될 때까지 반복됩니다.
예시
#include <stdio.h>
int main () {
/* local variable definition */
int a = 10;
/* while loop execution */
while( a < 20 ) {
printf("value of a: %d\n", a);
a++;
}
return 0;
} 출력
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19
따라서 차이점은 다음 표에 요약되어 있습니다. -
| While 루프 | Do-While 루프 |
|---|---|
| 입력 제어 루프입니다. 루프에 들어가기 전에 조건을 확인합니다. | 출구 제어 루프입니다. 루프에서 나올 때 상태 확인 |
| while 루프는 0번 이상 실행될 수 있습니다. | Do-While은 두 번 이상 실행될 수 있지만 적어도 한 번은 실행될 수 있습니다. |
| 테스트 조건의 변수는 루프에 들어가기 전에 초기화되어야 합니다. | 루프 조건에 대한 변수는 루프에서도 초기화될 수 있습니다. |
while(condition){
//statement
} | do{
//statement
}while(condition); |