do-while 문 (C)do-while Statement (C)

do-while 문을 사용하면 지정된 식이 false가 될 때까지 문이나 복합 문을 반복할 수 있습니다.The do-while statement lets you repeat a statement or compound statement until a specified expression becomes false.


do statement while ( expression ) ;do statement while ( expression ) ;

do-while 문의 expression은 루프의 본문이 실행된 후 평가됩니다.The expression in a do-while statement is evaluated after the body of the loop is executed. 따라서 루프의 본문은 항상 한 번 이상 실행됩니다.Therefore, the body of the loop is always executed at least once.

expression은 산술 형식이나 포인터 형식이어야 합니다.The expression must have arithmetic or pointer type. 다음과 같이 실행됩니다.Execution proceeds as follows:

  1. 문 본문이 실행됩니다.The statement body is executed.

  2. 다음으로, expression이 평가됩니다.Next, expression is evaluated. expression이 false인 경우 do-while 문이 종료되고 프로그램의 다음 문으로 제어가 전달됩니다.If expression is false, the do-while statement terminates and control passes to the next statement in the program. expression이 true(0이 아님)인 경우에는 프로세스가 1단계부터 반복됩니다.If expression is true (nonzero), the process is repeated, beginning with step 1.

    do-while 문은 문 본문 내에서 break, goto 또는 return 문이 실행되는 경우에도 종료될 수 있습니다.The do-while statement can also terminate when a break, goto, or return statement is executed within the statement body.

    다음은 do-while 문의 예제입니다.This is an example of the do-while statement:

    y = f( x );  
} while ( x > 0 );  

do-while 문에서는 y = f( x );의 초기 값과 관계없이 x--;x 문이 실행됩니다.In this do-while statement, the two statements y = f( x ); and x--; are executed, regardless of the initial value of x. 그런 다음 x > 0이 평가됩니다.Then x > 0 is evaluated. x가 0보다 크면 문 본문이 다시 실행되고 x > 0이 다시 평가됩니다.If x is greater than 0, the statement body is executed again and x > 0 is reevaluated. x가 0보다 크게 유지되는 한 문 본문은 반복해서 실행됩니다.The statement body is executed repeatedly as long as x remains greater than 0. do-while 문의 실행은 x가 0이나 음수가 될 때 종료됩니다.Execution of the do-while statement terminates when x becomes 0 or negative. 루프의 본문은 최소한 한 번 실행됩니다.The body of the loop is executed at least once.

참고 항목See Also

do-while 문(C++)do-while Statement (C++)