본문 바로가기
C++

C++ 기초(4): 제어문- 조건문(22.04.12)

by Luden59 2022. 4. 13.

조건문

특정 조건에 따라 실행문을 실행할지 안 할지 제어


종류

1. if문

2. switch문


1. if문

  • 다양한 실행문 중 특정한 실행문을 특정한 상황에서 실행하고 싶을 때 사용한다.
  • 종류
    • 단일 if문
    • if-else문
    • 다중 if문

1-1) 단일 if문

if( [조건식] ) {
	실행문;
}
  • 조건식: 참/거짓의 두가지 결과가 나오는 식
  • 조건식이 참이면 실행문을 실행한다.

1-2) if-else문

if( [조건식] ) {
	실행문1;
}
else {
	실행문2;
}
  • [조건식]이 참이면 [실행문1]을 실행, 거짓이면 [실행문2]를 실행한다.
  • [실행문1]이 실행되면 나머지 if-else문은 넘어간다.

1-3) 다중 if문

if( [조건식] ) {
	실행문1;
}
else if( [조건식2] ) {
	실행문2;
}
else {
	실행문3;
}
  • [조건식1]이 참이면 [실행문1]을 실행. 거짓이면 [조건식2]를 비교, 참이면 [실행문2] 실행. [조건식2]가 거짓이면 [실행문3] 실행.
  • 모든 실행문은 실행 후 나머지 부분은 넘어간다.
    • ex. 실행문1을 실행하면, 나머지 else if문부터 읽지 않는다.

1-4) if문 실습

  • 10보다 크면, "입력된 숫자가 10보다 큽니다.", 9 초과 10 이하면 "9보다 큽니다", 9 이하 6초과이면 "6보다 큽니다." 나머지는 "6 보다 작거나 같습니다." 을 출력하는 if문을 작성하시오.
    cout << "\n##실습1: 숫자 범위 판별(if문)" << endl;
    
    int user_num;
    cout << "정수 하나를 입력해주세요: ";
    cin >> user_num;
    
    if (user_num > 10) 
        cout << "입력된 숫자가 10보다 큽니다." << endl;
    else if (user_num > 9) 
        cout << "9보다 큽니다." << endl;
    else if (user_num > 6) 
        cout << "6보다 큽니다." << endl;
    else 
        cout << "6보다 작거나 같습니다." << endl;

2. switch문

  • 입력 값(정수)에 따라 다른 실행문을 실행하기 위해 사용
switch( [정수형 변수] ){
	case [정수1]:
		[실행문1];
		break;
	case [정수2]:
		[실행문2];
		break;
	case [정수3]:
		[실행문3];
		break;
	default:
		[실행문4];
		break;
}
  • 조건에는 정수형 변수가 들어와야 한다.
  • 정수형 변수가 [정수1]일 경우 [실행문1] 실행, [정수2]일 경우 [실행문2] 실행...
  • case 사이에 break가 없다면 break문을 만날 때까지, 다음 case문의 실행문도 실행된다.
  • 모든 case와 일치하지 않으면, default의 실행문을 실행한다.

2-1) switch문 실습

  • 선택된 고향에 따른 다른 인사말 출력
    cout << "\n##실습2: 고향에 따른 다른 인사말 출력(switch)" << endl;
    cout << "당신의 고향은 어디입니까?" << endl;
    cout << "1. 서울  2. 양평  3. 광주  4. 대전  5. 제주도" << endl;
    cout << "입력: ";
    int regine_number;
    cin >> regine_number;

    switch (regine_number)
    {
    case 1: 
        cout << "\n안녕하세요. 당신의 고향은 서울이군요." << endl;
        break;   
    case 2:      
        cout << "\n안녕하세요. 당신의 고향은 양평이군요." << endl;
        break;   
    case 3:      
        cout << "\n아따 허벌라게 반갑구마잉. 광주 사람을 여기서 만나네." << endl;
        break;   
    case 4:      
        cout << "\n안녕하셔유~. 대전 좋지유." << endl;
        break;   
    case 5:      
        cout << "\n안녕하수꽝. 제주에서 왔맨" << endl;
        break;   
    default:     
        cout << "\n5개 중에 선택해주세요." << endl;
        break;
    }