switch语句的理解

1. 语句结构

语法形式

switch语句从字面上讲,可以称为开关语句,当然理解上不要以为就只有开和关,可以想象它是一个多路开关。它是一种多分支结构。

switch语句的语法形式为:

switch(整型表达式)
{
case 常量表达式1:语句1
case 常量表达式2:语句2
//……
case 常量表达式n-1:语句n-1
default:语句n
}
解读整型表达式

switch后面的小括号是一个整型表达式,这与if不同。if条件表现的是相互对立的两种状态,而对于多分支结构的switch,是用多个整数值表现多种选择。if条件的对立性总是相对于0而言,所以只要某种数据类型的表达式能够表示0值,便可以充当if语句的条件,但是switch中的表达式的值需要对应到不同的处理入口,其相当于入口编号,所以限制以用整型数表示是明智的。

例如,下面的代码错误地用浮点类型作switch的表达式,因而会引起编译错误:

float f= 4.0;
switch (f) { //错误
//……
}
处理入口

处理入口编号不能重复,但可以颠倒。也就是说,入口编号的顺序不重要。各个case(包括default)的出现次序可任意。例如:

swtich(a)
{
case 3: b=1; break;
default: b=2; break; //正确
case 1: b=3; break;
}
default处理入口:如果switch后面的整型表达式不能匹配任何一个预定的处理入口,那么若有default处理入口,就转入该入口,否则就退出switch语句,什么也不做。

例题

 

 解答

 

 

break注解

break是一个关键字,该关键字独立构成一条语句,其功能是在switch、for、while、do-while语句中,跳出结构而转向执行吓一条语句。或者说break语句强行终止上述语句的执行。对于if语句,其if-else结构中的语句块本身就是排他性的,所以没有必要用break去干预。

posted @ 2021-10-09 16:16  黄贵喆  阅读(1261)  评论(0编辑  收藏  举报