C 语言 Switch 语句
Switch 语句
如果需要写 很多 的 if..else 语句时,您可以使用 switch 语句替代。
switch 语句会从多个代码块中选择一个执行:
语法
switch(expression) {case x:// code blockbreak;case y:// code blockbreak;default:// code block}
以下就是它的工作原理:
- switch 表达式计算一次。
- 将表达式的值与每种情况的值进行比较。
- 如果存在匹配项,则执行关联的代码块。
- break 和 default 关键字是可选的,将在本章后面介绍
下面的实例使用工作日编号来计算工作日名称:
实例
#include <stdio.h>int main() {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;}return 0;}
break 关键字
当 C 语言运行到一个 break 关键字时,它就会跳出 switch 代码块。
这时将停止在代码块内执行更多代码,和对其他 case 条件的判断。
break 可以节省大量执行时间,因为它 "忽略" switch 块中所有其余代码的执行。default 关键字
default 关键字指定在 case 值匹配的情况下要运行的代码:
实例
#include <stdio.h>int main() {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");}return 0;}
注意:
default 关键字必须用作 switch 中的最后一条语句,并且不需要 break 关键字。