switch语句中必须有default子句 switch语句介绍
大家好,感谢邀请,今天来为大家分享一下switch语句中必须有default子句的问题,以及和switch语句介绍的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
C语言中的switch和default是什么意思
switch和default是C语言中的关键词,通常联合使用。
switch语句的语法规则:
其中switch、case、break、default都是关键字。switch作为开关,当变量表达式的值对应case中的值时,执行case后面的语句后跳出switch语句,如果都不符合则执行default后面的语句后跳出switch语句。
扩展资料:
switch语句规则:
1、switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
2、只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
3、switch()的参数类型不能为实型。
4、case标签必须是常量表达式(constantExpression),如42或者'4'。
5、case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
参考资料来源:百度百科-switch
c语言switch语句中怎样在嵌套switch
就是在第一个switch的某个case语句或default语句中进行嵌套。
例如:
inta=4,i=0;
switch(a)
{
case1:
{
printf("abc");
break;
}case2:
{
printf("abcd");
break;}
case3:
{
i++;
switch(i)//switch语句中嵌套switch语句
{
case1:printf("fff");break;
case2:printf("111");break;
default:printf("222");
}
break;
}
default:
printf("error");
}
扩展资料:注意事项
1、witch后面括号里的结果必须是×××值。因为这个值是要和case语句后面直接跟的常量表达式进行匹配的。
2、break在switch case语句中主要是将语句划分成不同的部分,方便匹配后跳出switch语句。
3、default的位置并不是固定的。为了使程序正常运行,它放在case之间的时候,后面必须跟上break语句;如果放在最后,可以跟break语句,也可以不跟。
4、不是所有case语句最后都跟有break。我们起初见到的代码里,基本上每个case最后都跟有break,它是指当switch后面括号里的表达式与哪一个case后面的常亮表达式匹配时,直接进入这个case,执行完里面的语句后,遇到break,直接退出整个switch case语句。
实际当中,我们还会碰到类似于上述代码的情况(不是所有case语句最后都跟有break),这个时候,程序总是从匹配的case执行,直到遇到break或者程序走到最后的default结束,退出switch case语句。
switch case用法举例
Switch case语句一般形式是这样的
在使用switch case的时候一定要注意不要把break给漏写了,如果没有break的活,程序在执行完所对应的代码块后会顺序执行下面的语句直到程序结束或者遇到下一个break为止。当表达式的值和下面哪一个常量相等就会执行那个常量所对应的代码块,如果没有与表达式相等的常量时就会执行default下面的代码块。
当多个常量对应同一个代码块时,我们也可以这样使用switch case。
这样写的话无论你输入的是0还是1它结果都是执行的遇到break之前的代码块。当多种情况对应同一种输出时,把代码块相同的case可以直接放到一起,这样可以有效减少重复代码,节省时间提升开发效率。
同一个Switch语句,所有case子句中的常量值互不相同。
switch case在什么情况中使用比较好呢?
如果判断的具体数值不多,而且符合byte、short、char、int、String、枚举等几种类型时建议使用swtich语句。
执行规则
1.swich后面括号内的'表达式必须是整数类型.也就是说可以是 int型变量、 char型变量,也可以直接是整数或字符常量,哪伯是负数都可以,但绝对不可以是实数, float型变量、double型变量、小数常量通通不行,全部都是语法错误。
2) switich下的 case和 defaut必须用一对大括号{}括起来
你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出swich语句.
3)当switch后面括号内“表达式”的值与某个case后面的"常量表达式"的值相等时.就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case缕续执行,如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。
再重申一下: switch是"选择"语句,不是“循环”语句。很多新手看到break就以为是循环语句,因为break一般给我们的印象都是跳出"循环",但break还有一个用法,就是跳出switch。
4)若所有的 case中的常量表达式的值都没有与 switch后面括号内"表达式的值相等的,就执行 defaul后面的语句, defaut是"默认的意思。知果 defauit是最后一条语句的话,那么其
后就可以不加 break,因为既然已经是最后一句了,则执行完后自然就退出 switch了。
5)每个 case后面"常量表达式"的值必须互不相同,否则就会出现互相矛盾的现象,而且这样写造成语法错误。
6)"case常量表达式只是起语句标号的作用,并不是在该处进行判断。在执行 switch语句时,根据 switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断解。
7)各个 case和 default的出现次序不影响执行结果,但从阅读的角度最好是按字母或数字的顺序写。
好了,文章到这里就结束啦,如果本次分享的switch语句中必须有default子句和switch语句介绍问题对您有所帮助,还望关注下本站哦!