switch 语句
本课属于 Coddy C++ 学习旅程的“基础知识”单元。第 29 课,共 74 课。
switch 语句类似于多分支的 if 语句。它不会判断单个条件,而是将变量的值与多个分支进行比较,并运行匹配分支对应的代码。
下面是 switch 语句的基本结构:
switch (variable) {
case value1:
// 如果 variable 等于 value1,就执行这段代码
break;
case value2:
// 如果 variable 等于 value2,就执行这段代码
break;
// ... 更多分支
default:
// 如果没有匹配的分支,就执行这段代码
}switch关键字后面要在括号中写入你想要测试的变量。- 每个
case都表示变量的一个可能值。 - 如果变量与某个
case的值匹配,就会执行该case中的代码。
break语句很重要;它会在某个 case 执行后退出switch。如果没有它,执行就会“贯穿”到下一个 case。defaultcase 是可选的,如果没有其他 case 匹配,就会执行它。
来看一个例子:
int day = 3;
std::string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ……其他日期对应的 case
default:
dayName = "Invalid day";
}你也可以将多个 case 合并在一起:
int day = 3;
std::string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... 其他日期对应的 case
default:
dayName = "Invalid day";
}挑战
入门创建一个程序,输入月份编号(1 表示 1 月,2 表示 2 月,以此类推),并输出它所属的季节。使用 switch 语句实现逻辑。
季节及其对应的月份如下:
- 冬季:12 月、1 月、2 月
- 春季:3 月、4 月、5 月
- 夏季:6 月、7 月、8 月
- 秋季:9 月、10 月、11 月
- Invalid month:其他输入
亲手试试
#include <iostream>
int main() {
int month;
std::cin >> month;
std::string season = "";
// 在下方编写你的代码
std::cout << season << std::endl;
return 0;
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: C++ 在线编译器