C语⾔——switch循环
switch的形式
switch(表达式)
{
case常量表达式1:语句1;
case常量表达式2:语句2;
case常量表达式3:语句3;
......
case常量表达式n:语句n;
default: 语句n+1;
}
switch case判断字符串
执⾏过程:①⾸先计算“表达式”的值 ②⽐较表达式1的值与常量表达式的值,从常量表达式1开始,若常量表达式1与表达式的值相同,则执⾏后⾯的语句1,并顺序执⾏语句2、语句3......语句n,不管后⾯的case后的常量表达式是否匹配成功。③如果第⼀个case不匹配,则跳过冒号后的语句1,继续与case2、ase n 相⽐,到⼀个匹配的case,开始执⾏其冒号后⾯的语句。④如果⼀直到case n 还没有到与表达式相等的值,则执⾏default后⾯的语句n+1
注:当与某个常量表达式配对之后,会执⾏该分⽀以及后⾯的所有的语句,除⾮遇到break语句
switch语句的嵌套
在⼀个switch语句内使⽤另⼀个switch语句,即使内部和外部的switch的case常量包含共同的值,也没有⽭盾
例题 程序的运⾏结果是()
1#include<stdio.h>
2void main()
3{
4 int x=1,y=0,a=0,b=0;
5switch(x)
6{
7 case 1:
8 switch(y)
9 {
10 case 0:a++;break;
11 case 1:b++;break;
12 }
13 case 2:a++;b++;break;
14 case 3:a++;b++;
15}
16printf("a=%d,b=%d",a,b);
17}
本题考查switch的嵌套和break语句的使⽤,根据switch的表达式到与之匹配的case语句,从此case语句执⾏下去,不再进⾏判断直到遇到break语句或函数结束为⽌。内层的switch (y)只执⾏了a++,此时a的值为1,然后跳出内层执⾏外层的case 2 语句的a++;b++;a为2,b为1.
运⾏结果为 a=2,b=1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论