C语言基础之Switch Case 多分支语句

大家好,我是电源漫谈,很高兴和各位一起分享我的65原创文章,喜欢和支持我的工程师,一定记得给我点赞、收藏、分享。

C语言代码中,当需要多个if条件去判断时,那么如果使用Switch Case语句来做是一个更为简明的方法。本文简要对switch case这一类型的语句做一个简单的介绍。

一般来说,相比if判断来说,其唯一的缺点是所判断的条件必须要为整数类型,如int或者char等,而if判断可以使用任何表达式作为条件判断。

图1 switch case的语句结构

基本运行原理是,当switch中的表达式和任何一个case分支中的表达式const-expr相符时,相应case中的语句statement会执行。

图2 基本的switch case语句结构流程图

注意以上流程图中,当一个case分支语句执行后,它会自然流向下一个case语句,这样依次执行完所有的case语句,这往往是不符合实际需要的,所以我们会在每一个case分支中增加break语句来避免。

图3 改进的switch case语句结构流程图

当在每一个case分支中增加了break语句后,则仅仅会执行某一个和switch条件匹配的case分支的语句,这是符合实际要求的一种形式,执行完符合要求的case分支语句,程序就会到达switch case语句的结尾。

接下来我们举例说明这个语法结构。事先定义如下变量,int channel=0;

图4 在主程序中重复执行switch case语句

图5 无break语句时程序执行结果

从上述运行结果来看,由于channel为0,所以它会执行case 0对应的语句,之后顺序执行所有的case语句,并且在while(1)中循环执行。

图6 有break语句时的switch case语句

图7 有break语句时的switch case语句执行结果

由于channel为0,所以执行case 0语句,之后经过break语句后,达到switch case程序的结尾结束。

以上,简要说明了switch case语句的执行,其它情况此处不做说明。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 3
收藏 4
关注 248
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧