C语言 switch 语句的妙用

前言

       在C语言中 Switch 语句是很常用的一个语句,他是一种多路分支语句,它允许一个变量的值对多个代码块进行选择执行。经常被用来进行状态判断,使用状态机的方式来使问题简单化,下面一起看看它的使用。

基本用法

我们从最简单的用一步一步的开始讲解

基本格式

注意;case 后必须是常量表达式,不能是变量或计算结果,后为‘:’不是‘

        Switch语句的基本格式就是这样,switch语句后面跟一个整数表达式(在某些编译器中也可以是非整型的,比如枚举类型,但会被隐式转换为整数),然后是一系列的case标签,每个case后面跟一个常量表达式或常数,表示switch表达式可能的值。当switch表达式的值等于某个case标签的值时,程序将从这个case开始执行,比如flag=1;他就会从case 1:开始执行,执行完case 1:在执行case 2:顺着一直往下执行,直到所有的执行完毕。

        但这样肯定不满足我们的一些需求,如果,我只想它执行case 1:怎么办,可以在case执行程序结尾处加上break;告诉它执行到这里就够了,退出Switch语句。

break;跳出

只执行一个case标签;

注意;break为跳出当前循化,只跳出一层;

那么如果我所有的case标签都没有被执行,这种情况怎么办呢?

default语句;

       在Switch语句的最后处加上default:当所有case标签没有被执行时,他会自动执行default中的内容,这种方法也常常被用来进行程序错误反馈。

       上面就是Switch的基本用法了,当然如果你在配合if语句进行使用,就可以做成一个状态机检测啦。

状态机检测示例

我们以一个烧开水倒水喝的过程来举例子吧。

我们可以把这个过程拆分一下,水烧开->倒水->水凉喝水。

       这就是一个简单的状态机判断,合理的运用标记位,标记状态,Switch与if判断状态进行,可以将复杂问题简单化,方便我们将实际问题用程序表示出来,以做出我们想要的产品

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值