C语言程序课件ppt-第4章选择结构.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言程序课件ppt-第4章选择结构.ppt》由会员分享,可在线阅读,更多相关《C语言程序课件ppt-第4章选择结构.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章 选择结构选择结构内容提要:内容提要:关系运算符和关系表达式关系运算符和关系表达式逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式选择结构控制语句选择结构控制语句ifif语句(单分支、双分语句(单分支、双分支、多分支、支、多分支、if if语句的嵌套)语句的嵌套)选择结构控制语句选择结构控制语句switchswitch语句(多分支)语句(多分支)4.1 关系运算符和关系表达式关系运算符和关系表达式1.1.关系运算符及其优先次序关系运算符及其优先次序 (小于小于)=(大于大于)=(=(大于或等于大于或等于)=(=(等于等于)!=(!=(不等于不等于)优先级相同(高)优先级相同(高)优先级相
2、同(低)优先级相同(低)说明:说明:关系运算符的优先级低于算术运算符关系运算符的优先级低于算术运算符关系运算符的优先级高于赋值运算符关系运算符的优先级高于赋值运算符2.2.关系表达式关系表达式用关系运算符将两个表达式(可以是算术表达式或用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符表达式)关系表达式,逻辑表达式,赋值表达式,字符表达式)接起来的式子,称关系表达式接起来的式子,称关系表达式例:例:ab,a+bb+c,(a=3)(b=5),ab)(bb”的值为的值为“真真”,表达式的值为,表达式的值为1。C C语言中没有专用的逻语言中没有专用的逻辑值,辑值,1
3、 1代表真,代表真,0 0代代表假表假 4.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式1.1.逻辑运算符及其优先次序逻辑运算符及其优先次序(1)&(1)&(逻辑与逻辑与)相当于其他语言中的相当于其他语言中的ANDAND(2)|(2)|(逻辑或逻辑或)相当于其他语言中的相当于其他语言中的OROR(3)!(3)!(逻辑非逻辑非)相当于其他语言中的相当于其他语言中的NOTNOT例:例:a&b a&b 若若a,ba,b为真,则为真,则a&ba&b为真。为真。a|b a|b 若若a,ba,b之一为真,则之一为真,则a|ba|b为真。为真。!a a 若若a a为真,则为真,则!a!a为假。为假。优先
4、次序:优先次序:!(非非)-&()-|()逻辑运算符中的逻辑运算符中的“&”和和“|”低于关系运算符,低于关系运算符,“!”高于算高于算术运算符术运算符2.2.逻辑表达式逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子就用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。是逻辑表达式。逻辑表达式的值应该是一个逻辑量逻辑表达式的值应该是一个逻辑量“真真”或或“假假”。例:例:设设a=4a=4,b=5b=5:!a!a的值为的值为0 0a&ba&b的值为的值为1 1a|ba|b的值为的值为1 1!a|b!a|b的值为的值为1 14&0|24&0|2的值为的值为1 1任何非零的数值被
5、认作任何非零的数值被认作“真真”例:例:53&83&84-!0 自左向右运算自左向右运算 1&0逻辑值为逻辑值为083逻辑值为逻辑值为1表达式值为表达式值为0在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。(1)a&b&c (1)a&b&c 只有只有a a为真时,才需要判断为真时,才需要判断b b的值,只有的值,只有a a和和b b都为真都为真时,才需要判断时,才需要判断c c的值。的值。(2)a|b|c (2)a|b|c 只要只要a a为真,就不必判断为真,就不必判断b b和和c c的值,只有的值,只有a a为假,为假,才判断才
6、判断b b。a a和和b b都为假才判断都为假才判断c c例:例:(m=ab)&(n=cd)当当a=1,b=2,c=3,d=4,ma=1,b=2,c=3,d=4,m和和n n的原值为的原值为1 1时,由于时,由于“abab”的值的值为为0 0,因此,因此m=0m=0,而,而“n=cdn=cd”不被执行,因此不被执行,因此n n的值不是的值不是0 0而而仍保持原值仍保持原值1 1。例:用逻辑表达式来表示闰年的条件例:用逻辑表达式来表示闰年的条件 能被能被4整除,但不能被整除,但不能被100整除。整除。能被能被4整除,又能被整除,又能被400整除。整除。答答(year%4=0&year%100!=
7、0)|year%400=0案案值为真值为真(1)是闰年,否则为非闰年。是闰年,否则为非闰年。引例:计算函数值引例:计算函数值:当当x=0 x=0时,时,y=1;y=1;当当x x0时时,y=sin(x)/x;y=sin(x)/x;需考虑:需考虑:输入输入x 判断判断x值值 根据根据x值,计算值,计算y值值 输出输出y值值显然显然 顺序程序不能够实现,须引入选择结构程序。顺序程序不能够实现,须引入选择结构程序。输入输入x 真真 x为为0?假假 y=1 y=sin(x)/x 输出输出y#include#include#include#include void main()void main()fl
8、oat x,y;float x,y;printf(Enter x:);printf(Enter x:);scanf(%f,&x);scanf(%f,&x);if(x!=0.0)if(x!=0.0)y=sin(x)/x;y=sin(x)/x;else else y=1;y=1;printf(x=%5.2fty=%7.4fn,x,y);printf(x=%5.2fty=%7.4fn,x,y);结果:结果:Enter x:2Enter x:2 x=2.00 y=0.4546 x=2.00 y=0.45464.3 if 语句语句if语句是用来判定所给定的条件是否满足,根据判语句是用来判定所给定的条件是
9、否满足,根据判定的结果定的结果(真真或或假假)决定执行给出的两种操作之一。决定执行给出的两种操作之一。if语句的三种形式:语句的三种形式:单分支单分支if语句语句、双分支双分支if语句语句和和多分支多分支if语句语句。例如:例如:if(xy)printf(“%d”,x);这种这种if语句的执行过程见图:语句的执行过程见图:假假 真真xyprintf(“%d”,x);可以是一个语句可以是一个语句也可以是复合语也可以是复合语句句一般为逻辑一般为逻辑表达式或关表达式或关系表达式系表达式理论上可以理论上可以是任意数值是任意数值类型类型if(a)printf(“Hello,world”);4.3.1 单
10、分支单分支if语句语句单分支单分支if语句的基本格式为:语句的基本格式为:if(表达式)(表达式)语句;语句;例例4.1 4.1 输入两个整数输入两个整数a a和和b b,如果,如果abab,则把整数,则把整数a a打印出来。打印出来。#include#include void main()void main()int a,b;int a,b;printf(printf(请输入整数请输入整数a a和和b b的值的值:n);:n);scanf(%d,%d,&a,&b);scanf(%d,%d,&a,&b);if(ab)if(ab)printf(%dn,a);printf(%dn,a);例例4.2
11、 4.2 大小写字母转换大小写字母转换.#include#include void main()void main()char ch;char ch;printf(printf(请输入一个大写字母请输入一个大写字母:n);:n);scanf(%c,&ch);scanf(%c,&ch);if(ch=A&ch=A&ch y)printf(“%d”,x);else printf(“%d”,y);xyprintf(“%d”,x);printf(“%d”,y)真真假假注注意意注意注意例例4.3 读程序读程序#include void main()float x,y;printf(enter x:);sc
12、anf(%f,&x);if(x=0)y=1;else y=(x*5+1)/x;printf(nx=%4.1fty=%4.1fn,x,y);例例4.4 输入一个整数输入一个整数a,判断它是偶数还是奇数?,判断它是偶数还是奇数?分析:偶数:分析:偶数:a%2=0#include void main()int a;printf(t input a number:);scanf(%d,&a);if(a%2=0)printf(nt%d is evenn,a);else printf(nt%d is oddn,a);结果:结果:input a number:125 125 is odd4.3.3 多分支多
13、分支if语句语句基本格式为:基本格式为:if(表达式表达式1)语句块语句块1;elseif(表达式表达式2)语句块语句块2;else if(表达式表达式n)语句块语句块n;else 语句块语句块n+1;真真(非非0)假假(0)假假(0)假假(0)真真(非非0)真(非真(非0)表达式表达式1语句块语句块1表达式表达式2表达式表达式n语句块语句块n+1语句块语句块2语句块语句块n图图4-3 多分支多分支if语句执行流程语句执行流程例例4.5:评价学生的成绩。(:评价学生的成绩。(score90score90优秀优秀,90score80,90score80良好良好,80score7080score7
14、0中中,70score60,70score60及格及格,score60,score60不及格。)不及格。)#include void main()int score;printf(input a score:);scanf(%d,&score);if(score=90)printf(优秀优秀n);else if(score=80)printf(良好良好n);else if(score=70)printf(中中n);else if(score=60)printf(及格及格n);else if(score60)printf(不及格不及格n);结果:结果:input a score:86 良好良好4
15、.3.4 if语句的嵌套语句的嵌套if (表达式表达式)if (表达式表达式)语句块语句块1;else 语句块语句块2;else if (表达式表达式)语句块语句块3;else 语句块语句块4;if (表达式表达式)if (表达式表达式)语句块语句块1;else if (表达式表达式)语句块语句块2;else 语句块语句块3;内嵌内嵌if内嵌内嵌if内嵌内嵌ifif (if (表达式表达式 )if(if(表达式表达式 )语句块语句块1 1;else else if(if(表达式表达式 )语句块语句块2 2;else else 语句块语句块3 3;-1(x0)1.#include void ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 课件 ppt 选择 结构
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内