关系运算与逻辑运算if语句课件.ppt

上传人(卖家):晟晟文业 文档编号:4713357 上传时间:2023-01-03 格式:PPT 页数:19 大小:336.05KB
下载 相关 举报
关系运算与逻辑运算if语句课件.ppt_第1页
第1页 / 共19页
关系运算与逻辑运算if语句课件.ppt_第2页
第2页 / 共19页
关系运算与逻辑运算if语句课件.ppt_第3页
第3页 / 共19页
关系运算与逻辑运算if语句课件.ppt_第4页
第4页 / 共19页
关系运算与逻辑运算if语句课件.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、第7讲关系运算与逻辑运算 if 语句 24.1 关系运算和逻辑运算关系运算和逻辑运算 4.2 if语句语句 第四章第四章 选择结构程序设计选择结构程序设计 34.1.1 逻辑值及其在逻辑值及其在C语言中的表示语言中的表示 关系运算关系运算和和逻辑运算逻辑运算的运算结果都是一个的运算结果都是一个逻逻辑值辑值,逻辑值只有两个值,即:,逻辑值只有两个值,即:“真真”和和“假假”。在在C语言中,用语言中,用数值数值1来表示来表示“真真”,用,用数值数值0来来表示表示“假假”。因此因此逻辑值逻辑值也可以作为一个整数也可以作为一个整数参与算术运参与算术运算算。反之反之,对于参与关系运算或逻辑运算的任意,对

2、于参与关系运算或逻辑运算的任意一个表达式,如果该表达式的值为一个表达式,如果该表达式的值为零零,就代表一,就代表一个逻辑个逻辑“假假”值;只要表达式的值值;只要表达式的值不是零不是零,无论,无论是正数还是负数,都代表一个逻辑是正数还是负数,都代表一个逻辑“真真”值。值。44.1.2 关系运算符与关系表达式关系运算符与关系表达式 所谓所谓“关系运算关系运算”实际上就是实际上就是“比较运比较运算算”,即将两个数据进行比较,判定两个数据,即将两个数据进行比较,判定两个数据是是否符合给定的关系否符合给定的关系。例如,例如,“a b”中的中的“”表示一个表示一个大于大于关系关系运算运算。如果。如果a的值

3、是的值是8,b的值是的值是5,则这个关系,则这个关系运算的结果为运算的结果为“真真”,即,即数值数值1,表示,表示条件成立;条件成立;如果如果a的值是的值是6,b的值是的值是9,则运算的结果为,则运算的结果为“假假”,即,即数值数值0,表示,表示条件不成立。条件不成立。51关系运算符及其优先级关系运算符及其优先级C语言提供了六种关系运算符,如表语言提供了六种关系运算符,如表4.1所示。所示。注意:有些注意:有些运算符运算符是由是由两个字符组合而成两个字符组合而成的,如:的,如:=;其;其两个字符之间不能两个字符之间不能有空格有空格。在关系运算符中,。在关系运算符中,前前4个优先级个优先级相同相

4、同,后后2个个也相同也相同,且前,且前4个关系运算个关系运算符的优先级高于后符的优先级高于后2个。个。所有关系运算符所有关系运算符的优的优先级都比先级都比算术运算符算术运算符的优的优先级先级低低、但都比但都比赋值运算赋值运算符符的优先级的优先级高高。表4.1关系运算符及其优先级10962关系表达式关系表达式 用用关系运算符关系运算符将将两个操作数两个操作数(常量、变量或表达式常量、变量或表达式)连接连接起来,进行关系运算的式子,称为起来,进行关系运算的式子,称为关系表达式关系表达式。例如,假设例如,假设n1=5,n2=8,n3=10,则:,则:(1)关系表达式)关系表达式n1=n2的值为的值为

5、0。(2)关系表达式)关系表达式n1n3的值为的值为1。(4)关系表达式)关系表达式n1=n2n3的值等为的值等为0。注意注意:由于存在:由于存在存储误差存储误差和和转换误差转换误差,不不能直接用能直接用关系运算符关系运算符“=”来来判断判断两个实型数是否相等两个实型数是否相等。单精度实数:单精度实数:fabs(x-y)0.000001 双精度实数:双精度实数:fabs(a-b)y)为真为真的的条件下,若条件下,若a值为值为10,b值为值为16,表达式,表达式(ab)&(xy)的值为的值为“假假”,用,用数值数值0来来表示;若表示;若a值为值为10,b值为值为6,表达式,表达式(ab)&(xy

6、)的值则的值则为为“真真”,用,用数值数值1来表示。来表示。表表4.3 4.3 逻辑运算符的运算规则逻辑运算符的运算规则9 数学表达式数学表达式 0 x10表示表示x的值应该在的值应该在0到到10的范的范围内。但围内。但在在C语言中语言中不不能用能用0 x10这样一个这样一个关系关系表达式表达式来表述以上的来表述以上的数学关系数学关系。因为。因为无论无论x是什么是什么值,按照值,按照C语言的运算规则,左边的表达式语言的运算规则,左边的表达式0 x的的运算结果只能为运算结果只能为0或或1,因而表达式,因而表达式0 x10的的运算运算结果结果总是总是1。只有用只有用逻辑表达式逻辑表达式0 x&xn

7、2)(n1n2)max=n1;max=n1;elseelse max=n2;max=n2;if if(n3max)(n3max)max=n3;max=n3;printf(max printf(max=%dn,max);=%dn,max);程序运行情况如下:程序运行情况如下:Please input three numbers:11,22,18max=22例例4.1 输入三个整数,求最大值输入三个整数,求最大值/*简化形式简化形式*/max=n1;max=n1;if if(n2max)(n2max)max=n2;max=n2;14例例4.2 输入三个整数输入三个整数,在变量在变量a,b,c中排中

8、排序序 main()main()int int a,b,c,t;a,b,c,t;printf printf(input a,b,c:);(input a,b,c:);scanf scanf(%d%d%d%d%d%d,&a,&b,&c),&a,&b,&c);printfprintf(a=%d,b=%d,c=%dn,a,b,c);(a=%d,b=%d,c=%dn,a,b,c);if if(ab)(ab)t=a;a=b;b=t;t=a;a=b;b=t;if if(ac)(ac)t=a;a=c;c=t;t=a;a=c;c=t;if if(bc)(bc)t=b;b=c;c=t;t=b;b=c;c=t;p

9、rintf printf(a=%d,b=%d,c=%dn,a,b,c);(a=%d,b=%d,c=%dn,a,b,c);程序运行情况如下:程序运行情况如下:input a,b,c:62 34 24a=62,b=34,c=24a=24,b=34,c=6215 if语句中的语句中的if子句子句和和else子句子句可以是可以是任意合法任意合法的的C语句语句,当然,当然也可以也可以是另外一个是另外一个if语句语句,通常称,通常称这种语句为这种语句为嵌套的嵌套的if语句语句。内嵌的内嵌的if语句语句既可以嵌套在既可以嵌套在if子句子句中,也可以嵌中,也可以嵌套在套在else子句子句中。在运用嵌套的中。在

10、运用嵌套的if语句时,应该语句时,应该特别注意特别注意else子句子句和和if子句子句的配套问题的配套问题。如果在。如果在嵌套的嵌套的if语句中没有用语句中没有用一对花括号一对花括号强制地强制地结束结束某某个个内嵌的内嵌的不带不带else子句的子句的if语句语句,则,则else子句子句总总是与是与在它前面的在它前面的、离它最近的离它最近的、尚未与其它尚未与其它else子句匹配子句匹配的的if子句子句相匹配相匹配。以下介绍以下介绍两种两种值得关注的值得关注的嵌套嵌套if语句语句。2.嵌套的嵌套的if语句语句16 在在if语句的语句的else子句中嵌套多个具有子句中嵌套多个具有else子句的子句的

11、if语句语句语句形式如下:语句形式如下:if(表达式表达式1)语句语句1else if(表达式表达式2)语句语句2 else if(表达式表达式3)语句语句3 else if(表达式表达式4)语句语句4 .else 语句语句n 执行过程执行过程:从上向下从上向下逐一逐一对对if后的后的表达式表达式进行检测,当其进行检测,当其中某一个中某一个表达式的值表达式的值为为非零非零时,就时,就执行执行与之对应的与之对应的if子句子句,阶,阶梯形子句中的其余部分就被梯形子句中的其余部分就被跳越过去跳越过去。如果所有表达式的值。如果所有表达式的值都为零,则执行最后的都为零,则执行最后的else子句,即语句子

12、句,即语句n;如果最内层的;如果最内层的if语句没有语句没有else子句,那么将不进行任何操作。子句,那么将不进行任何操作。(1)用嵌套的用嵌套的if语句形成多分支语句语句形成多分支语句17例例4.3 编写程序,根据输入的学生成绩,给出相应的等级。编写程序,根据输入的学生成绩,给出相应的等级。90分以上的等级为分以上的等级为A,60分以下的等级为分以下的等级为E,其余每,其余每10分为一个等级。分为一个等级。main()int g;printf(Enter g:);scanf(%d ,&g);printf(g=%d:,g);if(g=90)printf(An);else if(g=80)pri

13、ntf(Bn);else if(g=70)printf(Cn);else if(g=60)printf(Dn);else printf(En);程序运行情况如下:程序运行情况如下:Enter g:78g=78:C 18(2)在在if子句中嵌套不含子句中嵌套不含else子句的子句的if语语句句 用用花括号花括号把把内层内层if语句语句括起来括起来后,使得此后,使得此内层内层if语句语句在语法上成为一条在语法上成为一条独立的语句独立的语句,从而使得,从而使得else子句子句只能只能与与外层的外层的if配对配对。注意:注意:if子句子句中的中的花括号花括号 if(表达式表达式1)if(表达式表达式2)语句语句1 else 语句语句2语句形式如下:语句形式如下:if(表达式表达式1)if(表达式表达式2)语句语句1else 语句语句219例例4.4 编写一程序实现符号函数的功能。编写一程序实现符号函数的功能。main()int x,y;printf(Enter x:);scanf(%d,&x);y=-1;if(x!=0)if(x0)y=1;else y=0;printf(x=%d,y=%dn,x,y);程序运行情况如下:程序运行情况如下:Enter x:8x=8,y=1

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

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

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


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

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


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