首页 理论教育 C语言程序设计-嵌套if语句及条件语句

C语言程序设计-嵌套if语句及条件语句

时间:2023-10-26 理论教育 版权反馈
【摘要】:这是一个典型的if语句嵌套结构,如果不使用括号,那么if和else的对应关系就乱了。if-else-if条件语句是一种多分支的条件语句。

C语言程序设计-嵌套if语句及条件语句

条件语句可以嵌套,这种情况经常碰到。当if语句中的执行语句又是if语句时,则构成了if语句嵌套的情形。其嵌套形式有如下几种表示形式:

(1)在简单if语句中嵌套if语句

(2)只在if子句中嵌套if语句

(3)只在else子句中嵌套if语句

(4)在if子句和else子句中同时嵌套if语句

在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。

例如:

其中的else究竟是与哪一个if配对呢?

是应该理解为:

还是应该理解为:

为了避免这种二义性,C语言规定,else总是与它前面最近的if配对,因此对上述例子应按前一种情况理解。

对于上述情况,为了程序的可读性,建议大家在使用类似if的语句时,不管情况如何都带上花括号

例5.4:输入三个数x、y、z,然后按从大到小输出。

这是一个典型的if语句嵌套结构,如果不使用括号,那么if和else的对应关系就乱了。运行结果如图5.8所示。

图5.8 例5.4输入三个数然后排列顺序

img

通过本章的学习,我们学到了如下知识点:

➢if语句是最简单的一种条件判断式,可先行判断条件语句是否成立,再根据结果来决定所要执行的程序语句。

➢if-else语句提供了两种不同的选择,当if的判断条件成立时,就执行if块中的语句,如果不成立,则会执行else块中的语句。

➢if-else-if条件语句是一种多分支的条件语句。

➢嵌套if语句:当if语句中的执行语句又是if语句时,则构成了if语句嵌套的情形。

img

1.如果张三C语言考试成绩大于90分,爸爸就奖励他“仙剑奇侠四”,否则爸爸就罚他闭门思过,运行效果如图5.9和图5.10所示。(www.xing528.com)

图5.9 满足条件

图5.10 不满足条件

2.我想买车,买什么车决定于我在银行有多少存款。如果我的存款超过500万,我就买凯迪拉克;如果我的存款超过100万,我就买帕萨特;如果我的存款超过50万,我就买伊兰特;如果我的存款超过10万,我就买奥托;我买捷安特。运行效果如图5.11所示。

图5.11 输出买车信息

3.用户根据提示信息从键盘输入年份,按回车键后,输出该年是否为闰年。提示:判断闰年的条件:能被4整除但不能被100整除,或者能被400整除。运行效果如图5.12和图5.13所示。

图5.12 满足条件

图5.13 不满足条件

4.接收用户输入的一个数,如果该数是正数则原样输出,如图5.14所示,如果该数是负数则输出该数的相反数,运行效果如图5.15所示。

图5.14 正数

图5.15 负数

5.接收用户输入的3个数字,找出其中最大的一个,运行效果如图5.16所示。

图5.16 输出最大的数字

img

1.商场实行新的幸运抽奖规则:会员号的百位数字加会员号的个位数字的和等于8或等于9的即是幸运会员,可以获得精美MP3一个,运行效果如图5.17和图5.18所示。

图5.17 中奖情况

图5.18 不中奖情况

2.接收用户输入的一个6位数字,判断各位上数字之和能否被2整除,运行效果如图5.19和图5.20所示。

图5.19 不满足条件

图5.20 满足条件

3.从键盘输入年份和月份,如果月份是在1~12内,输出“x年x月有x天”,否则输出“输入的月份不正确”,运行效果如图5.21所示。

图5.21 判断输入月份

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈