Skip to Content
💻 코리아IT아카데미 신촌 - 프로그래밍 학습 자료
C++ 프로그래밍Unit 4: 반복문Topic 1: for문과 반복 기초

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 (초기화; 조건; 증감) { // 반복할 코드 }

각 부분의 역할:

  1. 초기화: 반복 시작 전 한 번만 실행
  2. 조건: 매 반복마다 확인 (true면 계속, false면 종료)
  3. 증감: 각 반복이 끝날 때마다 실행

기본 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; }

실행 순서:

  1. int i = 1 (초기화) - 한 번만 실행
  2. i <= 3 (조건 검사) - true이면 계속
  3. 반복 블록 실행
  4. i++ (증감) - 실행
  5. 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부터 사용자가 입력한 숫자까지의 합을 구하는 프로그램을 작성해보세요.
  2. 사용자가 입력한 높이만큼 별로 직각삼각형을 그리는 프로그램을 작성해보세요.

심화 실습

  1. 사용자가 입력한 숫자의 약수를 모두 출력하는 프로그램을 작성해보세요.
  2. 1부터 사용자가 입력한 수까지의 홀수만 출력하는 프로그램을 작성해보세요.

핵심 포인트

  • for문 구조: for(초기화; 조건; 증감) - 각 부분의 역할 이해 중요
  • 실행 순서: 초기화 → 조건검사 → 실행 → 증감 → 조건검사 반복
  • 중첩 for문: 2차원 패턴 생성에 유용
  • 다양한 증감: ++, --, +=, -=, *= 등 활용
  • 실용성: 합계, 팩토리얼, 패턴 생성 등 다양한 활용

다음 토픽에서는 조건에 따라 반복하는 while문과 do-while문에 대해 배워보겠습니다.

✅ for문과 반복 기초 체크리스트

Last updated on