switch case语句的使用:
使用switch语句直接处理多个分支(当然包括两个分支).其一般形式为:
switch(表达式)
{
case 常量表达式1:语句1;
break;
case 常量表达式2:语句2;
break;
……
case 常量表达式n:语句n;
break;
default:语句n+1;
break;
}
case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去,不再进行判断,直到碰到break或函数结束为止;若没有找到与表达式匹配的case语句,则执行default语句。
switch(3)
{
case 1: cout<<1<<" ";
case 2: cout<<2<<" ";
case 3: cout<<3<<" ";
case 4: cout<<4<<" ";
case 5: cout<<5<<" ";
default: cout<<0<<" ";
}
输出: 3 4 5 0
switch(3)
{
case 1: cout<<1<<" ";
case 2: cout<<2<<" ";
case 3: cout<<3<<" ";
case 4: cout<<4<<" ";
default: cout<<0<<" ";
case 5: cout<<5<<" ";
}
输出: 3 4 0 5 (程序是否执行下去与default无关)
在switch语句中,有四个关键词,分别是switch、case、default和break。
switch语句只能判断表达式是否等于某个值,而不能判断它是否处于某个范围。
以点盖面:可以通过余20的方法,把0到99分成4类(即找出一类数的共同特征)。
各个case(包括default)的出现次序可任意,在每个case分支都带有break的情况下,case次序不影响执行结果。
当几种情况下都执行同一操作时,可以将多个case语句并列。
case’1’:
case’2’:
case’3’:cout<<a;
break;
switch语句只能对确定值进行条件测试,而且只限于整数或整数的子集,如果是范围测试,或者浮点型的比较判断,则只能用嵌套的if语句。