程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表.ppt

上传人:s****8 文档编号:68496943 上传时间:2022-12-28 格式:PPT 页数:23 大小:202.50KB
返回 下载 相关 举报
程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表.ppt_第1页
第1页 / 共23页
程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表.ppt_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表.ppt》由会员分享,可在线阅读,更多相关《程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表达式if语句三元条件表达式switch语句第五章第五章 选择结构的程序设计选择结构的程序设计1一一 程序的三种基本结构程序的三种基本结构结构化程序设计结构化程序设计基本思想:任何程序都可以用三种基本结构表示,限基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(制使用无条件转移语句(goto)结构化程序:三种基本结构反复嵌套构成的程序结构化程序:三种基本结构反复嵌套构成的程序优点:结构清晰,易读,提高程序设计质量和效率优点:结构清晰,易读,提高程序设计质量和效率三种基本结构三种基本结构顺序结构顺序结构ABAB流程图流程图N-

2、S图图2PAB真真假假PBA真真假假v选择结构选择结构kA1A2AiAnk=k2k=k1k=knk=ki.l二分支选择结构二分支选择结构l多分支选择结构多分支选择结构3v循环结构循环结构l当型循环结构当型循环结构l直到型循环结构直到型循环结构PA假假真真当当P为真为真AAP真真假假A直到直到P为真为真注:注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构可以是一个简单语句,也可以是一个基本结构4二、关系运算符和关系表达式二、关系运算符和关系表达式1 1、关系运算符:、关系运算符:、=、=:优先级高于优先级高于=、!=!=例如:例如:C a+b C a+b 即即 C (a+b)C (

3、a+b)说明说明:算术运算符的优先级高于关系运算符:算术运算符的优先级高于关系运算符a=bc a=bc 即即 a=(bc)a=(bca=bc 即即 a=(bc)a=(bc)2 2、关系表达式的值:关系表达式的值:0 10 13 3、运算符的优先级和结合规则参见教材附录、运算符的优先级和结合规则参见教材附录5三、逻辑运算符和逻辑表达式三、逻辑运算符和逻辑表达式1 1、逻辑运算符:、逻辑运算符:&:与:与|:或:或!:非:非 (注意:三个运算符之间的优先级)(注意:三个运算符之间的优先级)注意特例注意特例:!0 !2 2|3 2&3 !0 !2 2|3 2&3 2 2、逻辑表达式举例:、逻辑表达式

4、举例:判断一年为润年的条件是:判断一年为润年的条件是:年数可以被年数可以被4 4整除但不能被整除但不能被100100整除整除或者或者 年数可以被年数可以被400400整除整除。(year%4=0&year%100!=0)|(year%400=0)(year%4=0&year%100!=0)|(year%400=0)例如:判断例如:判断20052005年和年和20082008年。年。6 四、选择型程序设计if语句(条件选择语句)if语句的三种形式形式一:格式:if(expression)statement执行过程:exprstatement非0=0例:if(xy)printf(“%d”,x);e

5、xprstatement1statement2非0=0l形式二:u格式:if(expression)statement1 else statement2u执行过程:例:if(xy)max=x;else max=y;7形式三:格式:if(expr1)statement1else if(expr2)statement2else if(expr3)statement3.else statement n expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0u执行过程:例:if(salary1000)index=0.4;else

6、if(salary800)index=0.3;else if(salary600)index=0.2;else if(salary400)index=0.1;else index=0;8再再看看一一个个例例子子:根根据据学学生生的的成成绩绩百百分分制制划划分分为优、良、中、及格、不及格等级。为优、良、中、及格、不及格等级。main()main()intint score;score;char grade;char grade;scanf(%d,&scorescanf(%d,&score););if(score=90)if(score=90)grade=A;grade=A;else if(sco

7、re=80)else if(score=80)grade=B;grade=B;else if(score=70)else if(score=70)grade=C;grade=C;else if(score=60)else if(score=60)grade=D;grade=D;else else grade=E;grade=E;printf(%dprintf(%d:%cn,score,grade);:%cn,score,grade);9如:if(a=b&x=y)printf(“a=b,x=y”);if(3)printf(“OK”);if(a)printf(“%d”,a);l说明:uif后面的表

8、达式类型任意u语句可以是复合语句u if(x)if(x!=0)if(!x)if(x=0)例 考虑下面程序的输出结果:#include main()int x,y;scanf(“%d,%d”,&x,&y);if(xy)x=y;y=x;else x+;y+;printf(“%d,%dn”,x,y);Compile Error!10嵌套在嵌套在if if 语句之中。语句之中。if()if()if()if()if()if();elseelse;elseelse;elseelse;注意:层次关系。注意:层次关系。例如:判断下列程序输出的结果例如:判断下列程序输出的结果形式四:形式四:11例:if(a=b

9、)if(b=c)printf(“a=b=c”);else printf(“a!=b”);修改:if(a=b)if(b=c)printf(“a=b=c”);else printf(“a!=b”);实现if else 正确配对方法:加 12例 考虑下面程序输出结果:main()int x=100,a=10,b=20;int v1=5,v2=0;if(a0)if(n0)if(a0)if(a0)z=a;z=a;elseelse z=b;z=b;printf(%dprintf(%d n,z);n,z);若把上面的若把上面的if if 语句该为下列形式,输出又是多少:语句该为下列形式,输出又是多少:14i

10、f(n0)if(n0)if(a0)if(a0)z=a;z=a;elseelse z=b;z=b;if(n0)if(n0)if(a0)if(a0)z=a;z=a;else else z=b;z=b;理解括号改变嵌套关系。理解括号改变嵌套关系。自己自己修改修改“学生成绩百分制学生成绩百分制”成为语句格式成为语句格式4 4的形式。的形式。15五、三元条件表达式五、三元条件表达式表达式表达式1?1?表达式表达式2:2:表达式表达式3 3 -等价于等价于-if(if(表达式表达式1)1)表达式表达式2;2;else else 表达式表达式3;3;16例例1 1:if(x y)if(x y)z=x;z=x

11、;else else z=y;z=y;等价于等价于:z=(x y)?x:y;:z=(x=A&=A&chch=Z)?60n”);break;.19例 switch(score)case 5:printf(“Very good!”);case 4:printf(“Good!”);case 3:printf(“Pass!”);case 2:printf(“Fail!”);default :printf(“data error!”);运行结果:score为5时,输出:Very good!Good!Pass!Fail!data error!20例 void main()int x=1,y=0,a=0,b

12、=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;printf(“na=%d,b=%d”,a,b);运行结果:a=2,b=121main()/*main()/*判断程序的输出结果判断程序的输出结果*/char char chch;scanfscanf(%(%c,&chc,&ch););switch(chswitch(ch)case a:case a:printf(aprintf(a selctedselcted!);!);break;break;case b:c

13、ase b:case c:case c:printf(b,cprintf(b,c selctedselcted!);!);break;break;default:default:printf(Notprintf(Not a valid a valid chiocechioce!);!);break;break;22七、程序举例七、程序举例判断润年的问题:判断润年的问题:main()main()intint y,leap;y,leap;scanf(%d,&yscanf(%d,&y););leap=(y%4=0&y%100!=0)|(y%400=0)?1:0;leap=(y%4=0&y%100!=0)|(y%400=0)?1:0;printf(n%dprintf(n%d%s,y,leap?leap year:not leap year);%s,y,leap?leap year:not leap year);作业:实验作业:实验2 223

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁