Topic 1: for문과 반복 기초 🔁
학습 목표
- 반복문의 필요성과 개념을 이해할 수 있다
- for문의 구조와 동작 원리를 파악할 수 있다
- 다양한 형태의 for문을 작성할 수 있다
반복문이 필요한 이유
같은 작업을 여러 번 해야 하는 상황을 생각해보세요.
반복문 없이 1부터 5까지 출력:
cout << 1 << endl;
cout << 2 << endl;
cout << 3 << endl;
cout << 4 << endl;
cout << 5 << endl;
반복문으로 깔끔하게:
for(int i = 1; i <= 5; i++) {
cout << i << endl;
}
반복문은 지루한 반복 작업을 자동화하는 프로그래밍의 핵심 도구입니다!
for문의 구조
for문은 횟수가 정해진 반복에 가장 적합합니다.
for (초기화; 조건; 증감) {
// 반복할 코드
}
각 부분의 역할:
- 초기화: 반복 시작 전 한 번만 실행
- 조건: 매 반복마다 확인 (true면 계속, false면 종료)
- 증감: 각 반복이 끝날 때마다 실행
기본 for문 예제
순차적 출력
#include <iostream>
using namespace std;
int main() {
// 1부터 10까지 출력
cout << "1부터 10까지: ";
for(int i = 1; i <= 10; i++) {
cout << i << " ";
}
cout << endl;
// 10부터 1까지 역순 출력
cout << "10부터 1까지: ";
for(int i = 10; i >= 1; i--) {
cout << i << " ";
}
cout << endl;
// 2씩 증가 (짝수만 출력)
cout << "짝수만: ";
for(int i = 2; i <= 10; i += 2) {
cout << i << " ";
}
cout << endl;
return 0;
}
for문의 실행 흐름
#include <iostream>
using namespace std;
int main() {
cout << "for문 실행 과정:" << endl;
for(int i = 1; i <= 3; i++) {
cout << "반복 " << i << "번째: i = " << i << endl;
}
cout << "for문 종료" << endl;
return 0;
}
실행 순서:
int i = 1
(초기화) - 한 번만 실행i <= 3
(조건 검사) - true이면 계속- 반복 블록 실행
i++
(증감) - 실행- 2단계로 돌아가서 조건 검사 반복
다양한 for문 패턴
증감 변형
#include <iostream>
using namespace std;
int main() {
// 5씩 증가
cout << "5씩 증가: ";
for(int i = 0; i <= 20; i += 5) {
cout << i << " ";
}
cout << endl;
// 3씩 감소
cout << "3씩 감소: ";
for(int i = 15; i >= 0; i -= 3) {
cout << i << " ";
}
cout << endl;
// 2배씩 증가
cout << "2배씩 증가: ";
for(int i = 1; i <= 100; i *= 2) {
cout << i << " ";
}
cout << endl;
return 0;
}
다양한 조건과 초기값
#include <iostream>
using namespace std;
int main() {
// 문자 출력
cout << "알파벳: ";
for(char ch = 'A'; ch <= 'Z'; ch++) {
cout << ch << " ";
}
cout << endl;
// 실수 증가
cout << "실수 증가: ";
for(double d = 0.0; d <= 2.0; d += 0.5) {
cout << d << " ";
}
cout << endl;
return 0;
}
중첩 for문
for문 안에 또 다른 for문을 넣어 2차원 패턴을 만들 수 있습니다.
직사각형 패턴
#include <iostream>
using namespace std;
int main() {
cout << "3x5 직사각형:" << endl;
for(int i = 0; i < 3; i++) { // 3줄
for(int j = 0; j < 5; j++) { // 각 줄마다 5개
cout << "* ";
}
cout << endl; // 줄바꿈
}
return 0;
}
삼각형 패턴
#include <iostream>
using namespace std;
int main() {
cout << "삼각형 패턴:" << endl;
for(int i = 1; i <= 5; i++) { // 5줄
for(int j = 1; j <= i; j++) { // i번째 줄에는 i개의 별
cout << "* ";
}
cout << endl;
}
return 0;
}
구구단 출력
#include <iostream>
using namespace std;
int main() {
cout << "=== 구구단 ===" << endl;
for(int i = 2; i <= 9; i++) { // 2단부터 9단까지
cout << "[ " << i << "단 ]" << endl;
for(int j = 1; j <= 9; j++) { // 1부터 9까지
cout << i << " x " << j << " = " << i * j << endl;
}
cout << endl;
}
return 0;
}
실용적인 for문 활용
합계 계산
#include <iostream>
using namespace std;
int main() {
int sum = 0;
// 1부터 100까지의 합
for(int i = 1; i <= 100; i++) {
sum += i;
}
cout << "1부터 100까지의 합: " << sum << endl;
// 짝수의 합
int evenSum = 0;
for(int i = 2; i <= 100; i += 2) {
evenSum += i;
}
cout << "1부터 100까지 짝수의 합: " << evenSum << endl;
return 0;
}
팩토리얼 계산
#include <iostream>
using namespace std;
int main() {
int n;
cout << "팩토리얼을 구할 숫자: ";
cin >> n;
long long factorial = 1;
for(int i = 1; i <= n; i++) {
factorial *= i;
cout << i << "! = " << factorial << endl;
}
cout << n << "! = " << factorial << endl;
return 0;
}
입력값 처리
#include <iostream>
using namespace std;
int main() {
int count;
cout << "입력할 숫자의 개수: ";
cin >> count;
int sum = 0;
for(int i = 0; i < count; i++) {
int num;
cout << (i + 1) << "번째 숫자: ";
cin >> num;
sum += num;
}
cout << "합계: " << sum << endl;
cout << "평균: " << (double)sum / count << endl;
return 0;
}
for문의 변형
무한 for문
#include <iostream>
using namespace std;
int main() {
int count = 0;
for(;;) { // 초기화, 조건, 증감 모두 비워두면 무한루프
cout << "카운트: " << count << endl;
count++;
if(count >= 5) {
break; // 탈출 조건 필수!
}
}
return 0;
}
여러 변수 사용
#include <iostream>
using namespace std;
int main() {
// 여러 변수를 동시에 초기화하고 증감
for(int i = 1, j = 10; i <= 5; i++, j--) {
cout << "i = " << i << ", j = " << j << endl;
}
return 0;
}
실습 과제
기초 실습
- 1부터 사용자가 입력한 숫자까지의 합을 구하는 프로그램을 작성해보세요.
- 사용자가 입력한 높이만큼 별로 직각삼각형을 그리는 프로그램을 작성해보세요.
심화 실습
- 사용자가 입력한 숫자의 약수를 모두 출력하는 프로그램을 작성해보세요.
- 1부터 사용자가 입력한 수까지의 홀수만 출력하는 프로그램을 작성해보세요.
핵심 포인트
- for문 구조:
for(초기화; 조건; 증감)
- 각 부분의 역할 이해 중요 - 실행 순서: 초기화 → 조건검사 → 실행 → 증감 → 조건검사 반복
- 중첩 for문: 2차원 패턴 생성에 유용
- 다양한 증감:
++
,--
,+=
,-=
,*=
등 활용 - 실용성: 합계, 팩토리얼, 패턴 생성 등 다양한 활용
다음 토픽에서는 조건에 따라 반복하는 while문과 do-while문에 대해 배워보겠습니다.
✅ for문과 반복 기초 체크리스트
Last updated on