C语言萌新入门——if语句

                                                                 正文

#1.if 

   if语句,是一个条件判断语句。其语法形式如下:

若为真(表达式成立),则执行;反之若为假,则不执行。

此处涉及到C语言判断真假的逻辑,在C语言中,0为假,非0为真。

也就是说表达式的结果如果是0,则语句不执行,表达式的结果如果不是0,则语句执行。

这是一个判断数字a是否为奇数的if语句代码。

其运行逻辑如上图所示。

#2.else

要想让if语句的判断逻辑完整,光有if是不行的。需要配合else对if语句进行补完。

例如刚才举出的例子,实际上是一个残缺的代码。我们要想输入一个随机整数,来判断它是奇数还是偶数,就需要用到      if...else...       语句

通过  if...else...补完后的完整代码如下

假设输入数字为4,经过if判断后为假,跳过if语句并进入else语句,最后打印偶数。

#3.语句控制问题

下面来展示一个初学者可能都会遇到的问题

在  if语句下面跟随两个及多条语句时,运行代码时无论输入什么数字,都会打印“nihao”。

这是因为  if在语句中语句只能控制一条语句,else也是一样。

那我们如果想让if同时控制这两条语句该怎么办呢?

这时候,我们可以在if下面加一个{}把两条语句括起来。

else同理

这个时候,如果输入大于18的数字,就会同时打印语句,如果小于18,则两条语句都不会被执行。

#4.嵌套if语句

当需要用if...else...对复杂问题进行判断时,单个if...else...语句已经不能解决问题。这时就需要在一个if语句中嵌套另一个if语句,来进行多重判断。

而且在  if...else...中,else是可以和另一个if连用的。

依旧是使用第一个例子进行示范。这里我把另一个if...else...放到了else的下方。

实际操作中放置于 if  还是  else  下面可以根据需求任选。

当然,这样多重大括号的写法有时也不免显得臃肿。

我们也可以省略掉大括号,写成  else if   的形式。

#5.悬空else代码问题

先来看这样一个代码

这个代码非常具有迷惑性,很多人容易把else和第一个if进行配对,从而得出错误的代码结果。

实际上这个代码的最终结果是,什么也不打印。因为else总是和距离它最近的if进行配对,所以当第一个if条件为满足时,代码并不会进入else,而是直接结束。

那如果我们想让else语句和第一个if配对该怎么办?

可以将第二个if通过大括号放进第一个if内。这样就可以使得else和第一个if进行配对,从而输出

“nothing”

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值