logo

do...C의 while 루프

C 언어의 루프는 주어진 조건이 만족될 때까지 코드의 일부를 반복하는 데 사용되는 제어 흐름 문입니다. 그만큼 do-while 루프 C의 세 가지 루프 문 중 하나이며 나머지는 while 루프와 for 루프입니다. 주로 배열, 벡터 및 기타 데이터 구조를 탐색하는 데 사용됩니다.

C에서 do…while 루프란 무엇입니까?

그만큼 do…C에 있는 동안 주어진 조건이 충족될 때까지 코드의 일부를 반복하는 데 사용되는 루프 문입니다. 의 형태이다 종료 제어 또는 사후 테스트 루프 여기서 루프 본문을 실행한 후 테스트 조건을 확인합니다. 이로 인해 do…while 루프의 명령문은 조건에 관계없이 항상 적어도 한 번 실행됩니다.



C의 do…while 루프 구문

 do { // body of do-while loop } while ( condition );>

C에서 do…while 루프를 사용하는 방법

다음 예에서는 C 프로그래밍 언어에서 do…while 루프를 사용하는 방법을 보여줍니다.








// C Program to demonstrate the use of do...while loop> #include> int> main()> {> >// loop variable declaration and initialization> >int> i = 0;> >// do while loop> >do> {> >printf>(>'Geeks '>);> >i++;> >}>while> (i <3);> >return> 0;> }>

>

>

산출

Geeks Geeks Geeks>

do…while 루프는 어떻게 작동하나요?

while 루프 구문 수행

do while 루프의 구문 구조

do…while 루프의 작동 방식은 아래에 설명되어 있습니다.

  1. 프로그램 제어가 처음 do…while 루프에 올 때, 루프의 본문이 먼저 실행된 다음 테스트 조건/표현식이 확인됩니다. , 테스트 조건을 먼저 확인하는 다른 루프와는 다릅니다. 이 속성으로 인해 do…while 루프는 종료 제어 루프 또는 사후 테스트 루프라고도 합니다.
  2. 테스트 조건이 다음과 같이 평가될 때 진실 , 프로그램 제어가 시작됩니다 루프와 본문이 한 번 더 실행됩니다.
  3. 위의 과정은 테스트 조건이 true가 될 때까지 반복됩니다.
  4. 테스트 조건이 다음과 같이 평가될 때 거짓, 프로그램 제어는 다음 명령문으로 이동합니다. do…while 루프 뒤에.

C의 while 루프와 마찬가지로 초기화 및 업데이트는 do…while 루프 구문의 일부가 아닙니다. 우리는 루프 이전과 루프에서 각각 명시적으로 이를 수행해야 합니다.

아래 순서도는 C에서 do…while 루프의 흐름을 시각적으로 표현한 것입니다.

C do…while 루프 흐름도

C의 do...while 루프 흐름도

C의 do…while 루프 흐름도

C의 중첩 do…while 루프

다른 루프와 마찬가지로 하나의 do…while 루프를 다른 루프에 중첩할 수도 있습니다. 다음 C 프로그램을 사용하여 설명합니다.

C의 중첩된 do…while 루프의 예:




// C Program to demonstrate the nesting of do...while loop> #include> int> main()> {> >// declaring loop variables> >int> i = 0, j;> >int> count = 0;> >// outer loop starts> >do> {> >j = 0;> >// inner loop starts> >do> {> >printf>(>'%d '>, count++);> >j++;> >}>while> (j <3);> >// inner loop ends> >printf>(>' '>);> >i++;> >}>while> (i <3);> >// outer loop ends> >return> 0;> }>

>

>

산출

0 1 2 3 4 5 6 7 8>

C의 중첩 루프에 대한 자세한 내용은 이 문서 - 예제가 포함된 C의 중첩 루프를 참조하세요.

C의 do…while 루프의 예

예제 1. C 처음부터 조건이 거짓인 경우 do…while 루프의 동작을 보여주는 프로그램입니다.


문자열을 json 객체로



// C Program to demonstrate the do...while loop behaviour> // when the condition is false from the start> #include> #include> int> main()> {> >// declaring a false variable> >bool> condition =>false>;> >do> {> >printf>(>'This is loop body.'>);> >}>while> (condition);>// false condition> >return> 0;> }>

>

>

산출

This is loop body.>

보시다시피 처음에는 조건이 거짓이더라도 루프 본문은 한 번만 실행됩니다. do…while 루프에서는 바디를 거쳐서 조건을 확인하기 때문에 컨트롤이 시작되면,

  1. 루프 몸체를 통과합니다.
  2. 본문의 모든 문을 실행합니다.
  3. 거짓으로 판명된 조건을 확인합니다.
  4. 그런 다음 루프를 종료합니다.

예제 2. do…while 루프를 사용하여 N의 곱셈표를 인쇄하는 C 프로그램

다음 예에서는 N의 곱셈표를 인쇄하기 위해 do…while 루프를 사용하는 방법을 보여줍니다.




// C Program to print multiplication table using do...while> // loop> #include> int> main()> {> >int> N = 5, i = 1;> >do> {> >printf>(>'%d x %d = %d '>, N, i, N * i);> >}>while> (i++ <10);> >return> 0;> }>

>

자바의 버블 정렬
>

산출

5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 5 x 10 = 50>

C의 while 루프와 do...while 루프의 차이점

다음 표에는 중요한 사항이 나열되어 있습니다. while과 do…while 루프의 차이점 C에서

while 루프

do…while 루프

테스트 조건이 확인됩니다 루프 본문이 실행되기 전에. 테스트 조건이 확인됩니다 시체를 실행 한 후.
조건이 거짓일 때, 본체가 실행되지 않음 심지어 한 번. 본체 do…while 루프가 적어도 한 번 실행됩니다. 조건이 거짓이더라도.
그것은 일종의 사전 테스트 또는 진입 제어 루프. 그것은 일종의 사후 테스트 또는 종료 제어 루프.
세미콜론은 필요하지 않습니다. 마지막에는 세미콜론이 필요합니다.

이러한 차이점에 대한 자세한 내용은 이 문서를 참조하세요. C, C++, Java의 while 루프와 do-while 루프의 차이점

결론

결론적으로 C에서 유일한 종료 제어 루프인 do…while 루프를 사용하는 것도 코드의 특정 부분을 반복하는 것이지만 작동 방식이 while 루프 및 for와 같은 입력 제어 루프와는 다릅니다. 고리. 순환 연결 목록을 순회하는 경우와 같이 루프 본문 내에서 명령문을 한 번 이상 실행해야 하는 경우에 유용합니다.

C do…while 루프에 대한 FAQ

1. C에는 몇 가지 유형의 루프가 있습니까?

연령: C 언어에는 세 가지 유형의 루프가 있습니다.

  1. for 루프
  2. while 루프
  3. do…while 루프

2. 입력 제어 루프 또는 사전 테스트된 루프는 무엇입니까?

연령: 입력 제어 루프 또는 사전 테스트된 루프는 루프가 본문을 실행하기 전에 조건을 확인합니다. 루프의.

3. 종료 제어 또는 사후 테스트 루프는 무엇입니까?

연령: 종료 제어 루프 또는 사후 테스트 루프는 다음과 같은 루프입니다. 프로그램 제어는 루프 상태를 확인하기 전에 루프 본문에 옵니다. .

4. 최소한 한 번 이상 실행이 보장되는 루프는 무엇입니까?

연령: 그만큼 do…while 루프 종료 제어 루프 유형이므로 루프 본문에 있는 명령문을 한 번 이상 실행하는 것이 보장됩니다.

5. 본문에 명령문이 하나만 있는 경우 C do…while 루프 구문에서 중괄호를 건너뛸 수 있습니까?

답: 아니요. , C do…while 구문에서는 while 및 for 루프와 달리 명령문이 하나만 있어도 중괄호를 건너뛸 수 없습니다.

6. do…while 루프를 사용하여 C에서 무한 루프를 만드는 방법은 무엇입니까?

연령: 다음을 지정하여 C에서 무한 루프를 만들 수 있습니다. 항상 참이 되는 조건 루프 조건으로. 아래 프로그램은 이를 수행하는 방법을 보여줍니다.




// C Program to create a infinite loop using do...while loop> // in C> #include> int> main()> {> >// infinite loop> >do> {> >printf>(>'gfg '>);> >}>while> (1);>// always 1 ~ true> >return> 0;> }>

>

>

산출

gfg gfg gfg gfg gfg gfg gfg .... (infinite)>

관련 기사: