C Switch
Switch 语句
与其编写多个 if...else 语句,不如使用 switch 语句。
switch 语句可以选择要执行的多个代码块之一:
语法
switch (expression) {
case x:
// 代码块
break;
case y:
// 代码块
break;
default:
// 代码块
}
工作原理:
switch表达式被评估一次。- 表达式的值与每个
case的值进行比较。 - 如果匹配,则执行相关联的代码块。
break语句跳出switch块并停止执行。default语句是可选的,并指定在没有case匹配时要运行的代码。
下面的示例使用工作日编号来计算工作日名称:
实例
int day = 4;
switch (day) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
case 7:
printf("Sunday");
break;
}
// 输出 "Thursday" (day 4)
break 关键字
当 C 语言遇到 break 关键字时,它会跳出 switch 块。
这将停止在块内执行更多代码和 case 测试。
找到匹配项并完成工作后,就该进行中断了。无需进行更多测试。
break 可以节省大量执行时间,因为它会“忽略” switch 块中其余所有代码的执行。
default 关键字
default 关键字指定在没有 case 匹配时要运行的代码:
实例
int day = 4;
switch (day) {
case 6:
printf("Today is Saturday");
break;
case 7:
printf("Today is Sunday");
break;
default:
printf("Looking forward to the Weekend");
}
// 输出 "Looking forward to the Weekend"
注意:default 关键字必须作为 switch 中的最后一条语句使用,并且不需要 break。