C语言——switch循环

switch的形式

switch(表达式)

{

        case常量表达式1:语句1;

        case常量表达式2:语句2;

        case常量表达式3:语句3;

        ......

        case常量表达式n:语句n;

        default: 语句n+1;

}

执行过程:①首先计算“表达式”的值 ②比较表达式1的值与常量表达式的值,从常量表达式1开始,若常量表达式1与表达式的值相同,则执行后面的语句1,并顺序执行语句2、语句3......语句n,不管后面的case后的常量表达式是否匹配成功。③如果第一个case不匹配,则跳过冒号后的语句1,继续与case2、case3......case n 相比,找到一个匹配的case,开始执行其冒号后面的语句。④如果一直到case n 还没有找到与表达式相等的值,则执行default后面的语句n+1

注:当与某个常量表达式配对之后,会执行该分支以及后面的所有的语句,除非遇到break语句

switch语句的嵌套

 在一个switch语句内使用另一个switch语句,即使内部和外部的switch的case常量包含共同的值,也没有矛盾

例题  程序的运行结果是()

#include<stdio.h>
void main()
{
    int x=1,y=0,a=0,b=0;
switch(x)
{
    case 1:
    switch(y)
    {
        case 0:a++;break;
        case 1:b++;break;
    }
    case 2:a++;b++;break;
    case 3:a++;b++;
}
printf("a=%d,b=%d",a,b);
}

本题考查switch的嵌套和break语句的使用,根据switch的表达式找到与之匹配的case语句,从此case语句执行下去,不再进行判断直到遇到break语句或函数结束为止。内层的switch (y)只执行了a++,此时a的值为1,然后跳出内层执行外层的case 2 语句的a++;b++;a为2,b为1.

运行结果为 a=2,b=1

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值