现在的位置: 首页 > 综合 > 正文

C语言中数据类型间的转换问题和注意事项

2018年04月19日 ⁄ 综合 ⁄ 共 647字 ⁄ 字号 评论关闭

1、自动转换: 

       double    ←←    float
       ↑         ↑             

       ↑        long     
       ↑         ↑
       ↑        unsigned
       ↑          ↑
               int      ←←   char,short

            自动转换顺序表

 

2、强制转换:

当较低类型的数据转换为较高类型时,一般只是形式上有所改变, 而不影响数据的实质内容,而较高类型的数据转换为较低类型时则可能有些数据丢失。

 

3、注意事项:

赋值中的类型转换当赋值运算符两边的运算对象类型不同时,将要发生类型转换,转换的规则是:把赋值运算符右侧表达式的类型转换为左侧变量的类型。具体的转换如下:

(1) 浮点型与整型● 将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分, 只保留整数部分。

 

  将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式,即小数点后带若干个0.注意:赋值时的类型转换实际上是强制的。

 

  (2)单、双精度浮点型●由于C语言中的浮点值总是用双精度表示的,所以float 型数据只是在尾部加0延长为doub1e型数据参加运算,然后直接赋值。doub1e型数据转换为float型时,通过截尾数来实现,截断前要进行四舍五入操作。

 

  (3) char型与int型● int型数值赋给char型变量时,只保留其最低8位,高位部分舍弃。

抱歉!评论已关闭.