📜  c++中的case标签(1)

📅  最后修改于: 2023-12-03 14:39:56.915000             🧑  作者: Mango

C++中的case标签

在C++中,switch语句是一种多分支的选择结构,通常用来替代多个嵌套的if语句,从而使代码更加清晰。

在switch语句中,case标签用于指定不同的分支。每个case标签后面跟随一个冒号(:),表示该分支的语句从这里开始执行。下面是一个示例:

switch (num) {
  case 1:
    cout << "You chose 1" << endl;
    break;
  case 2:
    cout << "You chose 2" << endl;
    break;
  default:
    cout << "Invalid choice" << endl;
}

在这个示例中,switch语句根据num的值选择不同的分支。如果num等于1,将执行第一个分支,打印"You chose 1";如果num等于2,将执行第二个分支,打印"You chose 2";否则,将执行default分支,打印"Invalid choice"。

在每个case标签的末尾,必须使用break语句来终止该分支的执行。否则,程序将继续执行下一个case分支,直到遇到break或者switch语句结束。如果没有找到匹配的case分支,并且存在default分支,将执行default分支。

在C++11中,case标签还可以使用范围模式。这个功能使得可以在case标签中指定一定范围内的值,而不是单个的值。下面是一个示例:

switch (score) {
  case 90 ... 100:
    cout << "A" << endl;
    break;
  case 80 ... 89:
    cout << "B" << endl;
    break;
  default:
    cout << "Fail" << endl;
}

在这个示例中,switch语句根据score的值选择不同的分支。如果score在90到100之间,将执行第一个分支,打印"A";如果score在80到89之间,将执行第二个分支,打印"B";否则,将执行default分支,打印"Fail"。

除了整数类型外,case标签还可以使用字符型、枚举类型、布尔类型等。但是,不支持浮点类型和字符串类型。如果需要比较字符串类型,可以使用if语句来替代switch语句。

总之,case标签是switch语句中非常重要的一部分,能够帮助程序员简化代码并使其更具可读性。因此,在使用switch语句时,务必充分理解case标签的用法和规则。