(C语言课件)第五章逻辑运算和选择结构.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
if (表达式1) if (表达式2) 语句1; else 语句2; else 语句3; if 语句的嵌套:在if语句中又包含1到多个if 语句 在C语言中,if与else 的配对原则是: 从最内层开始,else总是与它上面最近的,未曾配对的if配对。 一般形式: if( ) if( ) 语句1 条件成立时的内嵌语句 else 语句2 else if( ) 语句3 条件不成立时的内嵌语句 else 语句4 注意: 1.使用内嵌的if语句时,应区分表面形式与实际作用 如: if( ) if( ) 语句1 else if( ) 语句2 else 语句3 编程者希望把中间的else与第一行的if匹配,虽然书写时排得很整齐, 但编译后程序的执行效果如何呢? if( ) /* 当条件成立时执行下面虚框中的内容 */ if ( ) 语句1 else if( ) 语句2 是中间else的子句 else 语句3 2.为了使程序清晰,不至出错,采取的方法是: (1) 使内嵌的if也包含else,如上面的问题可进行如下描述: if( ) if( ) … else … else if( ) … else ... (2) 若if和else数目不等,为实现设计者的企图,可用{ } 实现,如上述问题可进 行如下描述: if( ) { if( ) 语句1 } else {if( ) 语句2 else 语句3} 例8 给三个数A,B,C,重新排序,使ABC main() { int a,b,c,t; scanf(%d %d %d,a,b,c); if(a=b) else {t=a;a=b;b=t;} if(b=c) else { t=b;b=c;c=t; if(a=b) else {t=a;a=b;b=t;} } printf(%d %d %d,a,b,c); } 说明: 1.执行if语句时,先判断表达式的值(非0为真,0为假)为真时,执行其后语句,为假时不执行其后的语句,表达式可以是常量、变量、表达式(关系、逻辑、算术、赋值)。 2.if的各内嵌语句用“ ; ”号结束。 3.if和else后面的内嵌语句若有多句,用 { } 括起构成复合语句。 3. If(表达式) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 ┆ else if(表达式m) 语句m else 语句 n 表达式1 表达式2 表达式3 表达式4 语句5 语句4 语句3 语句2 语句1 假 假 假 假 真 真 真 真 例9 商店售货按购物的款数分别给予不同的优惠折扣。 设变量:n:购物款数, c:优惠折扣百分比,a:优惠后的实际款数 main( ) {float n, c, a; scanf (%f, n); if(n500) c=0.15; else if(n300) c=0.10; else if(n100) c=0.075; else if(n50) c=0.05; else c=0 a=n* (1-c); printf (a=%f\n, a); } 输入:800 输出:680.000000 480 43

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档