网站大量收购闲置独家精品文档,联系QQ:2885784924

c语言第7讲关系运算与逻辑运与算if语句.pptVIP

c语言第7讲关系运算与逻辑运与算if语句.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言第7讲关系运算与逻辑运与算if语句

第7讲 关系运算与逻辑运算 if 语句 4.1.1 逻辑值及其在C语言中的表示 4.1.2 关系运算符与关系表达式 1.关系运算符及其优先级 2.关系表达式 2.逻辑表达式 用逻辑表达式来表示多个条件的组合 例:“非完全求解” 4.2 if语句 例4.3 (2) 在if子句中嵌套不含else子句的if语句 例4.4 编写一程序实现符号函数的功能。 * * 4.1 关系运算和逻辑运算 4.2 if语句 第四章 选择结构程序设计 关系运算和逻辑运算的运算结果都是一个逻辑值,逻辑值只有两个值,即:“真”和“假”。在C语言中,用数值1来表示“真”,用数值0来表示“假”。 因此逻辑值也可以作为一个整数参与算术运算。反之,对于参与关系运算或逻辑运算的任意一个表达式,如果该表达式的值为零,就代表一个逻辑“假”值;只要表达式的值不是零,无论是正数还是负数,都代表一个逻辑“真”值。 所谓“关系运算”实际上就是“比较运算”,即将两个数据进行比较,判定两个数据是否符合给定的关系。 例如,“a b”中的“”表示一个大于关系运算。如果a的值是8,b的值是5,则这个关系运算的结果为“真”,即数值1,表示条件成立;如果a的值是6,b的值是9,则运算的结果为“假”,即数值0 ,表示条件不成立。 C语言提供了六种关系运算符,如表4.1所示。 注意:有些运算符是由两个字符组合而成的,如:=;其两个字符之间不能有空格。在关系运算符中,前4个优先级相同,后2个也相同,且前4个关系运算符的优先级高于后2个。 所有关系运算符的优先级都比算术运算符的优先级低、但都比赋值运算符的优先级高。 表4.1关系运算符及其优先级 10 9 用关系运算符将两个操作数(常量、变量或表达式)连接起来,进行关系运算的式子,称为关系表达式。 例如,假设n1=5,n2=8,n3=10,则: (1)关系表达式n1==n2的值为0。 (2)关系表达式n1=n3的值为1。 (3)关系表达式n1+n2n3的值为1。 (4)关系表达式n1== n2n3的值等为0。 注意:由于存在存储误差和转换误差,不能直接用关系运算符“==”来判断两个实型数是否相等。 单精度实数:fabs(x-y)0.000001 双精度实数:fabs(a-b)1e-14 1.逻辑运算符及其优先级 C语言提供了三种基本的逻辑运算符。逻辑代数的其它逻辑运算都可以转化为这三种逻辑运算的组合。 4.1.3 逻辑运算符与逻辑表达式 优先级次序: ! (逻辑非)14 算术运算符13/12 关系运算符10/9 (逻辑与)5 ||(逻辑或)4 赋值运算符2 表4.2 逻辑运算符及其优先级 14 右结合 4 5 由逻辑运算符和运算对象所组成的表达式称为逻辑表达式。逻辑运算的对象可以是C语言中任意合法的表达式。 例如:在关系表达式(xy)为真的条件下,若a值为10,b值为16,表达式(ab)(xy)的值为“假”,用数值0来表示;若a值为10,b值为6,表达式(ab)(xy)的值则为“真”,用数值1来表示。 表4.3 逻辑运算符的运算规则 数学表达式 0x10表示x的值应该在0到10的范围内。但在C语言中不能用0x10这样一个关系表达式来表述以上的数学关系。因为无论x是什么值,按照C语言的运算规则,左边的表达式0x的运算结果只能为0或1,因而表达式0x10的运算结果总是1。 只有用逻辑表达式0x xl0才能正确地表述以上数学关系。 如判断一个年份是否是闰年的逻辑表达式为: (year%4==0)(year%100!=0)||(year%400==0) “非完全求解”法:当求出某个逻辑运算符的左边的运算量的值就能够明确地确定这个逻辑运算的结果时,就结束求解过程,直接给出运算结果。例如: (1) a b c 若a为“假”,直接求得ab及整个表达式的值为“假”; 若a为“真”,b为“假”,ab及整个表达式的值为“假 ”。 只有当a为“真”时,才需要判别b的值;只有当ab的值为“真”时,才需要判别c的值。 (2) a || b || c 若a为“真”,直接求得 a || b及整个表达式的值为“真”; 若a为“假”,b为“真”, a || b及整个表达式的值为“真”; 只有当a为“假”时,才需要判别b的值;只有当a||b的值为“假”时,才需要判别c的值。 逻辑表达式的“非完全求解”法 #include stdio.h void main() {int x,a,b,c; a=1;b=2

文档评论(0)

150****4233 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档