C++ do…예제가 포함된 while 루프
do-while 루프란 무엇입니까?
do-while 루프는 다음 섹션을 반복합니다. C++ 프로그램을 여러 번 do-while 루프에서는 테스트 표현식이 루프 하단에 추가됩니다. 루프 본문은 테스트 표현식 앞에 옵니다. 그렇기 때문에 첫 번째 테스트에서 테스트 표현식이 false로 평가되는 경우에도 루프 본문이 한 번만 실행되어야 합니다.
do-while 루프는 언제 사용합니까?
do-while 루프는 반복 횟수가 고정되어 있지 않을 때 사용해야 하며 루프는 적어도 한 번 실행되어야 합니다. 그만큼 C++ 컴파일러 조건을 평가하기 전에 루프 본문을 먼저 실행합니다. 이는 루프가 결과를 반환해야 함을 의미합니다. 이는 첫 번째 평가에서 테스트 조건이 거짓으로 평가된 경우에도 마찬가지입니다. 루프 본문이 이미 실행되었으므로 결과를 반환해야 합니다.
통사론
기본 구문 C++ while 루프를 수행하는 방법은 다음과 같습니다.
do{ //code }while(condition);
조건은 테스트 표현식입니다. 루프가 실행되려면 true여야 합니다. { 및 }는 do while 루프의 본문을 표시합니다. 조건보다 먼저 옵니다. 따라서 조건보다 먼저 실행됩니다.
do-while 루프는 어떻게 작동하나요?
흐름도 설명:
- do while 루프를 시작합니다.
- do while 루프의 본문입니다.
- 평가할 테스트 표현식 또는 조건입니다.
- 테스트 표현식이 참인 경우, C++ 컴파일러가 do while 루프의 본문을 실행했습니다.
- 테스트 표현식이 거짓인 경우 C++ 컴파일러는 루프 본문 뒤의 명령문을 실행합니다.
- 루프 본문 뒤에 오는 명령문입니다.
예제 1
#include <iostream> using namespace std; int main() { // Local variable int x = 1; do { cout << "X is: " << x << endl; x = x + 1; } while (x < 5); return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명 :
- 코드에 iostream 헤더 파일을 포함합니다. 이를 통해 콘솔에서 읽고 쓸 수 있습니다.
- 클래스와 함수를 호출하지 않고 사용할 수 있도록 std 네임스페이스를 포함합니다.
- 프로그램의 논리를 추가해야 하는 main() 함수를 호출합니다. {는 main() 함수 본문의 시작을 표시합니다.
- 코멘트. 그만큼 C++ 컴파일러는 이것을 건너뜁니다.
- 정수 변수 x를 선언하고 값 1을 할당합니다.
- do-while 루프를 만듭니다. {는 루프 본문의 시작을 표시합니다.
- 콘솔의 다른 텍스트와 함께 변수 x의 값을 인쇄합니다. 엔드는 C++ 끝 줄을 의미하는 키워드입니다.
- 매 반복마다 x 값을 1씩 증가시킵니다.
- 루프 본문의 끝입니다. 루프 본문 끝에 테스트 표현식이 추가되었습니다. x 값이 5보다 작은지 테스트합니다.
- 프로그램이 정상적으로 실행되면 main() 함수는 값을 반환해야 합니다.
- main() 함수 본문의 끝입니다.
예제 2
#include <iostream> using namespace std; int main() { int num, sum = 0; do { cout << "Enter a number: "; cin >> num; sum += num; } while (num != 0); cout << "Sum is " << sum; return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명 :
- 코드에 iostream 헤더 파일을 포함합니다. 이를 통해 콘솔에서 읽고 쓸 수 있습니다.
- 클래스와 함수를 호출하지 않고 사용할 수 있도록 std 네임스페이스를 포함합니다.
- 프로그램의 논리를 추가해야 하는 main() 함수를 호출합니다.
- {는 main() 함수 본문의 시작을 표시합니다.
- 두 개의 정수 변수 num 및 sum을 선언합니다. 변수 sum이 0으로 초기화되었습니다.
- do-while 루프를 만듭니다. {는 루프 본문의 시작을 표시합니다.
- 콘솔에 "Enter a number:" 텍스트를 인쇄합니다.
- 콘솔에서 사용자 입력을 읽고 값을 변수 num에 저장합니다. cin(콘솔 입력)은 사용자 입력을 읽는 함수입니다.
- sum 값에 num 값을 더하고 결과를 변수 sum에 저장합니다.
- }는 루프 본문의 끝을 표시합니다. 테스트 표현식은 루프 본문의 끝에 추가되었습니다. 사용자가 입력한 값이 0이 아닌지 확인하기 위해 테스트합니다. !=는 같지 않음 연산자입니다. 사용자가 0을 입력하면 루프가 종료되어야 합니다.
- 다른 텍스트와 함께 콘솔에 변수 sum의 값을 인쇄합니다.
- 프로그램이 정상적으로 실행되면 main() 함수는 값을 반환해야 합니다.
- main() 함수 본문의 끝입니다.
중첩된 Do While 루프
In C++, 다른 do-whole 루프 안에 하나의 do-while 루프를 만드는 것이 가능합니다. 이로 인해 중첩된 do-while 루프가 생성됩니다.
통사론
do{ statement(s) do{ statement(s) }while(condition); statement(s) }while(condition);
첫 번째 do 문은 외부 do-while 루프의 do 부분을 나타냅니다.
두 번째 do 문은 내부 do-while 루프의 do 부분을 나타냅니다.
첫 번째 while 문은 내부 루프의 테스트 조건을 나타냅니다.
두 번째 while 문은 외부 루프에 대한 테스트 조건을 나타냅니다.
중첩 Do While 루프가 작동하는 방식
중첩된 do while 루프는 다음과 같이 작동합니다.
1 단계 : 초기화는 처음에 한 번 실행됩니다.
2 단계 : 명령문(do)은 한 번 실행됩니다.
3 단계 : 테스트 표현식은 흐름 제어에 의한 평가입니다.
4 단계 : true인 경우 내부 루프가 실행됩니다.
5 단계 : 업데이트 문이 업데이트되었습니다.
6 단계 : 테스트 표현식이 false가 될 때까지 프로세스가 반복적으로 실행됩니다.
7 단계 : 테스트 표현식이 거짓이 되면 내부 루프가 종료되고 제어가 외부 루프로 점프됩니다.
8 단계 : 테스트 조건이 다시 평가됩니다.
9 단계 : true인 경우 명령문이 실행되어 false를 반환합니다.
10 단계 : 루프 실행이 중지되고 제어가 루프 이후 명령문으로 이동합니다.
예시
#include <iostream> using namespace std; int main() { int a = 1; do { int b = 1; do { cout << a << "\n"; b++; } while (b <= 3); a++; } while (a <= 3); }
출력:
다음은 코드의 스크린샷입니다.
코드 설명 :
- 코드에 iostream 헤더 파일을 포함합니다. 이를 통해 콘솔에서 읽고 쓸 수 있습니다.
- 클래스와 함수를 호출하지 않고 사용할 수 있도록 std 네임스페이스를 포함합니다.
- 프로그램의 논리를 추가해야 하는 main() 함수를 호출합니다. {는 main() 함수 본문의 시작을 표시합니다.
- 정수 변수 a를 선언하고 값 1을 할당합니다.
- 외부 do-while 루프를 만듭니다. {는 외부 루프 본문의 시작을 표시합니다.
- 정수 변수 b를 선언하고 값 1을 할당합니다.
- 내부 do-while 루프를 만듭니다. {는 내부 루프 본문의 시작을 표시합니다.
- 콘솔에 변수 a의 값을 인쇄합니다. "\n"은 마우스 커서를 다음 줄로 이동시키는 새 줄 문자입니다.
- 매 반복마다 b 값을 1씩 증가시킵니다.
- 내부 루프 몸체의 끝입니다. 루프 본문 끝에 테스트 표현식이 추가되었습니다. b 값이 5보다 작거나 같은지 테스트합니다.
- 매 반복마다 a의 값을 1씩 증가시킵니다.
- 외부 루프 몸체의 끝입니다. 루프 본문 끝에 테스트 표현식이 추가되었습니다. a의 값이 3보다 작거나 같은지 테스트합니다.
- main() 함수 본문의 끝입니다.
제품 개요
- do-while 루프는 코드 섹션을 여러 번 실행합니다.
- 반복 횟수가 고정되어 있지 않은 경우에 사용해야 합니다.
- do-while 루프에서는 루프 본문이 테스트 표현식 앞에 옵니다.
- 테스트 표현식이 false가 되더라도 루프 본문은 한 번 이상 실행됩니다.
- 이 루프는 반복 횟수가 고정되지 않은 경우에 사용해야 합니다.
- Do while 루프는 조건이 true인 경우 여러 번 실행될 수 있습니다.
- 조건은 반복할 때마다 한 번씩 평가됩니다.
- 상태 평가 결과에 따라 취할 조치가 결정됩니다.
- 조건이 true이면 루프가 본문을 실행합니다.
- 루프 실행은 조건이 false로 평가되는 즉시 중단됩니다.
- do while 루프 본문이 이미 실행되었으므로 결과를 반환해야 합니다.