5-第五章_选择结构上.pptx

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5-第五章_选择结构上

第五章? 选择结构程序设计 对于如下的函数计算,算法上属于一个选择结构。 y= 用于实现选择结构的主要是if语句。1/x 当x≠0时 10000 当x=0时if语句的最常见形式为: if(关系表达式)语句1; else 语句2;如: if(x!=0) y=1/x; else y=10000;其中 x!=0 就是一个关系表达式 != 就是一个关系运算符 5.1 关系运算符和关系表达式1、关系运算符用于进行比较运算的运算符。共有六种: = = = = !=■优先级与结合性:① 前4种大于后两种。② 低于算术运算符而高于赋值运算符。③ 左结合性。 2、关系表达式一般形式:〈表达式〉〈关系运算符〉〈表达式〉 如:ab a+bb+c 经过关系运算后最终有一个值--关系表达式的值。 关系表达式的值只有 0(假)或1(真) 例:设 a=2, b=4, c=1 计算以下关系表达式的值: aba+bb+c‘a’’b’ 可以是字符表达式(x=2)(y=5)可以是赋值表达式(ab)(bc)甚至可以是关系表达式ab= =bc 例:假设 x=3, y=5, z=1, 计算以下关系表达式的值:x+zyxy==yzyz==xzyxz(x==y-2)z+1==x+ya=x+y==x+zy+x!=z+1x+1 5.2 逻辑运算符和逻辑表达式有时,只用一个简单的关系表达式无法完整地表达一个条件,如: y= 其中的条件需要用逻辑表达式来表达: x!=0 a!=0 就是一种逻辑运算符。 1/x+1/a 当x≠0,a≠0时 10000其它1、逻辑运算符 逻辑与 两个操作数都为真时运算结果为真。|| 逻辑或 两个操作数之一为真时即为真。! 逻辑非 (单目运算) 操作数为真(假)时为假(真)。 如:若 a=2, b=3, c=0 则: abbc 0 ab||bc 1 !(ab) 0 ■优先级(由高到低):! 逻辑非算术运算符关系运算符逻辑与||逻辑或赋值运算符■结合性:左结合性 2、逻辑表达式 实际上,前面所举例子即为逻辑表达式: abbc ab||bc !(ab) 逻辑表达式的值同样只有1和0,但参加逻辑 运算的操作数可以是任意类型的数据,可以是 任意大小。例: a+bb+c 是合法的逻辑表达式。此时以0代表假,非0代表真。 例:设 a=2, b=3, c=0 , 计算以下表达式的值: ab bc a||c !a+cb+c !c+a==b||ba a+c||a+bc+10 对于逻辑表达式的两种基本技能:① 逻辑表达式的计算。② 逻辑表达式的构造。 逻辑表达式的构造举例: a≥b≥c a和b之一为0,但不同时为0 a=b=c5=4=3a=bb=ca==0b!=0 || a!=0b==0a*b==0a*b==0a+b!=0对于 a==0 b!=0 || a!=0 b==0 a==0可以用!a代替 a!=0可以直接用a !a b || a !b但必须是运算结果作为逻辑量的情况下。 y=(a!=0) 与 y=a 不等效 5.3 if语句1、if语句的三种形式①?if(表达式)语句; 有一分支为空。 scanf(“%d”,score); if(score=60) printf(“pass”); ? ②?if(表达式)语句1; else 语句2; if(x!=0) y=1/x; else y=10000; ?③? if(表达式1)语句1; else if(表达式2)语句2; else if(表达式3)语句3; ┇ else 语句n; if(score==100) printf(“A”); else if(score=90) printf(“B”); else if(score=80) printf(“C”); else if(score=70) printf(“D”); else if(score=60) printf(“E”); else printf(“F”); 对于: ??1/x 当x≠0时?y=1/x;if(x==0)y=10000y= 10000 当x=0时一般用:if(x!=0) y=1/x;else y=10000;也可用:y=10000;if(x!=0) y=1/x;例:(习题5.5): x (x1) y=2x-1 (1≤x10) 3x-11 (x≥10) void main() { float x,y; scanf(“%f”,x); if(x1) y=x; else if(x10) y=2*x-1; else y=3*x-11; printf(“\n y=%f”,y); } 说明:①?语句中的表达式可以是任意表达式: i

文档评论(0)

137****8835 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档