반응형
[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 |