Menu
CoddyTech

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。
  • default case 是可选的,如果没有其他 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";
}
challenge icon

挑战

入门

创建一个程序,输入月份编号(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;
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: C++ 在线编译器