Skip to Content
💻 코리아IT아카데미 신촌 - 프로그래밍 학습 자료
C++ 프로그래밍Unit 3: 제어문Topic 1: if문과 조건 분기

Topic 1: if문과 조건 분기 🔀

학습 목표

  • if문의 기본 구조와 동작 원리를 이해할 수 있다
  • 단순 if문, if-else문, if-else if-else문을 구분하여 사용할 수 있다
  • 실생활 문제를 조건문으로 해결할 수 있다

조건문이 필요한 이유

프로그램도 현실처럼 선택을 해야 합니다!

실생활의 선택:

  • ☔ 비가 오면 → 우산을 가져간다
  • 🌞 날씨가 좋으면 → 산책을 한다
  • 🎮 시험이 끝나면 → 게임을 한다

프로그램의 선택:

if (비가_온다) { 우산_챙기기(); } else { 선글라스_챙기기(); }

단순 if문

조건이 참일 때만 실행되는 가장 기본적인 조건문입니다.

#include <iostream> using namespace std; int main() { int score = 85; if (score >= 80) { cout << "우수한 성적입니다!" << endl; cout << "장학금 대상자입니다." << endl; } cout << "프로그램이 계속 실행됩니다." << endl; return 0; }

실행 흐름:

  1. score >= 80 조건을 확인
  2. 조건이 참이면 { } 안의 코드 실행
  3. 조건이 거짓이면 { } 안의 코드를 건너뜀
  4. if문 이후의 코드 계속 실행

if-else문 - 양자택일

조건이 참일 때와 거짓일 때 각각 다른 동작을 수행합니다.

#include <iostream> using namespace std; int main() { int age; cout << "나이를 입력하세요: "; cin >> age; if (age >= 19) { cout << "성인입니다." << endl; cout << "투표권이 있습니다." << endl; } else { cout << "미성년자입니다." << endl; cout << "보호자 동의가 필요합니다." << endl; } cout << "확인이 완료되었습니다." << endl; return 0; }

if-else if-else - 다중 선택

여러 개의 조건을 순차적으로 검사하여 해당하는 조건의 코드를 실행합니다.

#include <iostream> using namespace std; int main() { int score; cout << "점수를 입력하세요: "; cin >> score; if (score >= 90) { cout << "학점: A (탁월)" << endl; } else if (score >= 80) { cout << "학점: B (우수)" << endl; } else if (score >= 70) { cout << "학점: C (보통)" << endl; } else if (score >= 60) { cout << "학점: D (미흡)" << endl; } else { cout << "학점: F (재수강)" << endl; } cout << "성적 처리가 완료되었습니다." << endl; return 0; }

중요한 특징:

  • 위에서부터 순서대로 조건을 검사
  • 첫 번째로 참인 조건의 코드만 실행하고 나머지는 건너뜀
  • else는 모든 조건이 거짓일 때 실행 (선택사항)

조건문 활용 예제

홀수/짝수 판별

#include <iostream> using namespace std; int main() { int number; cout << "정수를 입력하세요: "; cin >> number; if (number % 2 == 0) { cout << number << "는 짝수입니다." << endl; } else { cout << number << "는 홀수입니다." << endl; } return 0; }

절댓값 구하기

#include <iostream> using namespace std; int main() { int number; cout << "정수를 입력하세요: "; cin >> number; int absoluteValue; if (number >= 0) { absoluteValue = number; } else { absoluteValue = -number; } cout << number << "의 절댓값은 " << absoluteValue << "입니다." << endl; return 0; }

온도 상태 판별

#include <iostream> using namespace std; int main() { double temperature; cout << "현재 기온(°C)을 입력하세요: "; cin >> temperature; if (temperature >= 30) { cout << "매우 덥습니다. 🔥" << endl; cout << "충분한 수분 섭취를 하세요." << endl; } else if (temperature >= 20) { cout << "따뜻합니다. ☀️" << endl; cout << "활동하기 좋은 날씨입니다." << endl; } else if (temperature >= 10) { cout << "시원합니다. 🍃" << endl; cout << "가벼운 겉옷을 준비하세요." << endl; } else if (temperature >= 0) { cout << "춥습니다. ❄️" << endl; cout << "따뜻하게 입고 나가세요." << endl; } else { cout << "매우 춥습니다. 🧊" << endl; cout << "외출을 자제하고 보온에 신경 쓰세요." << endl; } return 0; }

조건문의 일반적인 실수

실수 1: 대입 연산자와 비교 연산자 혼동

// ❌ 잘못된 코드 if (x = 5) { // 대입 연산자! x에 5를 대입하고 항상 참 cout << "x는 5입니다" << endl; } // ✅ 올바른 코드 if (x == 5) { // 비교 연산자! x와 5를 비교 cout << "x는 5입니다" << endl; }

실수 2: 세미콜론 실수

// ❌ 잘못된 코드 if (x > 0); // 세미콜론으로 인해 빈 문장 cout << "양수입니다." << endl; // 항상 실행됨 // ✅ 올바른 코드 if (x > 0) // 세미콜론 없음 cout << "양수입니다." << endl; // 조건에 따라 실행

실습 과제

기초 실습

  1. 사용자로부터 숫자를 입력받아 양수, 음수, 0인지 판별하는 프로그램을 작성해보세요.
  2. 두 개의 정수를 입력받아 더 큰 수를 출력하는 프로그램을 작성해보세요.

심화 실습

  1. 사용자의 나이를 입력받아 다음과 같이 분류하는 프로그램을 작성해보세요:
    • 0~12세: 어린이
    • 13~19세: 청소년
    • 20~59세: 성인
    • 60세 이상: 노인

핵심 포인트

  • 단순 if문: 조건이 참일 때만 실행
  • if-else문: 참/거짓 두 가지 경우 모두 처리
  • if-else if-else문: 여러 조건을 순차적으로 검사
  • 실행 흐름: 조건 검사 → 해당 블록 실행 → 이후 코드 계속 실행
  • 주의사항: = (대입)과 == (비교) 구분, 세미콜론 위치 주의

다음 토픽에서는 조건문에서 사용하는 비교 연산자와 논리 연산자에 대해 자세히 배워보겠습니다.

✅ if문과 조건 분기 체크리스트

Last updated on