- 1、本文档共62页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言讲义-演示文稿-2
3.数据类型、运算符与表达式 3.9 赋值运算符和赋值表达式 3.9.1 赋值运算符:= 作用:将一个数据或一个表达式的值赋给一个变量。 3.9.2 类型转换 (1)float-int :舍弃小数部分 (2)int-〉float,double:数值不变,以浮点数形式存储。 (3)double-float :截取前面7位有效数字,但是数据不能溢出,就是不能超出float 的范围,不能太大或太小。 程序验证, file目录下c3_9_2_3程序。 main() { float f; double d=123.456789e100; f=d; printf(%f,f); } 3.数据类型、运算符与表达式 (4)char-int:将数据放在低8位 a) 系统将字符处理成无符号数据,则高8位补0; b) 系统将字符处理成有符号数据,(turboc2) 最高位为0, 则高8位补0 最高位为1, 则高8位补1 (5)int,short,long-char:只取低8 位送char 变量。 例如:int i=289; char c=’a’; c=i; i=289D=0000 0001 0010 0001B c= 0010 0001B=33D 例程:C3_9_2_4 3.数据类型、运算符与表达式 (6) int-long:进行符号扩展 将int的16位送到long的低16位, 如果int 为正数(即符号位为0),则高16位补0; 如果int 为负数(即符号位为1),则高16位补1; long-int :截取低16位,高16位数据丢失。 例如: long b=65536; int a; a=b; b=65536D=0000 0000 0000 0001 0000 0000 0000 0000B a= 0000 0000 0000 0000B=0D 例程: C3_9_2_5 3.数据类型、运算符与表达式 (7) unsigned-signed: 字节数少-〉字节数多:高位直接补0。 字节数相同:原样复制,所以超出表达范围的出现错误。 unsigned int a=65535; int b; b=a; a=65535D=1111 1111 1111 1111B b= 1111 1111 1111 1111B=[-1D]补 程序验证 c3_9_2_7.c 3.数据类型、运算符与表达式 (8) signed-unsigned: 原样照赋 unsigned int a; int b=-1; a=b; b=[-1D]补=1111 1111 1111 1111B a= 1111 1111 1111 1111B=[65535D]原 总结:按存储单元的存储形式直接传送。 错误隐蔽,编译时并不显示错误,依靠程序员的经验。 3.数据类型、运算符与表达式 3.9.3 复合的算术运算符 复合的算术运算符:在赋值运算符“=”之前加上其他运算符,可以构成复合的运算符。 例如: += - = *= /= a+=3 b- =6 x%=y+3 规定:凡是二元运算符,都可以构成复合运算符。P62 优点:提高编译效率,生成的代码质量高。 3.数据类型、运算符与表达式 3.9.4 赋值表达式 赋值表达式:由赋值运算符将一个变量和一个表达式连接起来的式子。 变量 赋值运算符 表达式 例如: a=5 处理过程: 计算右侧表达式的值-〉左侧变量 赋值表达式的值:被赋值的变量的值 a=5 a的值是5, 整个式子的值也是5。 3.数据类型、运算符与表达式 提示:由于赋值表达式有值,因此赋值表达式可以当作一种表达式出现其他的赋值语句中和其他需要表达式的语句中。 例如: a=b=3; a=5+(c=6); 注意避免产生歧义:(初学者慎用) 例如: a+=a- =a*a; 分析: a=a+( a- =a*a)- a=a+(a=a-(a*a)) 结果:当给定a的值时,不同系统计算结果不同。 3.数据类型、运算符与表达式 3.10 逗号运算符和逗号表达式 (1)逗号运算符(顺序求值运算符):用于将两个表达式连接起来。 格式: 表达式1,表达式2 求解顺序:从左往右 表达式的值:表达式2的值。 例如: 3+5,6+7 注意: a=3*5,a*4
文档评论(0)