C语言 三分钟搞懂 if else 分支语句

               

                 什么是 if else 呢? if else 可以理解为就是如果.....否则..... 如果条件成立,则执行if里的语句,当然,如果不成立,那么就执行else的语句。

下面做个小练习

猜猜看这里的输出结果是什么 

是"成年" 还是"未成年 不能谈恋爱"

8cedf5a15f5040569a05345cef941589.png  

 哈哈,都不是

                  这里输出的是  "成年   不许谈恋爱"

         这是为什么呢? 这是因为 分支语句if else 只能控制单条语句,意思就是这里输出的age的虽然>18,在 if 和 else 之中执行if之中的语句。但是执行完毕之后本应该跳过下面else的分支语句,但是这里却没有跳过去,仍然输出了不能谈恋爱。这是因为if else 语句只能控制一条语句,所以这里只跳过了else里的第一条语句"未成年" 而没有跳过第二条"不许谈恋爱"

    如果想跳过整个else部分的语句的话,则可以加一个{   } 将else后面的语句括起来,就可以将他们变为整个else部分的语句。42b6adf4e7844b91a6435a9fde7f2296.png

          这里就提醒我们,一个好的编码风格很重要

                    一定要尽早养成好的编码风格

   if else是单分支,那么多重分支我们该怎么写呢,我们在对应的else后面继续写一个if 并且再次写上第二个if分支里面的条件,以此类推。  示例如下图

46d8fa842bc347deaedb46498856e482.png

下面我们再来做一个小测试

下图打印的会是什么呢?

 

bd25641df66645af8a457bb48adac65b.png

 

    这里打印的是 空  ,也就是任何东西都不打印。

原因就是因为,a=0就是假,则应该选择else语句,而不是执行if语句。但是问题来了,这里为什么没有选择打印"haha"呢? 那是因为这里的printf  "哈哈"其实对应的是上一条if b==2语句,而不是第三行的if a==1语句。这么说可能不太直观。下面我们将规范的写一下这段代码就会很明白。

 

0e133fda0a854fc9af93b1e93fb48d3a.png

在这里可以清晰的看到,else是和第二个if相对,而不是和第一个if相对,所以第一个if的else应该是空。所以我们什么都没有打印。

 

d007d99641984f75bbea0713380342b8.png

             这种方法相对于上面那张图会更标准一些。我们运用大括号将局部代码扩起来,将他们视为一个部分。这样就会十分的清晰。

 

下面是两个小练习,可以自己动手实现。

(1) 输入一个输入判断它是否是奇数

(2) 输出1~100内所有的奇数

 

答案:

 

4650eeb71de649a689bd5c86c24c1e14.png

 

 

48fe41247d2c45779ab48225c8506b1a.png

此次我的学习过程就到这里了。这也是我这一节课的所听,所感,所悟。 我c语言的老师是b站的比特鹏哥,如有兴趣,可移步学习。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值