Jupyter AI

18 控制结构之switch语句

📅 发表日期: 2024年8月10日

分类: 💻C++ 入门

👁️阅读: --

C++完整教程

在上一篇中,我们讨论了if条件语句,学习了如何根据条件执行不同的代码块。今天,我们将介绍switch语句,这是C++中一种用于多条件判断的控制结构。switch语句可以使代码更加清晰和易读,尤其是在需要比较多个常量值时。

switch语句的基本语法

switch语句的基本结构如下:

switch (expression) {
    case constant1:
        // 当 expression 等于 constant1 时执行的代码
        break;
    case constant2:
        // 当 expression 等于 constant2 时执行的代码
        break;
    // 可以有任意数量的 case
    default:
        // 当 expression 不等于任何 case 时执行的代码
}

关键要素

  • 表达式: switch的表达式通常是整数类型(intchar等),它的值将与每个case的常量进行比较。
  • case: 每个case后面跟随一个常量值和要执行的代码块。
  • break: break语句用于结束switch语句,防止继续执行后续的case
  • default: 可选的default语句在没有任何case匹配时执行。

使用示例

让我们来看一个简单的示例,假设我们根据星期几的数字(1到7)输出相应的星期名称:

#include <iostream>
using namespace std;

int main() {
    int day;
    cout << "请输入星期几的数字 (1-7): ";
    cin >> day;

    switch (day) {
        case 1:
            cout << "星期一" << endl;
            break;
        case 2:
            cout << "星期二" << endl;
            break;
        case 3:
            cout << "星期三" << endl;
            break;
        case 4:
            cout << "星期四" << endl;
            break;
        case 5:
            cout << "星期五" << endl;
            break;
        case 6:
            cout << "星期六" << endl;
            break;
        case 7:
            cout << "星期日" << endl;
            break;
        default:
            cout << "无效的输入,请输入 1 到 7 之间的数字。" << endl;
            break;
    }

    return 0;
}

程序解读

在这个例子中,我们首先提示用户输入一个数字,表示星期几。然后,switch语句检查这个数字:

  • 如果输入的数字是1,程序输出“星期一”。
  • 如果输入的数字是2,程序输出“星期二”,以此类推。
  • 如果输入的数字不是1到7之间的值,则执行default部分,输出提示信息。

注意事项

  1. 不必须包含break: 如果忘记在某个case后面添加break,将会导致“fall-through”现象,程序会继续执行后面的case代码,直到遇到breakswitch结束。

  2. 支持的类型: C++的switch语句支持intchar,和其它整型(如enum)。不支持浮点数和字符串。

  3. 多个case: 可以将多个case合并在一起,如果它们需要执行相同的代码。例如:

switch (day) {
    case 1:
    case 2:
    case 3:
        cout << "工作日" << endl;
        break;
    case 6:
    case 7:
        cout << "周末" << endl;
        break;
    default:
        cout << "无效的输入,请输入 1 到 7 之间的数字。" << endl;
        break;
}

在这个修改后的例子中,输入123时,都会输出“工作日”。

总结

今天我们介绍了switch语句以及如何在C++中使用它来简化多条件判断。通过简单易懂的案例,我们可以看到switch如何提高了代码的可读性和维护性。下一篇中,我们将重点讨论控制结构中的循环语句。本篇中所讲解的内容将为你理解更复杂的控制结构打下良好的基础。期待在下篇中与大家再次见面!

💻C++ 入门 (滚动鼠标查看)