본문 바로가기
-----ETC-----/C++ 마스터 시리즈

[C++ 마스터] Day 6: 반복문 (for, while, do-while)

by cogito21_cpp 2024. 8. 1.
반응형

반복문 (Loops)

반복문은 특정 조건이 만족되는 동안 코드 블록을 반복 실행하는 데 사용됩니다. C++에는 for, while, do-while 반복문이 있습니다.

 

1. for 문

for 문은 초기화, 조건 검사, 증감식으로 구성된 반복문입니다. 반복 횟수가 정해져 있을 때 주로 사용합니다.

for (int i = 0; i < 5; i++) {
    cout << "i: " << i << endl;
}

 

위 코드에서 i는 0부터 시작하여 4까지 1씩 증가하며 반복됩니다.

 

2. while 문

while 문은 조건이 참인 동안 코드를 반복 실행합니다. 조건이 거짓이 되면 반복이 종료됩니다.

int i = 0;
while (i < 5) {
    cout << "i: " << i << endl;
    i++;
}

 

위 코드에서 i는 0부터 시작하여 5 미만일 때까지 1씩 증가하며 반복됩니다.

 

3. do-while 문

do-while 문은 최소 한 번 실행한 후 조건이 참인 동안 반복 실행합니다.

int i = 0;
do {
    cout << "i: " << i << endl;
    i++;
} while (i < 5);

 

위 코드에서 i는 0부터 시작하여 5 미만일 때까지 1씩 증가하며 반복됩니다. do-while 문은 최소 한 번은 실행됩니다.

 

중첩 반복문 (Nested Loops)

반복문 안에 또 다른 반복문을 사용하는 중첩 반복문도 가능합니다.

for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= 3; j++) {
        cout << "i: " << i << ", j: " << j << endl;
    }
}

 

위 코드에서는 i가 1부터 3까지 반복될 때마다 j도 1부터 3까지 반복됩니다.

break와 continue

1. break 문

break 문은 반복문을 즉시 종료시킵니다.

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;
    }
    cout << "i: " << i << endl;
}

 

위 코드에서는 i가 5가 되면 반복문이 종료됩니다.

 

2. continue 문

continue 문은 현재 반복을 건너뛰고 다음 반복을 시작합니다.

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        continue;
    }
    cout << "i: " << i << endl;
}

 

위 코드에서는 i가 5일 때 출력하지 않고 다음 반복으로 넘어갑니다.

 

예제 문제

문제 1: 1부터 100까지의 합을 계산하는 프로그램 작성

1부터 100까지의 합을 계산하고 출력하는 프로그램을 작성하세요.

 

해설:

#include <iostream>

using namespace std;

int main() {
    int sum = 0;
    for (int i = 1; i <= 100; i++) {
        sum += i;
    }
    cout << "The sum from 1 to 100 is: " << sum << endl;
    return 0;
}

 

이 프로그램은 for 문을 사용하여 1부터 100까지의 합을 계산하고 출력합니다.

 

문제 2: 구구단 출력 프로그램 작성

사용자로부터 단을 입력받아 해당 단의 구구단을 출력하는 프로그램을 작성하세요.

 

해설:

#include <iostream>

using namespace std;

int main() {
    int dan;
    cout << "Enter a number for multiplication table: ";
    cin >> dan;

    for (int i = 1; i <= 9; i++) {
        cout << dan << " * " << i << " = " << dan * i << endl;
    }

    return 0;
}

 

이 프로그램은 사용자로부터 단을 입력받아 해당 단의 구구단을 출력합니다.

 

문제 3: 별 피라미드 출력 프로그램 작성

사용자로부터 층 수를 입력받아, 해당 층 수만큼의 별 피라미드를 출력하는 프로그램을 작성하세요.

 

해설:

#include <iostream>

using namespace std;

int main() {
    int n;
    cout << "Enter the number of levels: ";
    cin >> n;

    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n - i; j++) {
            cout << " ";
        }
        for (int k = 1; k <= 2 * i - 1; k++) {
            cout << "*";
        }
        cout << endl;
    }

    return 0;
}

 

이 프로그램은 사용자로부터 층 수를 입력받아, 해당 층 수만큼의 별 피라미드를 출력합니다.

 

다음 단계

6일차의 목표는 C++의 반복문에 대해 학습하는 것이었습니다. 다음 날부터는 C++의 함수와 재귀에 대해 다룰 것입니다.

 

내일은 "함수와 재귀"에 대해 다룰 예정입니다. 질문이나 피드백이 있으면 댓글로 남겨 주세요!

반응형