산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ do-while 루프: 문법, 실전 예제, 중첩 루프

do-while 루프란?

do-while 루프는 코드 블록을 최소 한 번 실행하고, 지정된 조건이 참인 동안 계속 반복하는 제어 흐름 구조입니다. 표준 while 루프와 달리 조건이 루프 본문 후에 평가되므로, 조건의 초기값과 관계없이 최소 한 번은 실행이 보장됩니다.

언제 do-while 루프를 사용하는가?

다음 경우에 do-while 루프를 사용하세요:

문법

do {
    // 코드
} while (조건);

루프 본문이 while 조건 앞에 오므로, 컴파일러는 본문을 먼저 실행한 후 조건을 검사하여 반복 여부를 결정합니다.

작동 원리

C++ do-while 루프: 문법, 실전 예제, 중첩 루프

흐름도 단계:

  1. 루프 시작
  2. 루프 본문 실행
  3. 조건 평가
  4. true이면 2단계로 반복
  5. false이면 루프 종료 후 후속 문장 계속 실행

예제 1: do-while 루프로 카운팅

#include <iostream>
using namespace std;
int main() {
    int x = 1;
    do {
        cout << "X is: " << x << endl;
        ++x;
    } while (x < 5);
    return 0;
}

출력:

C++ do-while 루프: 문법, 실전 예제, 중첩 루프

조건 x < 5가 x가 5에 도달한 후 거짓이 되므로 1부터 4까지 출력됩니다.

예제 2: 0이 입력될 때까지 숫자 합계

#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;
}

출력:

C++ do-while 루프: 문법, 실전 예제, 중첩 루프

이 예제에서 루프는 사용자가 0을 입력할 때까지 계속되며, 최소 한 개의 숫자는 처리됨을 보장합니다.

중첩 do-while 루프

do-while 루프 안에 다른 do-while 루프를 배치하면 중첩 구조가 생성되며, 격자 출력이나 복합 계산 같은 다차원 반복에 유용합니다.

문법

do {
    // 외부 본문
    do {
        // 내부 본문
    } while (내부_조건);
} while (외부_조건);

작동 방식

실행 순서는 다음과 같습니다:

  1. 외부 변수 초기화
  2. 외부 루프 본문 진입
  3. 내부 루프 본문 진입
  4. 각 내부 반복 후 내부_조건 평가하여 내부 루프 지속 여부 결정
  5. 내부 루프 종료 후 외부 변수 업데이트 및 외부_조건 평가하여 외부 루프 반복 여부 결정

예제

#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);
    return 0;
}

출력:

C++ do-while 루프: 문법, 실전 예제, 중첩 루프

핵심 요약

C 언어

  1. 복소수를 이용한 교류 전압 덧셈 설명
  2. C++ 포인터 완전 정복: 개념, 예제, 실전 활용
  3. C++ char 타입 마스터: 선언, ASCII 코드, 문자열 변환 기법
  4. C++ 연산자 오버로딩 실전 가이드: 문법, 접근법, 코드 예제
  5. C++ 구조체(struct) 완벽 가이드: 선언, 인스턴스, 포인터, 함수 인자 전달
  6. C++ std::list 마스터하기: 문법, 함수, 실전 예제
  7. C++ 함수 완전 정복: 실전 코드 예제로 이해하기
  8. C# 컬렉션(Collections) 마스터하기: 실전 예제로 배우는 유연한 데이터 관리
  9. While vs Do-While 루프: 실전 예제로 명확히 이해하기
  10. Python str.count() 마스터하기: 문자 및 부분문자열 개수 세기 예제