SWTICH语句case后面只能接一个表达式吗?
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
一个case紧接的条件表达式只能是一个编译期确定的整型常量表达式,case和这个常量表达式组成一个标签,这个表达式是当标号用的,所以必需在编译期确定。
case标签本身不会被执行,一个case标签后可以接零条或多条语句(可以用大括号组成一条复合语句,但不必要),遇到break时控制流跳出switch。
1、一个case紧接的条件表达式只能是一个编译期确定的整型常量表达式。case和这个常量表达式组成一个标签,这个表达式是当标号用的,所以必需在编译期确定。
2、case标签本身不会被执行。一个case标签后可以接零条或多条语句(可以用大括号组成一条复合语句,但不必要)。遇到break;时控制流跳出switch。
3、switch (表达式) //计算表达式的值
{
case 常量 1: //如果等于常量1
语句; //case后面只能加常量
break; //跳出分支,执行switch语句之后的代码
case 常量 2: //如果等于常量2
语句;
break;
default: //如果没有找到匹配的值
语句;
break;
}
switch语句的执行流程
4、switch语句中的执行顺序是自上向下的,它首先就要计算表达式的值,如果发现表达式的值和case后面的常量值相等的时候,就执行相应的那段case语句。如果没有找到和表达式值相匹配的常量,程序就会执行default那段代码。