C语言 ——分支语句

C语言是一个结构化语言,这里主要介绍三种语句,分别是分支语句循环语句转向语句

今天我们就来学习第一种语句

1. (1) if 语句

这里的表达式成立(为),则语句执行,表达式不成立(为),则语句不执行

比如这段代码,先输入一个数,如果表达式成立(num为奇数),就会进入 if 的语句中

当然这里的表达式也可以是一个变量

这里的表达式是一个变量 a,此时就要看 a 是否为真了(0为假,非0为真

1.(2) else if 和 else 语句

这里的 else ifelse 是和 if 配套使用的

在这段代码中,先判断 a 是否为正数,如果不成立,再判断是否为 0,如果前两个都不成立,最后再判断是否为负数

这里可以看出这三个语句是有选择性的,意思就是只能执行一个语句,不可能同时执行两个及以上的语句

所以上面的代码中,4 既是正数又是偶数,但是最终只输出了正数,就是这个原理

但是如果你是这样写的

else if 写成了 if ,那么这两个 if 语句就都会执行

只是少了个 else 结果就截然不同了,这是第一个要注意的点

在这段代码中,第一个 if 不成立,接着判断 else ,按理说应该输出 “haha” 的呀,为什么这里什么都没有输出呢

这段代码看着 else 好像是和第一个 if 对齐的,但是在C语言中,else 是与最靠近它的那个 if 配对的,所以这里的 else 应该是和第二个 if 配对的,第一个 if 不成立程序就直接结束了

那怎么解决这种容易看错的配对问题呢

我们不妨就在每个语句下面都加一对 { } 主动框定语句的范围

这样语句之间的执行顺序就一目了然了

2. (1) switch 语句

switch 语句是⼀种特殊形式的 if...else 结构,用于判断条件有多个结果的情况。它把多重的 else if 改成更易用、可读性更好的形式

注:

        • switch 后的 expression 必须是整型表达式

         • case 后的值,必须是整形常量表达式

比如上面这段代码,输入为 4 ,switch 中的表达式为 n%4,然后将这个表达式的值与下面的 case 配对,即余数为 0 就输出“整除,余数为“0”,但是最终的结果为什么会把是所有结果都输入一遍呢?

其实是因为 switch 语句的 case 一旦有一个成立后,下面的所有 case 都会成立,就好比是多米诺骨牌,那么如何解决这样的问题呢,这里就不得不引入一个新的语法了,

2. (2) break 语句

break 语句用于跳出当前的循环,虽说是跳出循环,但是在 switch 分支语句中也可以用,

加了 break 后,当进入第一个 case 后,输出了“整除,余数为“ 0 ”后直接跳出了整个 switch 语句

不再执行之后的 case ,这样就解决了

break 同一类的还有continuegoto语句,统称为转向语句,这个就放到后面再学习了 

接下来还有最后的 default ,这个类似于 if……else 中的 else ,就是上面的 case 都不成立的时候执行,虽说把 default 放到了最后,但是它的位置是不受限制的,只要在 switch 语句中都可以

最后,

如果上面的代码或表述有问题,

欢迎一起交流

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

看落日的YT

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

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

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

打赏作者

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

抵扣说明:

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

余额充值