C语言数据类型转换_第1页
C语言数据类型转换_第2页
C语言数据类型转换_第3页
C语言数据类型转换_第4页
C语言数据类型转换_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、含float单精单精度量运算的表达式,也要先转换成度量运算的表达式,也要先转换成double型型,再作运算。,再作运算。4.char型和型和short型型参与运算时,必须参与运算时,必须先转换成先转换成int型。型。5.在赋值运算中,赋值号两边量的数据类型不同时,赋值号在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。右边量的类型将转换为左边量的类型。如果右边量的数据如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。度,丢失的部分按四舍五入向前舍入。编辑ppt4

3、vback 2v 编辑ppt5该该程序中,程序中,PI为实为实型;型;s,r为为整型。在执整型。在执行行s=r*r*PI语语句时,句时,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 编辑ppt6v当赋值运算符两边的运算对象类型不同时,将要发生类型转换,

4、转换的规则是:把赋值运算符右侧表达式的类型转换为左侧变量的类型。编辑ppt7具体的转换如下:具体的转换如下:v (1) 浮点型与整型v 将浮点数将浮点数(单双精度单双精度)转换为整数时,将舍弃浮点数的小数部分,转换为整数时,将舍弃浮点数的小数部分, 只保留整数只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式,部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小即小数点后带若干个数点后带若干个0。注意:赋值时的类型转换实际上是强制的。注意:赋值时的类型转换实际上是强制的。v (2) 单、双精度浮点型单、双精度浮点型v 由于由于C语言中的浮点值总是用双精度表示

5、的,所以语言中的浮点值总是用双精度表示的,所以float 型数据只是在尾部加型数据只是在尾部加0延长为延长为doub1e型数据参加运算,然后直接赋值。型数据参加运算,然后直接赋值。doub1e型数据转换为型数据转换为float型时,通过截尾数来实现,截断前要进行四舍五入操作。型时,通过截尾数来实现,截断前要进行四舍五入操作。编辑ppt8(3) char型与型与int 型型v int型数值赋给型数值赋给char型变量时,只保留其最低型变量时,只保留其最低8位,高位部分舍弃。位,高位部分舍弃。v chr型数值赋给型数值赋给int型变量时,型变量时, 一些编译程序不管其值大小都作正数处理,而一些编译

6、程序不管其值大小都作正数处理,而另一些编译程序在转换时,若另一些编译程序在转换时,若char型数据值大于型数据值大于127,就作为负数处理。对于,就作为负数处理。对于使用者来讲,如果原来使用者来讲,如果原来char型数据取正值,转换后仍为正值型数据取正值,转换后仍为正值;如果原来如果原来char型型值可正可负,则转换后也仍然保持原值,值可正可负,则转换后也仍然保持原值, 只是数据的内部表示形式有所不同。只是数据的内部表示形式有所不同。v (4) int型与型与1ong 型型v long型数据赋给型数据赋给int型变量时,将低型变量时,将低16位值送给位值送给int型变量,而将高型变量,而将高1

7、6 位截断位截断舍弃。舍弃。(这里假定这里假定int型占两个字节型占两个字节)。将。将int型数据送给型数据送给long型变量时,其外部型变量时,其外部值保持不变,而内部形式有所改变。值保持不变,而内部形式有所改变。编辑ppt9(5) 无符号整数无符号整数v 将一个将一个unsigned 型数据赋给一个占据同样长度存储单元的整型变量型数据赋给一个占据同样长度存储单元的整型变量时时(如:如:unsignedint、unsigned longlong,unsigned shortshort) ,原值照赋,内部的存储方式不变,但外部值却可能改变。原值照赋,内部的存储方式不变,但外部值却可能改变。v 将一个非将一个非unsigned整型数据赋给长度相同的整型数据赋给长度相同的unsigned型变量时,型变量时, 内内部存储形式不变,但外部表示时总是无符号的。部存储形式不变,但外部表示时总是无符号的。编辑ppt10v 可以利用强制类型转换运算符将一个表达式转换成所需类型可以利用强制类型转换运算符将一个表达式转换成所需类型:v 例如:例如:v (double)a (将将a转换成转换成double类型类型)v (int)(x+y) (将将x+y的值转换成整型的值转换成整型)v (float)(5%3) (将将5%3的值转换成的值转换成float型型)v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论