- 1、本文档共79页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
002-数据类型与运算规则讲解
* 3.4 关系运算与逻辑运算 逻辑表达式 (ab)(xy); abxy; (y||b)(y||a); y||by||a; 例:a=5,b=7,c=4,d=3 x=(a+b)(c+d)(da) 先做算术运算, 再做关系判断, 再做逻辑运算, 将最后结果赋给x x的值? 0 e1 逻辑运算符 e2 任何非零实数均作为逻辑上的1 用逻辑运算符将关系运算表达式或逻辑量连接起来构成逻辑表达式,逻辑表达式的值是1或0,表示真或假 * 3.4 关系运算与逻辑运算 4321 从左向右运算(43)逻辑值为1 (12)逻辑值为0 (01)逻辑值为0 整个表达式的值为0 例: * 3.4 关系运算与逻辑运算 a=1,b=2,c=3,d=4,m=1,n=1 执行(m=ab)(n=cd) 之后 m=? n=? m=0 n=1 例: 在逻辑表达式中,并不是所有的逻辑运算都必须执行: 如果的一边已经为0,结果一定为 0,后面的就不做了; 如果 || 的一边已经为 1 ,结果一定为 1,后面的也不做了 * 3.5 位运算 位运算的基本概念 把整型数看作为一个二进制序列,按位进行六种运算 0010 0000 0101 0011 * 3.5 位运算 位运算符 运算符 含义 对象个数 结合方向 优先级 ~ 按位求反 单目 右 (14) 按位左移 双目 左 (11) 按位右移 双目 左 (11) 按位与 双目 左 (8) | 按位或 双目 左 (6) ^ 按位异或 双目 左 (7) 位运算应用于整型数据,即把整型数据看成是固定的二进制序列,然后对这些二进制序列进行按位运算。 * 3.5 位运算 按位逻辑运算 按位与运算 按位或运算| a: 1010,1001,0101,0111 b: 0110,0000,1111,1011 c: 0010,0000,0101,0011 a: 1010,1001,0101,0111 | b: 0110,0000,1111,1011 c: 1110,1001,1111,1111 * 3.5 位运算 按位异或运算^ 按位求反运算~ a: 1010,1001,0101,0111 ^ b: 0110,0000,1111,1011 c: 1100,1001,1010,1100 ~ a: 1010,1001,0101,0111 c: 0101,0110,1010,1000 * 3.5 位运算 按位逻辑运算的应用 用屏蔽特定位(将特定位清为0) 用保留特定位 用|将特定位置为1 用^将特定位翻转 注意求反运算与取负和逻辑非运算的区别: y=-x; 结果为:y=-7, y=!x; 结果为:y=0。 请课后看例题 * 3.5 位运算 移位运算 x n 或 x n C语言提供了两个移位运算:左移和右移,它们是把整数作为二进制位序列,求出把这个序列左移若干位或者右移若干位所得到的序列。 其中x为移位运算对象,是要被移位的量;n是要移动的位数。数据左移后空出来的位置补0,右移后对无符号数补0,有符号数正数补0,负数补1。 a: 0000,0111 b=a2: 0001,1100 c=a2: 0000,0001 左移位或右移位相当于整数乘以或除以2的幂 * 3.5 位运算 位运算赋值运算符 x=xn x=x|n x=xn x=xn x=x^n x = n x | = n x = n x = n x^ = n 位运算与赋值运算相结合 * 3.6 其它运算 逗号运算符 (e1, e2, e3, en) 用于连接几个表达式 求解过程:顺序求解几个表达式 优先级(15) 逗号运算符的优先级最低 结合性:左结合 x = ( ( a=4*5 , a*2 ) , a+6 ) 逗号表达式的值为最后一个表达式的值 * 3.6 其它运算 二. sizeof运算符 sizeof 是单目运算符,其含义是求出运算对象在计算机的内存中所占用的字节数量。一般形式为:sizeof( opr) opr可以是表达式或数据类型名。 例如:int i,a,b,c; a=sizeof (i); b=sizeof i; c=sizeof (int)
文档评论(0)