반복문 (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++의 함수와 재귀에 대해 다룰 것입니다.
내일은 "함수와 재귀"에 대해 다룰 예정입니다. 질문이나 피드백이 있으면 댓글로 남겨 주세요!
'-----ETC----- > C++ 마스터 시리즈' 카테고리의 다른 글
[C++ 마스터] Day 8: 배열과 문자열 (0) | 2024.08.01 |
---|---|
[C++ 마스터] Day 5: 조건문과 제어 구조 (0) | 2024.08.01 |
[C++ 마스터] Day 4: 연산자와 표현식 (0) | 2024.08.01 |
[C++ 마스터] Day 3: 변수와 데이터 타입 (0) | 2024.08.01 |
[C++ 마스터] Day 2: 기본 문법과 Hello World 프로그램 (0) | 2024.08.01 |