003-数据类型与运算的规则.ppt

  1. 1、本文档共119页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
003-数据类型与运算的规则

* 3.4 关系运算与逻辑运算 条件运算符与条件表达式 例:符号函数sign的数学定义如下: 对应的C函数定义如下: double sign (double x) { return x0 ? 1:(x==0 ? 0:-1); } * 3.4 关系运算与逻辑运算 条件运算符 唯一的三目运算符 e1 ? e2 : e3 判断表达式1的值,若为非0(真),将表达式2的值作为整个条件表达式的结果;否则,将表达式3的值作为整个表达式的结果 。 功能: x=(ab)?a:b 当 a=9,b=5时,条件表达式的值为9,x=9 注意:e2、e3不是都要计算。 * 3.4 关系运算与逻辑运算 高于赋值,低于其它(3) 优先级: 结合性:从右向左 a=5,b=4,c=3,d=2 x=(ab)?a:(ad)?c:d x=(ab)? a : ((ad)?c:d) x=((ab)?a:(ad)) ? c:d 数据类型可以不同 ? √ * 3.4 关系运算与逻辑运算 if语句与条件运算的关系 例:求一个数字的绝对值 if (y0) x=-y; else x=y; (y0)?x=-y:x=y; 等价 等价 x=(y0)?-y:y; 说明:if else可以完成与条件运算符( ? : )完全相同的任务,并且可以进行相应的转换。 * 第3章 数据类型与运算规则 数据与数据类型 C语言的基本数据类型 算术运算与赋值运算 关系运算与逻辑运算 位运算 其它运算 混合运算及数据类型转换 * 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 用^将特定位翻转 请课后看例题 * 3.5 位运算 设 int x=7,求y=~x 例: y=~x=~7=~(0000,0000,0000,0111) = 1111,1111,1111,1000 = -8 对x的值(7)按位求反结果恰为-8的补码表示,其原因是计算机中有: 整数求负=整数求补=按位求反+1  所以:按位求反=整数求负-1。 注意求反运算与取负和逻辑非运算的区别: y=-x; 结果为:y=-7, y=!x; 结果为:y=0。 * 3.5 位运算 移位运算 x n 或 x n 左移和右移:把整数作为二进制位序列,求出把这个序列左移或者右移若干位所得到的序列。 其中x为移位运算对象,是要被移位的量;n是要移动的位数。数据左移后空出来的位置补0,右移后对无符号数补0,有符号数正数补0,负数补1。 a: 1101,0011 b=a2: 0100,1100 c=a2: 0001,0011 左移位或右移位相当于整数乘以或除以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章 数据类型与运算规则 数据与数据类型 C语言的基本数据类型 算术运算与赋值运算 关系运算与逻辑运算 位运算 其它运算 混合运算及数据

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档