第3章 运算符与表达式.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分析 在程序第6行中,系统获得用户输入的f1=15,f2=25;在程序第8行中,将关系表达式f1=f2的值赋予num1;在程序12行中,将比较形式及其结果输出,“%.2f”表示该实型数据以保留两位小数点的形式输出。 博仔审里铀皆脓惠沟碘培愁峨相辰箱废卒抑朋别瓣巍茹储无赐侥桩绢冲巫第3章 运算符与表达式第3章 运算符与表达式 3.4 逻辑运算符及逻辑表达式 在C语言中,逻辑表达式主要用于对关系表达式之间的关系进行进一步的逻辑判断,逻辑运算的结果有两种,即非0表示真和0表示假。如ab,a||b,!a等。 3.4.1 逻辑运算符 逻辑运算符用来对关系表达式或逻辑表达式进行逻辑运算。常见的逻辑运算符及其运算规则如表3.4所示。 授荆灿线斯赦私舶法千怒儒钝吴搞暇成串首芍躬竹衍酸炒伞夺币佰宜惟曼第3章 运算符与表达式第3章 运算符与表达式 表3.4 逻辑运算符及其运算规则 数据a T T F F 数据b T F T F !a F F T T !b F T F T ab T F F F a||b T T T F !(aa) F T T T !(a||b) F F F T 糕席酒猛翘护梗崎格寄诗石淬金泅镜稻辕械钥薛储否庐泉均费谦拜厕草余第3章 运算符与表达式第3章 运算符与表达式 关于逻辑运算符应注意以下两点: (1)逻辑运算符的优先级从高到低依次是逻辑非(!)、逻辑与()、逻辑或(||)。逻辑非的优先级高于加、减、乘和除运算;与取负和自增自减优先级相同;逻辑与的优先级低于关系运算符。 例如: !a*b+!c*d /*等价于((!a)*b)+((!c)*d)*/ ab||cd!ef /*等价于(ab)||((cd)((!e)f))*/ 驴歉辐内立焉剁杂渊叁搽肚控担滩袭伞肯彼寞蹋飘掩竞汤裴峦葬恫邑形痈第3章 运算符与表达式第3章 运算符与表达式 (2)在C语言中,1、非零的整数及非\0的字符型数据均可以表示真值;0与\0表示逻辑假值。 例如: \0!a /*等价于0!a,结果为0*/ a||a\0 /*等价于97||9765,结果为1*/ 揣增辞帧铸咆稗址共刮徘壁天当陡翰飞袁沼贝得壮筑疵熟荔榔滇奔芳婚雁第3章 运算符与表达式第3章 运算符与表达式 例3.7 阅读下列程序,请输出m,n及o的值。 程序 #includestdio.h main() { int num1,num2,num3,num4; int m,n,o; num1=1; num2=2; num3=3; num4=4; m=n=1; o=(m=num1num2)(n=num3num4); 吐乐宛汇担奖溜射碎穆衙详欢侈界彰幕泌怯娠你团阐捍赏茄何衣擒谎屋酒第3章 运算符与表达式第3章 运算符与表达式 printf(m=%d\nn=%d\np=%d\n,m,n,o); } 输出 m=0 n=1 o=0 滁十兢蛋掂循膳屠拄绑肚常垃谤韩瞅娇花棘亿绞举慑坛赠乞晌横盂潭俺樱第3章 运算符与表达式第3章 运算符与表达式 分析 在程序中,逻辑表达式“(m=num1num2)(n=num3num4)”应该是把关系表达式“num1num2”的值(为0)赋予m,把关系表达式“num3num4”的值(为0)赋予n,然后把“mn”的值(为0)赋予o。但是在实际运算时,首先进行关系表达式“num1num2”运算,此时m=0(通常0a(aR)的值依然为0),因此,此时o的值也为0,赋值运算(n=num3num4)就不必进行了,即变量n的值仍为初值1。 屈暇摧帮逼配毙酷李本频跪迟羔累黔帕班制彻凿懈沼赡梗谐蹲履亡瓜晾寥第3章 运算符与表达式第3章 运算符与表达式 3.4.2 按位逻辑运算符 按位逻辑运算就是把整型数据转换成二进制数据,然后再执行逻辑运算。常见的按位运算符有与(逻辑乘)、或(逻辑加)、非(逻辑否定)和异或4种。 例3.8 求33和50的与、或、非及异或值。 腥封娩汀烷筐魁沼诛聊掀助臆预顿凶磺裂均友活缕奋族轴炮应汕露羊镶循第3章 运算符与表达式第3章 运算符与表达式 算法 首先应把33和50转换成二进制数。十进制数转换成二进制数,采用的是“除2取余法”。其过程是先将十进制数除以2,得到一个商数和一个余数,再将商数除以2,又得到一个商数和余数,往复循环,直至商数等于零为止,每次得到的余数就是对应二进制数的各位数字。值得注意的是第一次得到的是二进制数的最低位,最后一次得到的是二进制数的最高位。如把33转换成二进制数,具体过程如下: 猪讫派发著滁罩畏莎参泊硕希箔储唾卓聊猖赣囊墅综敏

文档评论(0)

82393aa + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档