第5章_选.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文档。上传文档
查看更多
第五章 选择结构的作用是:根据指定的条件是否满足,决定从给定的两组操作选择其一。 主要内容 5.1 关系运算符和关系表达式 5.2 逻辑运算符和逻辑表达式 5.3 if语句 5.4 switch语句 5.5 程序举例 5.1 关系运算符和关系表达式(比较) 5.1 关系运算符和关系表达式 例: 50的值为“真”,即为1。 (a=3)(b=5)由于35不成立,故其值为假,即为0。 【注意】 浮点数用近似值表示,不能用“==”判断二者相等 【例】1.0/3.0*3.0==1.0(×) 应该判断二者之差的绝对值,是否在规定的范围内。 【例】fabs(1-1.0/3.0*3.0)1e-5 “==”和“=”的区别: 【例】int i=2,j=3;则1 i=j 为3 2 i==j 为0 字符变量是以它对应的ASCII码参与运算的。 【例】‘a’98的值为0 思考:描述x0、同时x10 ? 0x10?(x为-5或100) 5.2 逻辑运算符和逻辑表达式 【表5-1】P93 逻辑运算的真值表 【逻辑运算总结】 ab 若a,b都为真,则ab为真。 a||b 若a,b之一为真,则a||b为真。 !a 若a为真,则!a为假。 优先顺序及结合性 与运算符和或运算符||均为双目运算符。具有左结合性。 非运算符!为单目运算符,具有右结合性。 !(非) - (与) - ||(或) 逻辑运算符中的“”和“||”低于关系运算符,“!”高于算术运算符 【例】 ab cd 等价于 (ab)(cd) !b==c||da 等价于 ((!b)==c)||(da) a+bcx+yb 等价于 ((a+b)c)((x+y)b) 5.2 逻辑运算符和逻辑表达式 5.2 逻辑运算符和逻辑表达式 5.2 逻辑运算符和逻辑表达式 例:(m=ab)(n=cd) a=1,b=2,c=3,d=4,m=1,n=1 由于“ab”的值为0,因此m=0,而“n=cd”不被执行 因此n的值不是0,而仍保持原值1。 【例】 int a=0,b=2,c; c = a(b=3) a==0,b==2,c==0。 c = b||(a=3) a==0,b==2,c==1。 【注意】 由逻辑运算符连接的多个表达式,在计算下一个表达式之前,上一个已计算完成。 【例】int i=0,j;j=(i++==0)(i==1)后,i==1,j==1。 5.2 逻辑运算符和逻辑表达式 5.2 逻辑运算符和逻辑表达式 【例】描述x0、同时x10 ? (x0) (x10) (x为-5或100)? 【例】 ==的优先级比=高 从右到左求值 5.3 if语句:根据给定的条件是否满足,决定执行何种操作。 【注意】 执行过程分析 首先判断表达式的值,记作x 表达式自身处理 若x非0,则执行跟随的语句 若x为0,则跳过跟随的语句 【例】 【例1】 if (0) printf(“Hello\n”); 5.3 if语句 5.3 if语句 5.3 if语句 5.3 if语句 5.3 if语句 5.3 if语句 5.3 if语句 5.3 if语句 if (x5) printf(“%d\n”,x); else if (x10) printf(“%d\n”,x); 5.3 if语句 5.3 if语句 5.3 if语句 5.3 if语句 5.3 if语句 5.3 if语句 5.3 if语句 5.3 if语句 ? 优先级和结合方向 条件运算符优先级高于赋值运算符 ,低于关系运算符和算术运算符。 条件运算符的结合方向为“自右至左”。 【注意】 取哪个表达式的值,才运算哪个表达式。 【例】int i=1,j=1; k=ij?i++:j++; i:1,j:2,k:1; 问号前面的表达式,结果出来后,才计算后面表达式的值。 【例】int i=1,j=2; k=(i++j)?i++:100; i:3,j:2,k:2; 【注意】 逗号表达式(,) 逻辑表达式(,||) 条件表达式(?:) printf if语句 都是先完成前面所有的计算,再进行后面的计算。 5.4 switch语句 5.4 switch语句 5.4 switch语句的用途 switch语句用于处理多分支选择,可弥补if语句程序冗长、可读性差的缺点。 5.4 switch语句 5.4 switch语句 5.4 switch语句 (6) 执行完一个case后

文档评论(0)

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

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

1亿VIP精品文档

相关文档