第05章-选择结构程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第05章-选择结构程序设计

5.1 关系运算及其表达式 所谓“关系运算”实际上就是“比较运算”,将两个值进行比较,判定其比较的结果是否符合给定的关系。关系表达式的值是一个逻辑值,即“真”和“假”。 例如,“a b”中的“”表示一个大于的关系运算。如果a的值是5,b的值是3,则大于关系运算“”的结果为“真”,即条件成立;如果a的值是2,b的值是3,则大于关系运算“”的结果为“假”,即条件不成立。 5.2 逻辑运算及其表达式 关系表达式只能描述单一条件,例如“x=0”。如果需要描述“x=0”、同时“x10”,就要借助于逻辑表达式了。 5.2.1 逻辑运算及其优先次序 1.逻辑运算符及其运算规则 (1)C语言提供三种逻辑运算符: 逻辑与(相当于AND) || 逻辑或(相当于OR) ! 逻辑非(相当于NOT) [例5.4] 求一元二次方程ax2+bx+c=0的解(a≠0)。 算法分析: 1、求判别式disc=b2-4ac 2、若判别式=0,有两个相等实根; 若判别式0,有两个不等实根; 若判别式0,有一对共轭复根。 问题:若定义a,b,c,disc为float,如何判断disc=0? 由于实数在计算机中存储时,经常会有一些微小误差,所以判断disc是否为0的方法是:判断disc的绝对值是否小于一个很小的数ε(例如10-6)。 说明 1、if语句允许嵌套,但嵌套的层数不宜太多。在实际编程时,应适当控制嵌套层数(2~3层)。 2、“语句1”和“语句2”,可以只包含一个简单语句,也可以是复合语句。 务必牢记:不管是简单语句,还是复合语句中的各个语句,每个语句后面的分号必不可少! 例如: if (num1num2) max=num1; else max=num2; if行后面的赋值语句“max=num1;”分号不能省略。但不要误认为if和else是2个独立的语句,它们都属于if语句中的一部分。 5.3.3 条件运算符 1.一般格式: 表达式1?表达式2:表达式3 条件表达式中的“表达式1”、“表达式2”、“表达式3”的类型,可以各不相同。 2.运算规则 如果“表达式1”的值为非0(即逻辑真), 则运算结果等于“表达式2”的值;否则,运算结果等于“表达式3”的值。。 [例5.5] 从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出;否则,直接输出。 #include stdio.h void main() { char ch; printf(Input a character: ); scanf(%c,ch); ch=(ch=A ch=Z) ? (ch+32) : ch; printf(ch=%c\n,ch); } (ch=A ch=Z) ? (ch+=32) : ch; 5.4 switch语句 C语言提供了switch语句直接处理多分支选择。 3.说明 (1)switch后面的“表达式”,可以是int、char和枚举型中的一种。 (2)每个case后面“常量表达式”的值,必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一值,有两种或两种以上的执行方案)。 (3)case后面的常量表达式仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,所以必须加上break语句,以便结束switch语句。 总结 关系运算及其表达式 逻辑运算及其表达式 if语句 switch语句 if语句及switch语句在不同问题中的运用 作业 p111 5.2, 5.5; 5.6(选做) (4)各case及default子句的先后次序,不影响程序执行结果。 (5)多个case子句,可共用同一语句(组)。 例如,在[例5.6]中的“case 10: ”和“case 9: ”共用语句组“printf(grade=A\n); break;”,“case 5: ”~“case 0: ”共用语句组“printf(grade=E\n); break;”。 (6)用switch语句实现的多分支结构程序,完全可以用if语句或if语句的嵌套来实现。 * 第5章 选择结构程

文档评论(0)

jiulama + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档