发布网友 发布时间:2022-04-23 09:30
共11个回答
热心网友 时间:2022-05-20 16:50
C语言里switch里case里是可以有if语句,但是要注意编程时的兼容情况。switch语句只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。直线翻译:switch语句,即“切换”语句;case即“情况”。
switch语句的语法如下(switch,case和default是关键字):
switch ( 常量表达式 ){
case 常量1 :语句;
case 常量2 :语句;
case 常量3 :语句;
...
case 常量n:语句;
default :语句;}
扩展资料
switch语句执行时会从上到下根据括号中表达式的值作比较,当某个case语句中的表达式与此值相同时,就执行这个case语句或语句序列,直到遇到break为止。 break语句是必须有的,它用来结束switch语句的执行。
如果所有case语句后面的表达式都不等于switch语句的表达式expr1的值川0执行default后面的默认语句序列。不过,default部分是可选的。如果没有这一部分,并遇到所有case语句都不匹配,那么,就不作任何处理而进入后续程序段的执行。
参考资料来源:百度百科——switch
热心网友 时间:2022-05-20 18:08
C语言switch语句的每个case中都可以嵌套使用if语句。
C语言提供的一种用于多分支选择的switch语句, 其一般形式为:
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
注意事项
在case后的各常量表达式的值不能相同,否则会出现错误。
在case后,允许有多个语句,可以不用{}括起来。
各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
default子句可以省略不用。
为了避免程序从对应case一直往下执行,C语言提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。
示例,输入月份和年份,输出该年的该月有多少天:
#include <stdio.h>热心网友 时间:2022-05-20 19:42
可以的,
不过要提醒你一点 , 有的编译器做得不是很智能, 在其中case下不加{}这样的*符号可能会出错.
所以对你的代码, 我推荐的用法是
switch(i){
case 1:
{
if(....)
代码。。。。
else
代码。。。
break;
}
case 2:
{
代码。。。。
break;
}
}
热心网友 时间:2022-05-20 21:34
没问题的,放心用。在switch语句中,你可以完全拿case当标号使用。
甚至下面这种写法都是允许的,但是要想当小心你的逻辑。
switch(i){
case 0:
if(xxx){
yyyyy;
case 1:
zzzzz;
}
}
热心网友 时间:2022-05-20 23:42
可以的,switch是一种选择语句,跟if else不冲突的,这也能体现出c语言的灵活吧。
热心网友 时间:2022-05-21 02:06
switch的每个case都是一个分支,都可以使用各种C语言的语句
热心网友 时间:2022-05-21 04:48
可以。但是不建议这么做。显得程序冗长。
热心网友 时间:2022-05-21 07:46
可以的,并且很多时候都是这样用的~
热心网友 时间:2022-05-21 11:00
可以,语句是可以嵌套的 没问题
热心网友 时间:2022-05-21 14:32
必须可以啊
热心网友 时间:2022-05-21 18:20
可以的
没有规定case下面能有多少,什么语句