if--else语句的简单介绍和相关用法

本文详细解释了if--else语句的基本结构和执行流程,强调了分段函数的编程应用以及嵌套if的使用。同时提到了悬空else问题,提醒开发者正确使用大括号提高代码可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.if--else语句

首先我们必须明白if--else语句的的一般形式

 if(表达式)

     语句组;(语句1;语句2;语句3)

else

     语句组;(语句1;语句2;语句3)

特别需要注意的是在if和else的后面不能加封号

在有写教材包括书籍中肯将if--else语句的一般形式写为:

 if(表达式)

     语句1;

else

     语句2;

大家一定要记清楚if--else语句的一般形式。

if--else语句的执行流程:先求解表达式,如果表达式的值为“真”,就执行语句1;否则(即表达式的值为“假”),就执行语句2。语句1和语句2总要执行一个,但是不会都执行。

接下来给大家举一个简单的if--else语句的例子

计算分段函数(判断x是否不为0)如果x不等于0则输出y=1/x,如果x=0则输出y=0。输入x,计算并输出下列分段函数f(x)的值(保值1位小数)。试编写相应程序。

根据程序运行的结果我们可以看出此程序是完全符合题目条件的,而下面这张图可以清楚的为大家展示出这道题目的思路。

首先我们知道这是一道分段函数题目,紧接着我们判断出需要使用if--else语句来完成。

第一步定义两个函数变量,这里定义用的是float类型(注意自变量不一定为整形,大家一定要考虑好变量的类型)

第二步通过scanf输入函数的自变量x。

第三步使用if--else语句进行判断,在括号中填写判断条件,此处条件为x是否为0(if和else后不能加封号)。

第四步分别在if和else后加入分段函数的函数表达式,并且在每一个语句后加入封号。

最后利用printf函数对函数值进行输出。

到此这个程序就已经编写完成,接下来我们可以对程序进行编译,运行以此来验证该程序是否满足题目要求,如果有问题可以在此基础上进行修改。

2.嵌套if

在if--else语句中,else可以与另一个if语句连用,构成多重判断。

比如:要输入一个整数,判断输入的整数是0,还是正数或者负数。请看如下代码:

上图中的代码就是嵌套在前面的else子句中的,构成了嵌套的if语句。

再比如:

输入一个整数,如果是正数,再判断是奇数还是偶数,并输出;如果不是正数则输出:非奇数。

上面的代码张掖是嵌套在if语句中的,构成了嵌套的if语句。

以上就是嵌套if语句的语法,有了嵌套if语句,就可以完成更多复杂逻辑的判断。

下面有一道练习题大家可以自己试一下,代码放在题目后面。

练习:

1.输入一个人的年龄

2.如果年龄<18岁,打印“少年”

3.如果年龄在18岁至44岁打印“青年”

4.如果年龄在45岁至59岁打印“中老年”

5.如果年龄在60岁至打印“老年”

6.如果90岁以上打印“老寿星”

参考代码:

以上代码带上大括号是为了更容易看明白。

3.悬空else问题

如果有多个if和else,可以记住这样一条规则,即:else总是跟最接近的if匹配。

我们先从一组代码说起

以上程序的运行结果是什么都没有。

其实对于许多初学者来说,会直接判断a为0,然后直接执行else语句,打印hello,但是当我们去运行这给程序时会发现什么都没有。

这其实就是悬空else问题,如果一个程序有好几个if和else,并且没有大括号,那我们就需要自己判断那个if和else为一组。这里我们只需一部记住一条规则:else总是跟最接近的if匹配。

上面这一段代码是将else和第一个if对齐,会误导我们以为它们两个是匹配的,按照if--else语句的执行流程,当if语句不成立时就执行else语句,实际上else是和第二个if匹配的,也就是说第二个if和else是嵌套在第一个if中的,如果第一个if不成立,那么后面的语句自然不会执行,最终什么也不打印。

接下来我们将这段代码进行修改方便我们理解

如果我们想让第一个if和else匹配我们可以进一步修改

其实只要带上大括号,代码的逻辑就会变得更加清晰,所以大家以后在写代码的时候注意括号的使用,让代码的可读性更高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值