Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

do…while 루프 대 C/C++의 while 루프

<시간/>

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