C语言第二章数据类型及表达式程序.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 2.5.1 隐式类型转换 4.赋值运算中的隐式类型转换 (4)将char型数据赋给short、int变量时,数据存储到变量的低8位,依据char变量是0或1而在高位补0或者补1。将short、int型数据赋给字符型变量时,只将数据的低8位存储到字符型变量中。 (5)将unsigned short型数据赋给int、long变量时,数据存入低位,高位补0。将short型数据赋给int、long变量时,数据存入低位,高位补1或者补0。 (6)将存储空间长度相同的无符号和有符号相互赋值时,数据原样赋值,即符号位与数值位一起赋值。 * 2.5.2 显式类型转换 表2-15 显式类型转换运算符 运算符 功能 目 结合性 用法 (type) 显式类型转换 单目 自右向左 (type)expr (int)x+y //将x转换成整型 (int)(x+y) //将x+y转换成整型 (int)x%3 //x的类型和数据值不变,表达式引用转换成int后的x值 【例2.11】 将一个浮点型变量d保留两位小数(四舍五入)。 解 (int)(d*100+0.5)/100.0 //d=1.2356,d*100=123.56+0.5=(int)124.06=124/100.0=1.24 * 习题 表2-16 数据的内存形式 变量类型 -32768 -128 -1 168 32767 65535 2147483647 int unsigned int short unsigned short char unsigned char * 结束 * 2.4.5 逻辑运算符 图2.3 逻辑与和逻辑或的求值顺序 * 2.4.6 条件运算符 表2-8 条件运算符 运算符 功能 目 结合性 用法 ? : 条件运算 三目 自右向左 expr1 ? expr2 : expr3 y = x=0 ? a*x+b : x ; 【例2.7】 写出分段函数的C语言表达式。 * 2.4.7 位运算符 表2-9 位运算符 运算符 功能 目 结合性 用法 ~ 按位取反 单目 自右向左 ~expr 按位左移按位右移 双目双目 自左向右自左向右 expr1 expr2expr1 expr2 按位与 双目 自左向右 expr1 expr2 ^ 按位异或 双目 自左向右 expr1 ^ expr2 | 按位或 双目 自左向右 expr1 | expr2 * 2.4.7 位运算符 1.按位与运算符() 参加运算的两个数据按二进制位进行与运算,运算规则是: 0 0 = 0,0 1 = 0,1 0 = 0,1 1 = 1 例如,79的结果是1,运算过程为: * 2.4.7 位运算符 如果参加运算的是负数,则以补码形式进行位与运算。例如,-7-9的结果是-15,运算过程为: (1)指定二进制位清零。 * 2.4.7 位运算符 (2)取整数中指定二进制位。 (3)保留指定位。 * 2.4.7 位运算符 2.按位或运算符(|) 参加运算的两个数据按二进制位进行或运算,运算规则是: 0 | 0 = 0,0 | 1 = 1,1 | 0 = 0,1 | 1 = 1 例如,7|9的结果是15,运算过程为: 因此按位或常用来设置一个整数中指定二进制位为1 * 2.4.7 位运算符 3.按位异或运算符(^) 参加运算的两个数据按二进制位进行异或运算,所谓异或是指两个二进制数相同为0,相异为1,运算规则是: 0 ^ 0 = 0,0 ^ 1 = 1,1 ^ 0 = 1,1 ^ 1 = 0 例如,7^9的结果是14,运算过程为: * 2.4.7 位运算符 (1)使指定位翻转。 (2)将两个值互换。 假设a=7,b=9,下面的赋值语句可以将a和b的值相互交换,互换后a=9,b=7。 a = a ^ b , b = b ^ a , a = a ^ b ; ①前两个表达式执行后,b = b ^ (a ^ b) ,而b ^ (a ^ b)等于a ^ b ^ b,因此b的值等于a ^ 0,即a; ②由于a = a ^ b,b = b ^ a ^ b,第3个表达式执行后,a = (a ^ b) ^ (b ^ a ^ b),即a的值等于a ^ a ^ b ^ b ^ b,等于b。 * 2.4.7 位运算符 4.按位取反运算符(~) (~)是单目运算符,将一个整数中所有二进制位按位取反,即0变1,1变0。例如,7按位取反的结果是248,运算过程为: 无论是何种整型数据,-1按补码形式存储时二进制位全是1,因此一个整数m与~m的加法或者按位或结果必然是-1,即: m + ~m=-1,m | ~

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档