C语言if else嵌套例题_C语言中if—else语句的嵌套分析
摘 要:选择语句在C语言程序设计中广泛使用,本文分析了C语言中选择语句之间的关系,尤其对if-else语句的嵌套关系进行了阐述说明,在分析复杂嵌套关系时,强调else与if的对应关系,从而可以更好地理解程序,得出准确的结果。
关 键 词:选择;嵌套;分析
Select statement in C language program is widely used in design, this paper analyzes the C language statements in the relationship between the choice, especially for if-else statement nested relationship between explains, on the analysis of the complex nested relations, with emphasis on the corresponding shut if else, so as to better understand the program, draws accurate results.
在谈及if语句嵌套时,几乎所有的教科书均给出一句经典的说明,嵌套关系的if语句之间的配对关系的判断方法为最里边的if和它下面的最近的else是一对。这段话,对初学者来说不太容易理解。其实,在研究if-else语句时,最重要的是先解决if语句之间是并列关系还是嵌套关系。如果是并列关系,if语句之间没有包含关系,但if语句的执行顺序会影响变量的当前值。如果是嵌套关系,则要找到if和else之间的配对关系[1]。
由于在else语句中可以不断地嵌套if-else语句,形成多层嵌套,因此可以将嵌套理解为从上到下逐一对if后的表达式进行检测。当表达式为非0时,执行相关语句,阶梯部分被越过,如果所有表达式为假,则执行最后的else语句。这里需要注意的是,else不能省,因为如果没有else,情况可能完全不同。
看这样一个简单命题:
if (ab>c)
{printf(“%d\n”,d);
else if (c-2>=d)
printf(“%d\n”,d+1);}
else
printf(“%d\n”,d+2);
}
本例中出现了多个if 和else,而且它们之间存在包含与被包含关系,即嵌套关系。很明显第一个格式输出函数到第二个格式输出函数之间的语句是作为第一个if语句的真实存在的结果。而一旦首个if语句为假,那么只能执行最后面的输出语句。这里,虽说第二个else是与前面的else if离得最近,但由于其前面大括号的存在,也就使它与上面所提及的if没有了任何的关系,它也只能与最先出现的if配成一对,完成最外围选择的需要。这里还要特别注意的是第一个if语句的条件a>b>c判定的结果,往往错误的产生,均由该条件没有判定好而引起[4]。N—S流程如图2所示。
综上所述,无论是并列关系,还是嵌套关系,对于纯粹的选择语句,稍加用心是可以区分好if与else的关系的,而实际的情况是if语句中往往掺杂着关系,或是逻辑表达式,再加上自增减表达式的存在,同时对于else的缺省,以及大括号的使用,都给程序的读取造成一定的困难。因此需要我们进行经常性地练习,这样才能做到熟能生巧。
参考文献
[1] 李泽中.C语言程序设计[M].北京:清华大学出版,2008.
[2] 刘玉英.C语言学习指南与解题[M].北京:中国水利水电出版社,2002.
[3] 朝乐门.名师讲堂——二级C语言[M].北京:人民邮电出版社,2007.
[4] 郭俊凤.C程序设计案例教程[M].北京:清华大学出版社,2009.
栏目最新:
- 爱情僚机(四首)2023-07-07
- 有关爱情艺术学习心得3篇【优秀范文】2022-08-22
- 理想=爱情,主题婚礼秀2022-08-10
- [公园管理所党支部组织生活会工作方案]...2020-04-15
- 机关打字员个人总结_B超打字员个人总结2020-04-15
- 人事档案下半年工作思路 下半年的工作...2020-04-15
- 陌陌劲舞团下载安装方法_心动劲舞团陌陌...2020-03-20
- 新浪微博塞班客户端如何清除客户端缓存...2020-03-20
- 塞班论坛江湖风云录 新浪微博塞班最新...2020-03-20
- 易信如何发表说说心情 发表心情的说说2020-03-20
相关文章:
- 小米4怎么连接豌豆荚?_小米应用商店红包漏洞
- 金立s5.5怎么查看内存卡里的文件?:金立s5.5拆机视频
- 三星s5国际版配置怎么样:三星s5参数配置
- 金立ELIFE,s5.1电池容量多大?:金立s10电池容量多大
- 【华为mate7什么时候出】 华为mate7玩游戏怎么样
- 【三星Galaxy,S4怎样发彩信】 三星Galaxy Tab S4
- 华为畅享5s手机壳女款【Iphone5s如何与电脑连接】
- 发展前景怎么形容_前景怎么运用
- [三星Galaxy,A5的屏幕尺寸是多少?] 三星a5108屏幕价格
- [联通puk码怎么查询]中国移动puk码查询网站
- o型血和b型血配吗 [男人b型血跟女人o型血配吗]