C++ switch
C++ Switch 语句
使用 switch
语句可以选择要执行的多个代码块之一。
语法
switch(expression) { case x: // 代码块 break; case y: // 代码块 break; default: // 代码块 }
它是这样工作的:
switch
表达式被评估一次。- 表达式的值与每个
case
的值进行比较。 - 如果找到匹配项,则执行相关联的代码块。
break
和default
关键字是可选的,将在本章后面介绍。
下面的例子使用工作日编号来计算工作日名称:
实例
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
语句将不会输出任何内容。