①例子
#include< stdio.h>
main()
{int k=5n=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==0k==4
执行case2:case4:n==2k==3
break跳出 switch语句
(2)printf语句
打印 n==2
~
第二次循环
k==3n==2
(1)switch语句
对应case3
执行case1:case3:n==3k==2
break跳出 switch语句
(2)printf语句
打印 n==3
~
第三次循环
k==2n==3
(1)switch语句
对应case2
执行case2:case4:n==5k==1
break跳出 switch语句
(2)printf语句
打印 n==5
~
此时n不满足循环条件k>0&&n<5
跳出整个do()while()循环
【switch|C语言-switch语句执行顺序】最终打印结果:235
- c语言|万万没想到,OPPO K10 Pro居然会用上骁龙888
- c语言|荣耀X40 Max即将来袭,天玑8100与5500毫安加持,大屏手机时代来临
- c语言|vivo X80 Pro手机量产,4700 mAh+4nm芯片,值得入手
- 编程|继华为仓颉后,再现4款国产编程语言,形式多样,有一款0代码
- c语言|iOS16新功能曝光!居然开始模仿安卓了?国产系统又该如何进步
- c语言|手机隐私安全太重要,盘点ColorOS 12.1实用功能,体验有保障
- |C语言-形参改变实参的原理
- 小米科技|C语言-结构体与指针移动
- c语言|好家伙!手机隐藏的开发者选项功能竟然这么强大!
- c语言|高德纳公布全球半导体收入前十企业,美国和韩国成为最大赢家