C语言中的switch case

在C语言中,switch case语句是一种用于多分支选择的结构,可以替代多个if else语句。switch case语句根据表达式的值来判断执行哪个分支,是一种更加简洁、清晰的流程控制语句。本文将详细介绍switch case语句的用法、语法以及一些注意事项。
语法
switch case语句的基本语法如下所示:
switch (表达式) { case 值1: // 若表达式的值等于值1,则执行这里的代码 break; case 值2: // 若表达式的值等于值2,则执行这里的代码 break; // 可以有多个case default: // 如果表达式的值和所有的case都不匹配,则执行default中的代码}switch后面的括号中是一个表达式,该表达式的值将会被用来匹配不同的case分支。case后面是要匹配的值,如果表达式的值等于case后面指定的值,那么就会执行该分支下面的代码。每个case分支都要以break;结束,表示跳出switch语句,否则会接着执行下一个分支的代码。如果表达式的值与所有的case都不匹配,则执行default中的代码,default是可选的。示例
下面通过一个简单的示例来演示switch case语句的使用:
#include <stdio.h>int main() { int num = 3; switch(num) { case 1: printf("星期一\n"); break; case 2: printf("星期二\n"); break; case 3: printf("星期三\n"); break; default: printf("其他\n"); } return 0;}在这个示例中,num的值是3,根据switch case语句的匹配规则,程序会执行case 3中的代码,输出”星期三”。运行上面的代码,得到的输出为:
星期三
注意事项
在使用switch case语句时,需要注意以下几点:
- switch后面的表达式只能是整型或字符型,不能是浮点型、数组等其他类型。每个case分支中的值必须是常量,不能是变量或者表达式。每个case分支中不能定义变量,只能是执行语句。每个case分支末尾要加上break;,否则会出现”case穿透”现象,即匹配到一个case分支后,会继续执行下面所有分支的代码,直到遇到break;为止。default分支是可选的,如果没有匹配的case,会执行default中的代码。
总结
switch case语句是C语言中一种方便、简洁的多分支选择结构,适合用于根据不同的条件执行不同的代码。在实际编程中,根据情况选用switch case或者if else结构可以使代码更加清晰易读。
