分支语句(If)

本文详细介绍了C语言中if语句的基本结构、使用方法,包括if...else语句、嵌套if结构以及简洁写法如省略大括号的情况。同时提到了else语句的对立关系和elseif语句的引入,以提高代码可读性。

0.引言

在c语言的庞大体系中,if语句尤为重要。我写下这个博客的目的呢,就是让大家学会if语句的最基本的用法。

1.if语句

上图是if语句的基本结构,()里面放的是表达式{} 里面放的是语句。当表达式为真,则执行语句,反之不执行。注意:在c语言中0为假,非0为真。

那么接下来我们看一段代码:

例1.1

这里我们明显可以看到第一个if语句中表达式为0即为假,所以不执行。

第二个if语句中表达式为1,属于非0,为真,所以执行。

所以我们将会看到输出为”Flowey“,如下图所示:

当然,我们c语言的表达式可不是只有数字那么简单,它一般都伴随着操作符一起出现。

例如:"a>b","1<2","a==b+3","a!=6+b"

那么接下来我们用”a>b“来试一下吧!

例1.2

在这一串代码中,a=3,b=5,很明显表达式“a>b”为假,所以语句不执行。

如下图:

2.else语句

我们刚刚介绍了if语句,但是在刚刚的例子中,一个if语句只可以判断一个表达式。

在例1.2中,我们的if语句只判断了表达式”a>b“,但是我想让它判断除”a>b“之外的情况该怎么办呢?

那么我们接下来介绍if的兄弟:else

else通常与if一起构成if....else语句.

上图为if....else的基本结构.可以看到else的后面是没有表达式的,这是因为它的表达式就是if后面的表达式的对立,例如但if后面的语句是“a>b”时,else的表达式就是“a<=b”。

让我们再来改进一下例1.2

例2.1

可以看到,我在后面加了一个else。让我们来分析一下,首先a=3,b=5,然后进入if语句,表达式(a>b)不满足,那么就进入else语句,表达式(a<=b)满足,所以执行else语句中的语句。

结果如图

在我们熟悉之后呢,就会发现,只要if语句中的表达式不成立,else语句的表达式就必定成立,所以以后我们在读代码时,只要发现if的表达式为假,那么就可以直接else中的语句了。

3.if语句的嵌套

我们之前了解到了if...else语句的基本结构,那有人可能会问:那么我们可以在if语句中再放一个if语句吗?当然是可以的,因为if语句它也是语句的一种,也满足其基本结构。

例如我们看一下这个代码

例3.1

我们先来分析一下这个代码,首先由于scanf函数,我们得输入一个数字,假如我输入了15,然后将15赋值给a,那么a就等于15。然后我们判断if语句中的表达式“a>0”,显然表达式成立,然后我们看到第二个if语句的表达式"a%2==0",明显15除以2的余数是1,不等于0,所以表达式为假,执行其else语句中的语句,即打印“奇数”。

如图

这就是if语句的嵌套。

细心的朋友可能会看到,在例3.1中,第二个if语句没有按基本结构来写,即所执行的语句没有被大括号{}括起来,这是因为当if语句所执行的语句只有一条的话,就可以把{}省略。

例如下图

可以省略成

我们知道这个之后,我们来创造一个新的语句吧!

首先我们看下面的代码

例3.2

我们可以看到,在第一个else语句中,只有一个if...else语句,所以我们把它的大括号{}去掉。

如图

例3.2.1

诶,我们发现了一个新的语句——else if语句。当我们只使用if...else语句时,我们发现如果我们想判断两个以上的表达式时,如例3.2,所写出的代码十分的繁琐,读起来不好理解。else if就很好的解决了这个问题。如例3.2.1,我们可以很明显的看到,所判断的表达式有三个,即“num==0”,"num>0","num<0(此表达式为else语句中省略的表达式)"。当把5赋值给“num”时,我们可以很快的看出,“num>0”成立,即执行else if语句中的表达式。

如图

以上就是if语句的基本用法啦,我们再来看一段代码来结束这一篇博客吧!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值