C和指针 第4章 语句 4.8 switch语句

4.8 switch语句
    C的switch语句颇不寻常。它类似于其他语言的case语句,但在一个方面存在重要的区别。首先让我们来看看它的语法,其中expression的结果必须是整型值。
    switch( expression )
        statement
    尽管在switch语句体内只使用一条单一的语句也是合法的,但这样做毫无意义。实际使用中的switch语句一般如下所示:
    switch( expression ){
        statement-list
    } 
    贯穿于语句列表之间的是一个或多个case标签,形式如下:
        case constant-expression:
    每个case标签必须具有一个唯一的值。常量表达式(constant-expression)是指编译期间进行求值的表达式,它不能是任何变量。这里的不同寻常之处是case标签并不把语句列表划分为几个部分,它们只是确定语句列表的进入点。
    switch语句的执行过程。首先是计算expression的值;然后,执行流转到语句列表中其case标签值与expression值相匹配的语句。从这条语句起,直到语句列表的结束(也就是switch语句的底部),它们之间所有的语句均被执行。
    警告:
    switch语句的执行过程的不同之处。执行流将贯穿各个case标签,而不是停留在单个case标签,这也是为什么case标签只是确定语句列表的进入点而不是划分它们的原因。如果你觉得这个行为不是那么正确,有一种方法可以纠正---就是break语句。
    4.8.1 switch中的break语句
    如果在switch语句的执行中遇到了brea

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

weixin_40186813

你的能量无可限量。

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

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

打赏作者

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

抵扣说明:

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

余额充值