Switch 문
Coddy C++ 여정의 기초 섹션에 포함된 레슨 — 74개 중 29번째.
switch 문은 다중 if 문과 비슷합니다. 단일 조건을 평가하는 대신, 변수의 값을 여러 케이스와 비교하여 일치하는 케이스와 관련된 코드를 실행합니다.
다음은 switch 문의 기본 구조입니다:
switch (variable) {
case value1:
// variable이 value1과 같을 때 실행할 코드
break;
case value2:
// variable이 value2와 같을 때 실행할 코드
break;
// ... 더 많은 케이스들
default:
// 일치하는 케이스가 없을 때 실행할 코드
}switch키워드 뒤에는 괄호 안에 테스트하려는 변수가 옵니다.- 각
case는 변수의 가능한 값을 나타냅니다. - 변수가 해당
case의 값과 일치하면 각case내부의 코드가 실행됩니다.
break문은 매우 중요합니다. 케이스가 실행된 후switch문을 종료합니다. 이것이 없으면 실행이 다음 케이스로 "넘어가게(fall through)" 됩니다.default케이스는 선택 사항이며 다른 어떤 케이스도 일치하지 않을 때 실행됩니다.
다음은 예시입니다:
int day = 3;
std::string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... 다른 요일에 대한 케이스들
default:
dayName = "Invalid day";
}여러 개의 case를 하나로 결합할 수도 있습니다:
int day = 3;
std::string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... 다른 요일에 대한 케이스들
default:
dayName = "Invalid day";
}챌린지
초급월 번호(1월은 1, 2월은 2 등)를 입력받아 해당 월이 속한 계절을 출력하는 프로그램을 작성하세요. 로직에는 switch 문을 사용하세요.
계절과 그에 해당하는 월은 다음과 같습니다:
- Winter: 12월 (12), 1월 (1), 2월 (2)
- Spring: 3월 (3), 4월 (4), 5월 (5)
- Summer: 6월 (6), 7월 (7), 8월 (8)
- Autumn: 9월 (9), 10월 (10), 11월 (11)
- Invalid month: 그 외의 경우
치트 시트
switch 문은 변수를 여러 케이스와 비교하는 다중 조건문입니다:
switch (variable) {
case value1:
// variable이 value1과 같을 때 실행할 코드
break;
case value2:
// variable이 value2와 같을 때 실행할 코드
break;
default:
// 일치하는 케이스가 없을 때 실행할 코드
}주요 구성 요소:
case: 변수의 가능한 값을 나타냅니다break: 케이스가 실행된 후 switch 문을 종료합니다 (fall-through 방지)default: 일치하는 다른 케이스가 없을 때 실행되는 선택적 케이스
여러 케이스를 결합할 수 있습니다:
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
}직접 해보기
#include <iostream>
int main() {
int month;
std::cin >> month;
std::string season = "";
// 아래에 코드를 작성하세요
std::cout << season << std::endl;
return 0;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.