分支语句(二)switch语句
除了if语句外,C语言还提供了switch语句来实现分支结构。
switch语句是一种特殊的if...else...结构,用于判断条件有多个结果的情况。它能把多重if...else...改成更易用、可读性更好地形式。如下为switch语句的语法形式:
其中expression以及case后的value均为整型表达式。特殊的,case后的value必须为整型常量表达式!statement的意思是语句,如果输入的值无法找到相应的case值进行匹配,则执行default后的语句!
1.if语句与switch语句的对比以及switch语句中break的作用
由上图便能直观地感受到switch与if语句的区别!但需要注意的是:
1.case后的数字与case间有空格
2.每一个case语句执行完成后加上break才能够跳出switch语句,否则会出现如下情况
即表达式的值为0时能够从case 0:这一入口进入,如果没有break这一出口跳出switch语句,那么代码仍会继续向下运行!switch语句只有通过break才能实现真正的分支效果!
如上问题其实也可以不通过分支结构完成如下图
这也启发我们要灵活运用代码,不要死板单一!
2.对break的理解与灵活运用
我们可以由上例更深入地理解break并基本掌握如何运用break!
对上例由代码的灵活性我们依旧可以使用if语句中的与逻辑操作符来解决如下图所示
3.switch语句中的default
依旧是上例,当输入的值无法与case值匹配时则执行default后的语句。
4.对于default与case的顺序关系
对于default与case的顺序关系,语法并没有规定default一定要放在最后如下图
即使将default放最上面也并不影响,但是此时注意加上break防止代码继续运行。
但由于逻辑性以及方便性,我们一般都将default放在最后!
5.关于switch语句中的expression以及case后的整型常量表达式的一些细节
1.expression中必须是整型变量表达式
如图输入浮点型时则会报错必须是整型
2.对于字符也是整型的理解
字符在计算机中以ASCII码的形式存在,而ASCII码也属于整型,所以在switch语句中使用字符并不会报错
3.case后必须是整型常量表达式,不能是变量!
当使用变量m时会出现如下报错
这也就验证了case后必须是整型常量表达式而不能是变量的说法!
CSDN-Ada助手: 恭喜您写完了第12篇博客!标题“循环的嵌套与goto语句”听起来很有深度。通过深入探讨循环嵌套和goto语句的使用,您给读者提供了一种解决问题的新思路。我很欣赏您对这个话题的研究和分享。 接下来,我想提出一个谦虚的创作建议。或许您可以考虑扩展这个话题,探讨循环嵌套和goto语句在实际项目中的应用案例。您可以通过分享一些实用的示例代码,帮助读者更好地理解如何在编程中灵活运用这些概念。这样的话,读者将能够更好地理解并应用您的观点。 再次恭喜您的努力和成果!期待您未来更多精彩的博客文章。
CSDN-Ada助手: 恭喜您写完了第11篇博客!标题看起来很有趣,我期待着阅读您关于do while循环以及循环结构中break和continue的深入探讨。您的持续创作精神真是令人钦佩!在下一步的创作中,或许您可以考虑对这些主题进行更多的实例和案例分析,这样读者能够更好地理解和应用这些概念。谦虚地说,我相信您在这方面一定有独到的见解和经验,期待您的下一篇博客!
漠然是漠然: 博主文章写得很详细,思路清晰,内容丰富,兼顾实用性和可操作性,感谢博主分享,支持博主优质好文!
源码技术栈: 博主这篇文章内容很不错,结构清晰,思维活跃,具有条理性可以借鉴并学习和落地,内容丰富图文详细,认真看完收获很大,学习了,期待博主更多的好文章。
ZRFoever: 点点免费的赞~~感谢大家的支持!!