C语言数据类型转换.ppt

上传人:wuy****n92 文档编号:70103968 上传时间:2023-01-16 格式:PPT 页数:11 大小:215.99KB
返回 下载 相关 举报
C语言数据类型转换.ppt_第1页
第1页 / 共11页
C语言数据类型转换.ppt_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《C语言数据类型转换.ppt》由会员分享,可在线阅读,更多相关《C语言数据类型转换.ppt(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据类型转换v陈孝则陈孝则 发生在不同数据类型的量混合运算时,由编译系统自动完成。1若参与运算量的类型不同,则先转换成同一类型,若参与运算量的类型不同,则先转换成同一类型,然后进行运算。然后进行运算。2.转换按转换按数据长度增加的方向数据长度增加的方向进行,以保证精度不进行,以保证精度不降低。如降低。如int型和型和long型运算时,型运算时,先把先把int量转成量转成long型型后再进行运算。后再进行运算。3.所有的浮点运算都是以所有的浮点运算都是以双精度双精度进行的,即使仅含进行的,即使仅含float单精单精度量运算的表达式,也要先转换成度量运算的表达式,也要先转换成double型型,再作

2、运算。,再作运算。4.char型和型和short型型参与运算时,必须参与运算时,必须先转换成先转换成int型。型。5.在赋值运算中,赋值号两边量的数据类型不同时,赋值号在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。右边量的类型将转换为左边量的类型。如果右边量的数据如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。度,丢失的部分按四舍五入向前舍入。vback 2v 该程序中,程序中,PI为实为实型;型;s,r为为整型。在整型。在执执行行s=r*r*PI语语句句

3、时时,r和和PI都都转换转换成成double型型计计算,算,结结果也果也为为double型。型。但由于但由于s为为整整型,故型,故赋值赋值结结果仍果仍为为整整型,舍去了型,舍去了小小数数部分。部分。v#include v int main()v v float PI=3.14159;v int s,r=5;v s=r*r*PI;v printf(s=%dn,s);v getchar();v v当赋值运算符两边的运算对象类型不同时,将要发生类型转换,转换的规则是:把赋值运算符右侧表达式的类型转换为左侧变量的类型。具体的转换如下:v(1)浮点型与整型v将将浮点浮点数数(单单双双精度精度)转换为转换

4、为整整数数时时,将将舍弃浮点舍弃浮点数数的小的小数数部分,部分,只保留整只保留整数数部分。部分。将将整型整型值赋给值赋给浮点型浮点型变变量,量,数数值值不不变变,只,只将将形式改形式改为为浮点形式,浮点形式,即小即小数数点后点后带带若干若干个个0。注意:。注意:赋值时赋值时的的类类型型转换实际转换实际上是强制的。上是强制的。v(2)单单、双双精度浮点型精度浮点型v由于由于C语语言中的浮点言中的浮点值总值总是用是用双双精度表示的,所以精度表示的,所以float 型型数数据只是在尾部加据只是在尾部加0延延长为长为doub1e型型数数据据参参加加运运算,然后直接算,然后直接赋值赋值。doub1e型型

5、数数据据转换为转换为float型型时时,通,通过过截尾截尾数来数来实现实现,截,截断断前要前要进进行四舍五入操作。行四舍五入操作。(3)char型型与与int 型型vint型数值赋给char型变量时,只保留其最低8位,高位部分舍弃。vchr型数值赋给int型变量时,一些编译程序不管其值大小都作正数处理,而另一些编译程序在转换时,若char型数据值大于127,就作为负数处理。对于使用者来讲,如果原来char型数据取正值,转换后仍为正值;如果原来char型值可正可负,则转换后也仍然保持原值,只是数据的内部表示形式有所不同。v(4)int型型与与1ong 型型vlong型数据赋给int型变量时,将低

6、16位值送给int型变量,而将高16 位截断舍弃。(这里假定int型占两个字节)。将int型数据送给long型变量时,其外部值保持不变,而内部形式有所改变。(5)无符号整数v将将一一个个unsigned 型型数数据据赋给赋给一一个个占据同占据同样长样长度存度存储单储单元的整型元的整型变变量量时时(如:如:unsignedint、unsigned longlong,unsigned shortshort),原,原值值照照赋赋,内内部的存部的存储储方式不方式不变变,但外部,但外部值值却可能改却可能改变变。v将将一一个个非非unsigned整型整型数数据据赋给长赋给长度相同的度相同的unsigned

7、型型变变量量时时,内内部部存存储储形式不形式不变变,但外部表示,但外部表示时总时总是无符是无符号号的。的。v可以利用强制可以利用强制类类型型转换转换运运算符算符将将一一个个表表达达式式转换转换成所需成所需类类型型:v例如:例如:v(double)a (将将a转换转换成成double类类型型)v(int)(x+y)(将将x+y的的值转换值转换成整型成整型)v(float)(5%3)(将将5%3的的值转换值转换成成float型型)v(int)(1.5+2.3)=3 v对对于于从从高到低的强制高到低的强制转换转换,实质实质上就是一上就是一个个截截断断的操作,只把低端需的操作,只把低端需要的部分保留,其余的部分直接要的部分保留,其余的部分直接扔扔掉了。掉了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁