在C语言中,`switch`语句用于根据一个表达式的值来选择执行不同的代码块。以下是`switch`语句的基本用法:
```c
switch(表达式){
case 常量表达式1:
// 代码块1
break;
case 常量表达式2:
// 代码块2
break;
// 可以有多个case
default:
// 默认代码块(可选)
break;
}
```
`表达式`是一个整型或字符型的表达式,用于计算并比较。
`case`后面跟的是常量表达式,用于与`表达式`的值进行比较。
当`表达式`的值与某个`case`后的常量表达式值相等时,执行该`case`后的代码块,直到遇到`break`语句或`switch`语句结束。
`break`语句用于退出`switch`语句,防止代码继续执行下一个`case`。
如果`switch`语句中没有`break`,则会发生`case穿透`,即执行完一个`case`后会继续执行后面的`case`,直到遇到`break`或`switch`语句结束。
`default`是可选的,当没有任何`case`匹配成功时执行`default`后的代码块。
下面是一个简单的示例程序,展示了`switch`语句的使用:
```c
include int main() { int day = 3; 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; default: printf("Sunday\n"); break; } return 0; } ``` 在这个示例中,程序会根据变量`day`的值打印出对应的星期几。如果`day`的值不在1到6的范围内,程序将打印出"Sunday"。 需要注意的是,`case`后的常量表达式应该是唯一的,否则会导致逻辑冲突。此外,`case`后面只能跟一个值(加冒号:),而不能是一个表达式。 希望这能帮助你理解`switch`语句的用法。