C 开关
开关语句
与其编写多个if..else
语句,您可以使用switch
语句。
switch
语句选择要执行的多个代码块之一。
语法
switch (表达式) {
case x
// 代码块
break;
case y
// 代码块
break;
default
// 代码块
}
工作原理
switch
表达式只求值一次。- 表达式的值与每个
case
的值进行比较。 - 如果有匹配项,则执行关联的代码块。
break
语句退出switch块并停止执行。default
语句是可选的,它指定在没有case匹配的情况下要运行的代码。
以下示例使用工作日编号来计算工作日名称。
示例
int day = 4;
switch (day) {
case 1
printf("星期一");
break;
case 2
printf("星期二");
break;
case 3
printf("星期三");
break;
case 4
printf("星期四");
break;
case 5
printf("星期五");
break;
case 6
printf("星期六");
break;
case 7
printf("星期日");
break;
}
// 输出 "星期四" (第 4 天)
自己尝试 »
break 关键字
当 C 遇到break
关键字时,它会退出switch块。
这将停止执行更多代码和块中的 case 测试。
当找到匹配项并且工作完成时,就该休息了。无需进行更多测试。
break 可以节省大量执行时间,因为它 "忽略" switch 块中所有其他代码的执行。
default 关键字
default
关键字指定在没有case匹配的情况下要运行的代码。
示例
int day = 4;
switch (day) {
case 6
printf("今天是星期六");
break;
case 7
printf("今天是星期日");
break;
default
printf("期待周末");
}
// 输出 "期待周末"
自己尝试 »
注意:default关键字必须用作switch中的最后一个语句,并且不需要break。