第3单元 运算符与表达式.pptVIP

第3单元 运算符与表达式.ppt

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

分析 在程序第6行中,系统获得用户输入的f1=15,f2=25;在程序第8行中,将关系表达式f1=f2的值赋予num1;在程序12行中,将比较形式及其结果输出,“%.2f”表示该实型数据以保留两位小数点的形式输出。 3.4 逻辑运算符及逻辑表达式 在C语言中,逻辑表达式主要用于对关系表达式之间的关系进行进一步的逻辑判断,逻辑运算的结果有两种,即非0表示真和0表示假。如ab,a||b,!a等。 3.4.1 逻辑运算符 逻辑运算符用来对关系表达式或逻辑表达式进行逻辑运算。常见的逻辑运算符及其运算规则如表3.4所示。 表3.4 逻辑运算符及其运算规则 T T F F T T F F F T T F F T T F F T T F T F F T F F T T F F T T !(a||b) !(aa) a||b ab !b !a 数据b 数据a 关于逻辑运算符应注意以下两点: (1)逻辑运算符的优先级从高到低依次是逻辑非(!)、逻辑与()、逻辑或(||)。逻辑非的优先级高于加、减、乘和除运算;与取负和自增自减优先级相同;逻辑与的优先级低于关系运算符。 例如: !a*b+!c*d /*等价于((!a)*b)+((!c)*d)*/ ab||cd!ef /*等价于(ab)||((cd)((!e)f))*/ (2)在C语言中,1、非零的整数及非\0的字符型数据均可以表示真值;0与\0表示逻辑假值。 例如: \0!a /*等价于0!a,结果为0*/ a||a\0 /*等价于97||9765,结果为1*/ 例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); printf(m=%d\nn=%d\np=%d\n,m,n,o); } 输出 m=0 n=1 o=0 分析 在程序中,逻辑表达式“(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.4.2 按位逻辑运算符 按位逻辑运算就是把整型数据转换成二进制数据,然后再执行逻辑运算。常见的按位运算符有与(逻辑乘)、或(逻辑加)、非(逻辑否定)和异或4种。 例3.8 求33和50的与、或、非及异或值。 算法 首先应把33和50转换成二进制数。十进制数转换成二进制数,采用的是“除2取余法”。其过程是先将十进制数除以2,得到一个商数和一个余数,再将商数除以2,又得到一个商数和余数,往复循环,直至商数等于零为止,每次得到的余数就是对应二进制数的各位数字。值得注意的是第一次得到的是二进制数的最低位,最后一次得到的是二进制数的最高位。如把33转换成二进制数,具体过程如下: 最后结果为(33)10=(100001)2 同理可得(50)10=(110010)2 逻辑与运算,通常用“×”或“”来表示,其运算规则是11=1,10=0,01=0,00=0。 (33)10(50)10=(100001)2(110010)2=(100000)2=(32)10 逻辑或运算,通常用“+”或“”来表示,其运算规则是11=1,10=1,01=1,00=0。 (33)10(50)10=(100001)2(110010)2=(110011)2=(51)10 非运算,通常用“ˉ”表示,其运算规则是=1,=0。 =(011110)2 =(001101)2 异或运算,通常用“”表示,其运算规则是11=0,10=1,01=1,00=0。 (33)10(50)10=(100001)2(110010)2=(010011)2=(19)10 3.4.3 逻辑表达式的定义 逻辑表达式是由逻辑运算符连接表达式构成的,其一般格式如下: 单目运算符表达式或表达式双目运算符表达式 例如:!a,!(a+b),a+bcd等。 逻辑表达式的值是一个逻辑量“真”或“假”,C语言中用1表示“真”,用0表示“假”。 例3.9 逻辑表达式实例。 程序 #include

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档