[理学]C课件第04章.ppt

上传人(卖家):三亚风情 文档编号:3368772 上传时间:2022-08-24 格式:PPT 页数:39 大小:917.02KB
下载 相关 举报
[理学]C课件第04章.ppt_第1页
第1页 / 共39页
[理学]C课件第04章.ppt_第2页
第2页 / 共39页
[理学]C课件第04章.ppt_第3页
第3页 / 共39页
[理学]C课件第04章.ppt_第4页
第4页 / 共39页
[理学]C课件第04章.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、2022-8-91 Program Design in C LanguagePage关系运算和逻辑运算关系运算和逻辑运算 if语句语句switch语句语句条件运算符条件运算符第四章第四章第四章第四章 2022-8-92 Program Design in C LanguagePage2.4.2 关系运算符与关系表达式关系运算符与关系表达式关系运算关系运算(比较运算)(比较运算)即比较两个量的大小,比较的结果为即比较两个量的大小,比较的结果为“真真”或或“假假”。例:例:a3如果如果a=8a=8,则结果为,则结果为“真真”;如果;如果a=1a=1,则结果为,则结果为“假假”1.1.关系运算符关系

2、运算符含义含义运算符运算符优先级优先级结合性结合性小于小于6左结合左结合小于等于小于等于6左结合左结合大于等于大于等于=6左结合左结合等于等于=7左结合左结合不等于不等于!=7左结合左结合C C关系运算符关系运算符2022-8-93 Program Design in C LanguagePage2.2.关系表达式关系表达式用关系运算符将两个表达式连接起来的式子。用关系运算符将两个表达式连接起来的式子。24 基本运算符及其表达式基本运算符及其表达式一般形式:一般形式:其中:表达式其中:表达式1 1和表达式和表达式2 2可以是任何表达式。可以是任何表达式。a bc!=y(x z)=(y z)m+

3、n=c 例:例:关系运算符的关系运算符的优先级优先级低于低于算术运算符算术运算符高于高于赋值运算符赋值运算符int a=10,b=5,c=2;a b c?2022-8-94 Program Design in C LanguagePageC C语言没有逻辑型数据。因此,语言没有逻辑型数据。因此,在返回逻辑值时:在返回逻辑值时:用用1 1表示表示“真真”,用,用0 0表示表示“假假”;在判断逻辑值时:在判断逻辑值时:用非用非0 0代表代表“真真”,用,用0 0代表代表“假假”。24 基本运算符及其表达式基本运算符及其表达式例:例:#includevoid main()int a=10,b=5,c

4、=2;printf(%d,%d,%dn,ab,abc);1,0,02022-8-95 Program Design in C LanguagePage关系表达式只能表达一些简单的关系,如:关系表达式只能表达一些简单的关系,如:sum=1500y!=z即只能对一个条件进行测试。即只能对一个条件进行测试。而以下关系:而以下关系:20 x100则不能用关系表达式表达。则不能用关系表达式表达。a!a真(1)假(0)假(0)真(1)逻辑非!逻辑非!真值表真值表1.1.逻辑运算符逻辑运算符 C C逻辑运算符:逻辑运算符:含义含义运算符运算符 优先级优先级 结合性结合性逻辑非逻辑非!2右结合右结合逻辑与逻辑

5、与&11左结合左结合逻辑或逻辑或|12左结合左结合2.4.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式2022-8-96 Program Design in C LanguagePagea ab ba|ba|b真(1)真(1)真(1)真(1)真(1)真(1)真(1)真(1)假(0)假(0)真(1)真(1)假(0)假(0)真(1)真(1)真(1)真(1)假(0)假(0)假(0)假(0)假(0)假(0)逻辑或逻辑或 真值表真值表2.2.逻辑表达式逻辑表达式 用逻辑运算符将表达式连接起来的式子。用逻辑运算符将表达式连接起来的式子。如:如:1)0 x10 x=0&x5或或x5|x15 3)a、b不

6、能同时为零不能同时为零 !(a=0&b=0)aba&b真(真(1)真(真(1)真(真(1)真(真(1)假(假(0)假(假(0)假(假(0)真(真(1)假(假(0)假(假(0)假(假(0)假(假(0)逻辑与逻辑与&真值表真值表一般形式为:一般形式为:表达式表达式1逻辑运算符逻辑运算符表达式表达式22.4.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式2022-8-97 Program Design in C LanguagePage 逻辑表达式是构成选择结构条件的基本式子。逻辑表达式是构成选择结构条件的基本式子。注意注意 在计算逻辑表达式时,并非所有的逻辑运算符都在计算逻辑表达式时,并非所有的

7、逻辑运算符都参与运算。参与运算。如:如:x=y=-1;+x&+y;/*x=?y=?*/0-1“短路能力短路能力”算术运算算术运算关系运算关系运算逻辑与、逻辑与、或或逻辑非逻辑非运算符运算优先级小结:运算符运算优先级小结:2.4.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式2022-8-98 Program Design in C LanguagePage4.1 用if语句实现选择结构4.1.1 if4.1.1 if语句的三种形式语句的三种形式 格式一:格式一:单分支结构单分支结构 if()语句语句A;表 达 式语句AYN语句执行过程:语句执行过程:先判断条件先判断条件(表达式表达式),若条

8、件成立,若条件成立,就执行语句就执行语句A A;否则,直接执行;否则,直接执行ifif后面的后面的语句。该结构的流程图如右图所示。语句。该结构的流程图如右图所示。例:例:if(grade =60)printf(Passedn);注意:注意:单分支结构只有在条件为真时,才执行给单分支结构只有在条件为真时,才执行给定的操作,如果条件为假,则不执行任何操作。定的操作,如果条件为假,则不执行任何操作。2022-8-99 Program Design in C LanguagePage1)条件均为逻辑表达式或关系表达式,也可)条件均为逻辑表达式或关系表达式,也可以是任意的数值类型。以是任意的数值类型。2

9、)语句可以是单语句,也可以是复合语句。)语句可以是单语句,也可以是复合语句。注意:在复合语句注意:在复合语句 外不需再加分号外不需再加分号。例:例:if(3)printf(O.K.n);if(q)printf(%dn,a);if(3x&x=5)printf(3xb)t=a;a=b;b=t;说明:说明:2022-8-910 Program Design in C LanguagePage例:例:键盘输入一个整数,输出该数的绝对值。键盘输入一个整数,输出该数的绝对值。main()int num;printf(请输入一个整数请输入一个整数%d:n);scanf(%d,num);if (num y,直

10、接输出直接输出;要么要么xy,两数交换。两数交换。4.1 用if语句实现选择结构main()int x,y,t;printf(Please input two integers:n);scanf(%d%d,&x,&y);if(x y)t=x;x=y;y=t;printf(nx=%d,y=%dn,x,y);2022-8-912 Program Design in C LanguagePage格式二:格式二:双分支结构双分支结构 if()语句语句A;else 语句语句B;注意:注意:else子句是子句是if语句的一部分,它不能作为语语句的一部分,它不能作为语句单独使用,必须与句单独使用,必须与if

11、配对使用。配对使用。4.1 用if语句实现选择结构表 达 式 1N语 句 B语 句 AY语句执行过程:语句执行过程:先判断条件先判断条件(表达式表达式),若条件成立,就,若条件成立,就执行语句执行语句A A;否则,执行语句;否则,执行语句B B。即一定会执。即一定会执行语句行语句A A和语句和语句B B中的一句,且只能执行其中中的一句,且只能执行其中的一句。该结构的流程图如右图所示。的一句。该结构的流程图如右图所示。例:例:if(grade =60)printf(“Passedn”);else printf(“Failedn”);2022-8-913 Program Design in C L

12、anguagePage例例 :计算计算void main()float x,y;printf(Please Input x(%f):n);scanf(%f,&x);if(x=0)y=3*x+6;else y=-x*x+2*x-8;printf(y=%.2fn,y);82632xxxy)0()0(xx4.1 用if语句实现选择结构2022-8-914 Program Design in C LanguagePage格式三:格式三:多分支结构多分支结构 if()语句语句1;else if()语句语句2;else if()语句语句n-1;else 语句语句n;表达式表达式1 1表达式表达式2 2表达

13、式表达式3 3表达式表达式n-1n-1语句语句n n语句语句n-1n-1.语句语句3 3语句语句2 2语句语句1 1.真真真真真真真真假假假假假假假假4.1 用if语句实现选择结构对多种情况进行测试对多种情况进行测试,实质是实质是嵌套的嵌套的if-else结构结构2022-8-915 Program Design in C LanguagePage27(0)2(0)3(0)xxyxxx例:例:计算计算4.1 用if语句实现选择结构#include void main()float x,y;printf(“Input%f:n);scanf(%f,&x);if(x 0)y=x-7;else if(

14、x=0)y=2;else y=3*x*x;printf(%.2f n,y);初始化变量初始化变量x xx0 x0 x=0 x=0y=x-7y=x-7y=3y=3*x x*x xy=2y=2Y YN NY YN N2022-8-916 Program Design in C LanguagePage4.1 用if语句实现选择结构例:例:根据学生的课程成绩在不同的分数段根据学生的课程成绩在不同的分数段内,打印正确的等级名称内,打印正确的等级名称 90A 8089B 7079C 6069D 59E2022-8-917 Program Design in C LanguagePage清晰清晰4.1 用

15、if语句实现选择结构if(grade=90)printf(“A”);else if(grade=80)printf(“B”);else if(grade=70)printf(“C”);else if(grade=60)printf(“D”);else printf(“E”);if(grade=90)printf(“A”);else if(grade=80)printf(“B”);else if(grade=70)printf(“C”);else if(grade=60)printf(“D”);else printf(“E”);注意这里隐含的情注意这里隐含的情况:况:分数小于分数小于902022

16、-8-918 Program Design in C LanguagePage说明:说明:在三种形式的在三种形式的if语句中的语句均为内嵌语句,故分语句中的语句均为内嵌语句,故分号不能省略。此外,内嵌语句可以是单个语句,也号不能省略。此外,内嵌语句可以是单个语句,也可以由多个语句组成的可以由多个语句组成的复合语句复合语句。4.1 用if语句实现选择结构例:例:if(a 0)/*error:缺少缺少if子句子句*/else x=-x;程序在书写时,建议采用缩进格式,以突出程序在书写时,建议采用缩进格式,以突出程序的结构,便于阅读和修改。程序的结构,便于阅读和修改。2022-8-919 Progr

17、am Design in C LanguagePage例例2 2:if(a0)if(b0)printf(%d,%dn,a,b);else printf(%dn,a);else if(b0)printf(%dn,b);else printf(n);if语句中又包含一个或多个语句中又包含一个或多个if语句称为语句称为ifif语句的嵌套语句的嵌套。请说出以下两段程序的功能:请说出以下两段程序的功能:例例1 1:if(a0)if(b0)printf(%d,%dn,a,b);如果如果a,b都是正都是正数数,则输出则输出a,b输出输出a,b中的正数中的正数4.1 用if语句实现选择结构4.1.2 if4.

18、1.2 if语句的嵌套语句的嵌套2022-8-920 Program Design in C LanguagePage说明说明:三种三种if语句可以互相嵌套。语句可以互相嵌套。在多个在多个ifelse的嵌套中,从最内层开始,的嵌套中,从最内层开始,else总是与它上面最近的一个总是与它上面最近的一个if配对。配对。如:如:4.1 用if语句实现选择结构2022-8-921 Program Design in C LanguagePage内层的选择结构必须完整地嵌套在外层的选择结内层的选择结构必须完整地嵌套在外层的选择结构内,两者不允许交叉。以下是错误的理解:构内,两者不允许交叉。以下是错误的理

19、解:4.1 用if语句实现选择结构2022-8-922 Program Design in C LanguagePage例例 :读程序。读程序。main()int a=2,b=1,c=2;if (a)if(b0)c=0;else c+;printf(%dn,c);main()int a=2,b=1,c=2;if (a)if(b=ca=cmax=cmax=cmax=bmax=bmax=cmax=cYb=cb=cYmax=amax=aa=ba=bNNYN4.1 用if语句实现选择结构2022-8-924 Program Design in C LanguagePage程序程序:main()int

20、a,b,c,max;printf(”请输入三个整数请输入三个整数:%d%d%dn”);scanf(%d%d%d,&a,&b,&c);if (a=b)if (a=c)max=a;else max=c;else if(b=c)max=b;else max=c;printf(”n最大数为:最大数为:%dn”,max);4.1 用if语句实现选择结构2022-8-925 Program Design in C LanguagePageswitchswitch语句的格式:语句的格式:switch(条件表达式条件表达式)case :语句语句1;break;case :语句语句2;break;case :语

21、句语句n-1;break;default:语句语句n;break;4.2 用switch语句实现多分支选择结构条件表达式条件表达式:整型:整型/字符型表达式(或枚举表达式)字符型表达式(或枚举表达式)常量表达式常量表达式:整型:整型/字符型常量表达式字符型常量表达式2022-8-926 Program Design in C LanguagePage例:例:根据成绩等级输出相应分数段范围根据成绩等级输出相应分数段范围4.2 用switch语句实现多分支选择结构main()char grade;printf(Please input a grade(A-D):);scanf(%c,&grade)

22、;switch(grade)case A:printf(85 100n);case B:printf(70 84n);case C:printf(60 69n);case D:printf(60n);default:printf(Input error!);B7084606960Input error!?2022-8-927 Program Design in C LanguagePageswitchswitch语句语句结果分析结果分析流程图流程图选择结构选择结构print“6069”print“7084”print“85100”print“60”print“error”ABCDdefault

23、grade2022-8-928 Program Design in C LanguagePageswitchswitch语句语句正确的流程图正确的流程图选择结构选择结构print“6069”print“7084”print“85100”print“60”print“error”ABCDdefaultgrade2022-8-929 Program Design in C LanguagePage正确的程序:正确的程序:main()char grade;printf(Please input a grade(A-D):);scanf(%c,&grade);switch(grade)case A:p

24、rintf(85 100n);break;case B:printf(70 84n);break;case C:printf(60 69n);break;case D:printf(=3000)c=12;else c=s/250;switch(c)case 0:d=0;break;case 1:d=2;break;case 2:case 3:d=5;break;case 4:case 5:case 6:case 7:d=8;break;case 8:case 9:case 10:case 11:d=10;break;case 12:d=15;break;f=p*w*s*(1-d/100.0);

25、printf(距离为距离为%.2fkm时的运费是:时的运费是:%.2f元。元。n,s,f);4.2 4.2 用用switchswitch语句实现多分支选择结构语句实现多分支选择结构2022-8-933 Program Design in C LanguagePage2.4.4 条件运算符与条件表达式条件运算符与条件表达式条件运算符:条件运算符:?:三目运算符三目运算符 右结合右结合例:例:ab?max=a:max=b例:例:(grade=60)?printf(“Passed”):printf(“Failed”);条件表达式一般形式:条件表达式一般形式:?:表表达达式式 1 表表达达式式 2 表

26、表达达式式 3 真真 假假 2022-8-934 Program Design in C LanguagePage说明:说明:条件表达式主要用于对在条件表达式主要用于对在if语句中无论条件是否成语句中无论条件是否成立,都只执行一个赋值语句给同一变量赋值的情况立,都只执行一个赋值语句给同一变量赋值的情况4.3 用条件表达式实现选择结构例:例:if(a b)min=a;elsemin=b;min=(ab)?a:b;等价于等价于(ab)?min=a:min=b;2022-8-935 Program Design in C LanguagePage条件运算符的优先级高于赋值运算符,低于算术运条件运算符

27、的优先级高于赋值运算符,低于算术运算符、关系运算符和逻辑运算符。算符、关系运算符和逻辑运算符。4.3 用条件表达式实现选择结构min=ab?a:b;等价于等价于 min=(ab)?a:b;条件运算符的结合性为条件运算符的结合性为“自右向左自右向左”。ab?a:bc?b:c 等价于等价于ab?a:(b10?2:3.5 的值为浮点型的值为浮点型2022-8-937 Program Design in C LanguagePage例:任意输入三个整数,找出其中最大的整数。a=ca=cmax=cmax=cmax=bmax=bmax=cmax=cYb=cb=cYmax=amax=aa=ba=bNNYN4.3 用条件表达式实现选择结构2022-8-938 Program Design in C LanguagePage程序程序:main()int a,b,c,max;printf(”请输入三个整数请输入三个整数n”);scanf(”%d%d%d”,&a,&b,&c);max=a=b?a=c?a:c:b=c?b:c;printf(”最大数为:最大数为:%dn”,max);4.3 用条件表达式实现选择结构2022-8-939 Program Design in C LanguagePage

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文([理学]C课件第04章.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|