C++ switch

C++ Switch 语句

使用 switch 语句可以选择要执行的多个代码块之一。

语法

switch(expression) { 
 case x: 
 // 代码块 
 break; 
 case y: 
 // 代码块 
 break; 
 default: 
 // 代码块 
}

它是这样工作的:

  • switch 表达式被评估一次。
  • 表达式的值与每个 case 的值进行比较。
  • 如果找到匹配项,则执行相关联的代码块。
  • breakdefault 关键字是可选的,将在本章后面介绍。

下面的例子使用工作日编号来计算工作日名称:

实例

int day = 4;
switch (day) {
 case 1:
 cout << "Monday";
 break;
 case 2:
 cout << "Tuesday";
 break;
 case 3:
 cout << "Wednesday";
 break;
 case 4:
 cout << "Thursday";
 break;
 case 5:
 cout << "Friday";
 break;
 case 6:
 cout << "Saturday";
 break;
 case 7:
 cout << "Sunday";
 break;
}
// 删除 "Thursday" (day 4)

亲自试一试

break 关键字

当 C++ 到达 break 关键字时,它会跳出 switch 块。

这将停止块内更多代码和 case 测试的执行。

当找到匹配项并且完成任务时,就是休息的时候了。无需进行更多测试。

提示:break 可以节省大量执行时间,因为它会"忽略" switch 块中剩余的所有代码的执行。

default 关键字

default 关键字指定在没有 case 匹配时要运行的某些代码:

实例

int day = 4;
switch (day) {
 case 6:
 cout << "今天是星期六";
 break;
 case 7:
 cout << "今天是星期日";
 break;
 default:
 cout << "期待周末";
}
// 输出 "期待周末"

亲自试一试

在这个例子中,由于 day 的值是 4,与任何 case 都不匹配,因此执行 default 代码块。如果删除 default 部分并且 day 的值不匹配任何 case,则 switch 语句将不会输出任何内容。

(追記) (追記ここまで)

AltStyle によって変換されたページ (->オリジナル) /