[[분류:가져온 문서/오메가]] Do while / Do while loop 프로그래밍 언어에서 지정된 코드 영역을 불리언 조건에 따라 반복하는 제어 흐름문이다. 그러나, 다른 대부분의 언어와 달리 포트란의 경우 do 루프는 for문과 유사하다. == 개요 == Do while의 기본 구조는 다음과 같은 두 가지 주요 부분으로 구성된다. 1. 코드 블록: 반복적으로 실행될 하나 이상의 명령어 집합이다. 2. 조건식: 코드 블록이 실행된 후 평가되는 불리언 표현식이다. 이 조건식의 결과가 참(true)이면 코드 블록을 다시 실행하고, 거짓(false)이면 루프를 종료하고 다음 명령어로 넘어간다. 먼저 블록 안의 코드가 실행되며 다음 조건식이 평가된다. 조건이 참이면 블록 안의 코드가 실행되며, 조건이 거짓이 될 때까지 반복한다. 먼저 블록을 실행한 이후에 조건을 검사하므로 최소한 한 번은 실행된다.[* 사용자 입력을 받아 처리하거나, 특정 초기화 작업을 수행한 후 반복 여부를 결정해야 하는 상황 등에서 유용하다.] 그래서 선실행 후조건 검사 방식이라고도 칭한다. 반대로 while문은 실행 전에 조건을 평가한다. == 무한 루프 == 항상 참으로 만들어 무한 루프를 만들 수 있으며, 특정 이벤트가 발생할 때까지 계속 대기해야 하는 서버 프로그램이나 임베디드 시스템과 같은 경우엔 유용하게 쓸 수 있다. 그러나 의도되지 않은 무한 루프는 심각한 오류를 유발할 수 있으며, 이러한 루프를 종료하기 위해 break문 등의 제어 구조를 사용할 수 있다. == 문법 == [[C언어]]의 예는 아래와 같다. {{{#!syntax C do { statements; } while(condition); }}} 이 루프는 먼저 괄호 내의 코드를 실행한다. 그 다음으로 조건을 체크한다. 조건이 참이면 코드 블록을 다시 실행한다. 거짓이 될 때까지 조건의 체크를 반복한다. == 영상 == [youtube(g9ElsRGLGcY)] [Include(틀:가져옴2,O=오메가, C=[[https://creativecommons.org/licenses/by-nc-sa/3.0/deed.ko|CC BY-NC-SA 3.0]])]