본문 바로가기
Programming/C, C++

LV1 C++ 조건문 (선택문) switch case문

by Dev_카페인 2022. 9. 2.
반응형

 

 

[lv1/C++] 조건문 (선택문) switch ~ case문

 

switch ~ case 문은 정수 값이나 문자 등을 이용한 조건 판단에 이용한다.

if문과 함께 조건문에 해당되지만 switch문의 조건식에는 >, >=, <, <=와 같은 이상, 이하 부등식을 사용하지 못한다.

대신 switch 문의 조건식에는 결과값을 가지고 있는 변수 등이 들어가고 동등한 결과값을 가진 case를 찾게 된다.

 

switch ~ case문의 기본 형태는 다음과 같다.

switch (조건식) 
{
	case 값1 :
    	문장;
        break;
	case 값2 :
    	문장;
        break;
	case 값3 :
    	문장;
        break;
	default :
    	문장;
        break;
}

switch ~ case문에서 중요한 것은 'break;' 명령이다.

위 기본 형태를 보면 알겠지만 if문과 다르게 case는 콜론 ':' 으로 범위가 나뉜다.

if문은 중괄호를 이용한 범위를 알 수 있지만 콜론':'은 시작 위치만 알고 끝의 위치는 표시가 되어 있지 않아서 'break;' 명령으로 case의 끝을 표시해 주어야 다음에 나오는 case를 실행하지 않는다.

만약 'break' 명령이 없다면 'case 값1'에 조건이 해당되어 문장이 다 실행되어도 아래에 있는 'case 값2', 'case 값3', 'default' 안에 있는 문장들이 전부 실행된다.

 

아래 예제를 따라해보고 break 명령을 몇 개 제거하고 실행해보면 어떻게 실행되는 것인지 이해가 될 것이다.

#include <iostream>
using namespace std;


int main()
{
	char grade;				// 등급을 넣을 문자 타입 변수 등록

	cin >> grade;				// A ~ D or 다른 문자 입력 (대소문자 주의)

	switch (grade) {
		case 'A' :
			cout << "A 등급" << endl;
			break;
		case 'B':
			cout << "B 등급" << endl;
			break;
		case 'C':
			cout << "C 등급" << endl;
			break;
		case 'D':
			cout << "D 등급" << endl;
			break;
		default :
			cout << "F 등급" << endl;
			break;
	}

	return 0;
}

* default 는 switch의 조건식이 case의 값들 중 아무것도 해당되는 것이 없을 때 실행되는 곳이다.

반응형

'Programming > C, C++' 카테고리의 다른 글

LV1 C++ 반복문 while, do - while  (0) 2022.09.02
LV1 C++ 반복문 for문  (0) 2022.09.02
LV1 C++ 조건문 if, else if, else  (0) 2022.09.02
lv1 C++ 연산자와 우선순위  (0) 2022.08.12
Lv1 C++ 줄바꿈  (0) 2022.08.12