여기에서 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); |