c++中的switch使用方法

C++ 中的 switch 语句用法详解

在C++中,switch语句是一个多分支选择结构,用于基于表达式的值从多个可能的执行路径中选择一个执行。switch语句与if-else if-else语句在功能上有相似之处,但在某些情况下,使用switch语句可以使代码更加清晰和易于维护。

1. 基本语法

switch语句的基本语法如下:

Plain Textswitch (expression) {
    case constant1:
        // 代码块
        break;
    case constant2:
        // 代码块
        break;
    // 可以有更多的 case
    default:
        // 如果上面的 case 都不匹配,执行这里的代码
}
  • expression:是一个表达式,其结果必须是一个整数(包括字符和枚举值,因为它们在C++中也是整数)或可以转换为整数的类型。
  • case:后面跟着一个常量表达式,它与switch表达式的结果进行比较。
  • break:是可选的。如果省略了break,程序会继续执行下一个case,直到遇到breakswitch块的末尾。这种行为被称为“穿透”或“瀑布效应”。
  • default:也是可选的,它定义了当switch表达式的结果不匹配任何case标签时要执行的代码。

2. 示例

下面是一个简单的示例,演示了如何使用switch语句:

Plain Text#include <iostream>

int main() {
    int day = 3; // 假设 day 是星期几(1=周一,2=周二,...,7=周日)

    switch (day) {
        case 1:
            std::cout << "Monday";
            break;
        case 2:
            std::cout << "Tuesday";
            break;
        case 3:
            std::cout << "Wednesday";
            break;
        case 4:
            std::cout << "Thursday";
            break;
        case 5:
            std::cout << "Friday";
            break;
        case 6:
            std::cout << "Saturday";
            break;
        case 7:
            std::cout << "Sunday";
            break;
        default:
            std::cout << "Invalid day";
    }

    std::cout << std::endl;

    return 0;
}

3. 注意事项

  • 每一个case后面通常都跟着一个break语句,以防止“穿透”现象。但是,在某些特殊情况下,可能需要利用这种“穿透”现象来执行多个连续的case代码块。
  • default标签是可选的,但通常建议包含它,以处理未预期的情况。
  • switch语句只能用于整数类型(包括字符和枚举值)的表达式。对于其他类型的表达式(如浮点数或字符串),应该使用其他控制结构,如if-else if-else语句。
  • 如果switch表达式的值不在任何case标签的范围内,并且没有default标签,则不会执行任何case代码块。
  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值