##### switch 语句
- switch 语句
- 条件控制语句, 根据一个表达式的值执行不同的代码块, 可以替代多重 if-else 语句, 使代码更清晰易读
- 语法
```c
// 一般形式
switch (表达式) {
case 常量表达式1:
// 当表达式的值等于 常量表达式1 时执行的代码
break;
case 常量表达式2:
// 当表达式的值等于 常量表达式2 时执行的代码
break;
case 常量表达式3:
case 常量表达式4:
// 当表达式的值等于 常量表达式3或4 时执行的代码
break;
// 可以有多个 case 分支
default:
// 当表达式的值不等于任何一个常量表达式时执行的代码
}
// 计算 switch 表达式的值
// 将该值与每个 case 标签的值进行比较
// 如果找到匹配的 case, 则从该 case 开始执行代码, 直到遇到 break 语句或 switch 语句的末尾, 意味着多个 case 标签可共享执行代码
// 如果没有找到匹配的 case, 则执行 default 分支的代码(如果有)
```
- 示例
```c
// 星期
#include <stdio.h>
int main() {
int day = 8;
switch (day) {
case 1:
printf("Monday\n");
break;
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wednesday\n");
break;
case 4:
printf("Thursday\n");
break;
case 5:
printf("Friday\n");
break;
case 6:
printf("Saturday\n");
break;
case 7:
printf("Sunday\n");
break;
default:
printf("Invalid day\n");
}
return 0;
}
```