C语言Switch....case用法
概述
C语言switch语句通常用于多个条件判断,根据不同情况执行不同的代码块。它的使用形式如下:
switch(表达式) { case 常量表达式1: 语句序列1 break; case 常量表达式2: 语句序列2 break; ...... default: 语句序列n break; }
1 switch用法
case 后的常量指的是常量表达式,它必须是整数类型。在一个特定的 switch 语句中,每个 case 常量都必须具有独一无二的值,不可以重复。但是 switch 语句可以包含多个 case 标签。
default 标签是可选的,可以放在 switch 语句体内任何位置。如果没有 default 标签,并且没有任何 case 常量符合 switch 语句控制表达式的计算结果,那么 switch 语句体中的语句都不会执行。在这种情况下,程序流会转而执行 switch 语句体后面的语句。
常写成如下格式:
switch(表达式)
{
case 常量表达式1:
break;
........
case 常量表达式n:
break;
default:
break;
}
switch case 语句的结果只能是整数(int)类型,控制表达式只能是整数型的。
根据表达式的结果,寻找匹配的case,并执行case后面的语句,一直到break为止。如果没有遇到 break 那就接着执行下面的语句。如果所有的case都不匹配,那么就执行default 后面的语句;如果没有default,那么程序就什么都不会执行,直接跳过switch case 语句。
2 break使用
case带break语句:

根据表达式的结果,寻找匹配的case,并执行case后面的语句,一直到break为止。

case带break语句:

代码运行看结果,如下:
寻找匹配的case,一直到break为止。如果所有的case都不匹配,那么就执行default 后面的语句。

总结:带break的switch语句可以通过从一个条件分支跳转到另一个条件分支,从而实现条件分支的顺序执行;而不带break的switch语句,可以实现多个条件分支同时执行,类似于if else语句中的“或”逻辑。