C++ 초급 - 3. 제어문 (2 - 반복문 (Loops))

2025. 2. 12. 16:37프로그래밍 언어/C++

📌 3.2 반복문 (Loops)

반복문(Loops)은 특정 조건이 만족될 때까지 코드 블록을 실행하는 구조이다.
반복문을 사용하면 코드를 효율적으로 작성하고, 중복을 줄일 수 있다.

C++에서 대표적인 반복문은 다음과 같다.

  1. for 문
  2. while 문
  3. do-while 문

(1) for 문 (For Loop)

for 문은 반복 횟수가 정해진 경우 사용한다.
반복문이 실행될 때마다 초기화 → 조건 검사 → 실행 → 증감 순서로 동작한다.

📌 기본 구조

for (초기화; 조건; 증감) {
    // 실행할 코드
}

📌 예제 1: for 문을 이용한 반복 출력

#include <iostream>

int main() {
    for (int i = 1; i <= 5; i++) {
        std::cout << "반복 횟수: " << i << std::endl;
    }
    return 0;
}

🔹 출력 결과

반복 횟수: 1
반복 횟수: 2
반복 횟수: 3
반복 횟수: 4
반복 횟수: 5

💡 설명

  • i = 1 → 초기화
  • i <= 5 → 조건 검사
  • std::cout << i; 실행
  • i++ → 증감 후 다시 조건 검사

📌 예제 2: for 문을 이용한 합계 계산

#include <iostream>

int main() {
    int sum = 0;

    for (int i = 1; i <= 10; i++) {
        sum += i;
    }

    std::cout << "1부터 10까지의 합: " << sum << std::endl;
    return 0;
}

🔹 출력 결과

1부터 10까지의 합: 55

📌 예제 3: for 문과 배열 사용

#include <iostream>

int main() {
    int numbers[] = {10, 20, 30, 40, 50};

    for (int i = 0; i < 5; i++) {
        std::cout << "배열 요소: " << numbers[i] << std::endl;
    }

    return 0;
}

🔹 출력 결과

배열 요소: 10
배열 요소: 20
배열 요소: 30
배열 요소: 40
배열 요소: 50

💡 배열을 사용할 때 for 문을 활용하면 요소를 쉽게 순회할 수 있다.


(2) while 문 (While Loop)

while 문은 조건이 true인 동안 계속 실행된다.
반복 횟수가 정해지지 않은 경우 적합하다.

📌 기본 구조

while (조건) {
    // 실행할 코드
}

📌 예제 1: while 문을 이용한 카운트다운

#include <iostream>

int main() {
    int count = 5;

    while (count > 0) {
        std::cout << "카운트다운: " << count << std::endl;
        count--;  // 감소 연산
    }

    std::cout << "발사!" << std::endl;
    return 0;
}

🔹 출력 결과

카운트다운: 5
카운트다운: 4
카운트다운: 3
카운트다운: 2
카운트다운: 1
발사!

💡 설명

  • count 값이 0보다 클 때만 실행됨.
  • count--로 값이 감소하여 결국 조건이 false가 되어 반복 종료.

📌 예제 2: while 문을 이용한 사용자 입력 처리

사용자가 0을 입력할 때까지 계속 숫자를 입력받아 합을 구하는 프로그램.

#include <iostream>

int main() {
    int num, sum = 0;

    std::cout << "숫자를 입력하세요 (0을 입력하면 종료): ";
    std::cin >> num;

    while (num != 0) {
        sum += num;
        std::cout << "숫자를 입력하세요 (0을 입력하면 종료): ";
        std::cin >> num;
    }

    std::cout << "입력한 숫자의 합: " << sum << std::endl;
    return 0;
}

🔹 입력 예시

숫자를 입력하세요 (0을 입력하면 종료): 5
숫자를 입력하세요 (0을 입력하면 종료): 3
숫자를 입력하세요 (0을 입력하면 종료): 8
숫자를 입력하세요 (0을 입력하면 종료): 0

🔹 출력 결과

입력한 숫자의 합: 16

💡 사용자 입력을 받을 때 while 문을 활용하면 유용하다.


(3) do-while 문 (Do-While Loop)

do-while 문은 최소 한 번 실행한 후, 조건이 true이면 반복 실행된다.
즉, while 문과 달리 조건이 false여도 한 번은 반드시 실행된다.

📌 기본 구조

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

📌 예제 1: do-while 문을 이용한 사용자 입력 반복

#include <iostream>

int main() {
    int num;

    do {
        std::cout << "1부터 10 사이의 숫자를 입력하세요: ";
        std::cin >> num;
    } while (num < 1 || num > 10);

    std::cout << "입력한 숫자: " << num << std::endl;
    return 0;
}

🔹 입력 예시

1부터 10 사이의 숫자를 입력하세요: 15
1부터 10 사이의 숫자를 입력하세요: 0
1부터 10 사이의 숫자를 입력하세요: 7

🔹 출력 결과

입력한 숫자: 7

💡 설명

  • 사용자가 올바른 범위(1~10)를 입력할 때까지 반복 실행됨.

📌 for vs while vs do-while 비교

반복문 특징 사용 예제
for 반복 횟수가 정해진 경우 for (int i = 0; i < 10; i++)
while 조건이 true인 동안 실행 while (num != 0) {...}
do-while 최소 한 번 실행 후 조건 검사 do {...} while (num < 10);

💡 정리

  • 반복 횟수를 알고 있으면 for 문을 사용하는 것이 좋다.
  • 조건에 따라 반복 실행이 필요하면 while 문이 적합하다.
  • 사용자 입력을 최소 한 번 실행해야 하면 do-while 문이 적절하다.

정리

반복문 설명  사용 예제
for 문 반복 횟수가 정해진 경우 for (int i = 0; i < 10; i++) {...}
while 문 조건이 true인 동안 실행 while (num != 0) {...}
do-while 문 최소 한 번 실행 후 조건 검사 do {...} while (num < 10);