文章插图
①例子
#include< stdio.h>
main()
{int k=5,n=0;
do {
switch(k){
case1:case3:n+=1;k--;break;
/*当k=1或3时,执行此句,这是两种case合并成一行了 。*/
default:n=0;k--;
/*当k不等于1234时,执行此句,默认兜底情况 。*/
case2:case4:n+=2;k--;break;}
/*当k=2或4时,执行此句 。*/
printf("%d",n);
}
while(k>0&&n<5);
/*此句已经不属于switch语句,
只要满足循环条件k>0且n<5,就继续将k值输入switch 语句,
直到条件不满足,循环结束,输出结束 。*/
}
~
②执行顺序
该程序存在嵌套语句,
外层为do{}while()语句,
内层为switch语句和printf语句 。
switch语句中有3行3种情况,
根据k值找到对应case标号,
没有对应case执行默认default情况,
注意:
对应 case或default之后的情况也要执行,直到 switch语句结束 。
除非遇到 break,才能提前结束switch语句 。
~
③计算过程
第一次循环
初值:k==5,n==0
(1)switch语句
没有对应case
执行default: n==0,k==4
执行case2:case4:n==2,k==3
break跳出 switch语句
(2)printf语句
打印 n==2
~
第二次循环
k==3,n==2
(1)switch语句
对应case3
执行case1:case3:n==3,k==2
break跳出 switch语句
(2)printf语句
打印 n==3
~
第三次循环
k==2,n==3
(1)switch语句
对应case2
执行case2:case4:n==5,k==1
break跳出 switch语句
(2)printf语句
打印 n==5
~
此时n不满足循环条件k>0&&n<5
跳出整个do()while()循环
【c语言switch语句的执行顺序】 最终打印结果:235
推荐阅读
- excel怎么锁定一行不动,excel怎么固定一行不动
- 西兰花泥辅食蒸多久,西兰花蒸蛋蒸多久才熟
- 西红柿放冰箱还是放外面,西红柿放在冰箱上层保鲜可以
- 咋得才可以发qq邮箱,qq怎么发邮箱文件给别人
- 续弦和继室的区别,偏房与继室的区别
- 冰糯种的翡翠好不好,翡翠糯种是什么意思是最差的
- 芒果tv汪汪队立大功3,汪汪队立大功第三季在线免费观看
- 微信语音自动发送怎么回事
- 教师资格证考试全国通用,非统考教师资格证全国通用