一、C、switch(){case: }语句

本文详细解析了switch语句的语法及使用要点,强调其适用的变量类型,并讲解了case和default语句的作用,帮助读者掌握switch语句的正确使用方法。
switch(){case : case :...... }先说语法,再说注意事项switch的判断变量类型只能是字符型或者整型,请注意,只有这两种才可以switch后面紧跟的那个小括号里面就是 
要判断的变量名称 然后switch要求它后面的大括号完整,不能不写case 后面加一个空格跟上条件 当然条件也只能是字符型或者整型,然后加上冒号,条件语句正式开始  ,
末了,不要忘记分号,然后每个case语句结束时不要忘记加上一个break;至于原因稍后解释在所有的判别情况都表述完之后 再加一个default:语句,用法与case一样,但是
注意的是default后面直接加:了,不需要再加判别条件,default一定是加在所有的case语句最后的switch选择结构执行的时候,从上往下寻找匹配,当寻找到第一个匹配条
件后结束寻找,程序跳到该条件所对应的代码处执行,当执行完之后并不终止,而是继续执行下去,所以,在第一个匹配条件后的所有语句都会被执行,这也就是我们为什么
要加一个break;的原因了,我们用break跳出当前switch语句来避免我们不希望的语句也被执行。default语句放在最后的原因也在这里了,default语句代表的意义是,无论
如何(也就是说defautl是一个万能匹配)都会被执行的语句,如果是把它放到了非最后的位置了,那么它之下的所有语句都失去意义了,上面说过了,当得到第一个匹配之后就顺序执行了,default又是一个万能匹配,所有它之后的判断就失去了效果,被果断的全部执行下去了default语句不是必须的,但是我强烈建议每次都要写上,它处理所有你没有涉及到的情况之外的情况,可以避免漏掉某种可能……
在C代码的switch case语句里,break和return有着不同的作用和使用场景。 break用于直接退出switch语句。当在switch语句的某个case分支中遇到break时,程序将不再执行switch中其余的语句,包括当前分支后面的其他分支,而是直接跳到整个switch语句之后的第语句继续执行。例如,以下代码展示了break的使用: ```c #include <stdio.h> int main() { int a; printf("Input integer number:"); scanf("%d", &a); switch(a) { case 1: printf("Monday\n"); break; case 2: printf("Tuesday\n"); break; case 3: printf("Wednesday\n"); break; case 4: printf("Thursday\n"); break; case 5: printf("Friday\n"); break; case 6: printf("Saturday\n"); break; case 7: printf("Sunday\n"); break; default: printf("error\n"); break; } return 0; } ``` 在这个例子中,当输入个整数后,程序会根据该整数匹配相应的case分支,执行完该分支的代码后遇到break,就会跳出switch语句,继续执行后续代码,避免了“贯穿”行为 [^4]。 而return则是用于退出包含switch语句的整个函数。旦在switch语句的某个case分支中遇到return,不仅会终止switch语句的执行,还会使整个函数立即结束,函数中switch语句块后面的语句也不会再执行。例如,以下是个简单的函数示例: ```c #include <stdio.h> int handler(int ErrorCode) { switch (ErrorCode) { case 210: // 请输入验证码 case 211: // 验证码无效 printf("这是info\n"); return; case 212: // 验证码已过期 break; case 40850: // 用户名密码错误且需要验证码 printf("这是info\n"); return 0; default: break; } printf("继续执行函数中的其他代码\n"); return 1; } int main() { int result = handler(211); return 0; } ``` 在这个例子中,如果`ErrorCode`的值为211,执行完`printf`语句后遇到`return`,函数`handler`将立即结束,不会执行`switch`语句块后面的`printf`语句 [^3]。 综上所述,break的作用范围仅限于switch语句,而return的作用范围是整个函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐者-桥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值