C语言的类型转换规则
2012-10-28 00:27
148 查看
数据类型转换在C语言的表达式中,准许对不同类型的数值型数据进行某一操作或混合运算。当不同类型的数据进行操作时,应当首先将其转换成相同的数据类型,然后进行操作。数据类型转换有两种形式,即隐式类型转换和显示类型转换。
隐式类型转换所谓隐式类型转换就是在编译时由编译程序按照一定规则自动完成,而不需人为干预。因此,在表达式中如果有不同类型的数据参与同一运算时,编译器就在编译时自动按照规定的规则将其转换为相同的数据类型。
C语言规定的转换规则是由低级向高级转换。规则如下
:
注意:在表达式中,所有的float类型都转换为double型以提高运算精度。因为函数参数是表达式,因此,当参数传递给函数时,也发生类型转换。具体地说,char和short均转换为int;float转换为double。这就是为什么我们把函数参数说明为int和double,尽管调用函数时用char和float .
也可以将图2-2所示的规则用图2-3表示。图2-3中的水平箭头表示必定转换,纵向箭头表示两个操作对象类型不同时的转换方向
在赋值语句中,如果赋值号左右两端的类型不同,则将赋值号右边的值转换为赋值号左边的类型,其结果类型还是左边类型。
隐式类型转换所谓隐式类型转换就是在编译时由编译程序按照一定规则自动完成,而不需人为干预。因此,在表达式中如果有不同类型的数据参与同一运算时,编译器就在编译时自动按照规定的规则将其转换为相同的数据类型。
C语言规定的转换规则是由低级向高级转换。规则如下
:
注意:在表达式中,所有的float类型都转换为double型以提高运算精度。因为函数参数是表达式,因此,当参数传递给函数时,也发生类型转换。具体地说,char和short均转换为int;float转换为double。这就是为什么我们把函数参数说明为int和double,尽管调用函数时用char和float .
也可以将图2-2所示的规则用图2-3表示。图2-3中的水平箭头表示必定转换,纵向箭头表示两个操作对象类型不同时的转换方向
在赋值语句中,如果赋值号左右两端的类型不同,则将赋值号右边的值转换为赋值号左边的类型,其结果类型还是左边类型。
相关文章推荐
- 【转】C语言隐式类型转换规则
- C语言_基本数据类型范围、类型之间的转换规则、打印某个内存连续的内存值
- c语言算术运算表达式与赋值运算表达式的类型转换规则
- C语言中类型转换时的截取规则及补码表示的计算方法
- C语言隐式类型转换规则
- C语言中不同数据类型间混合运算的转换规则
- C语言类型转换规则
- C语言中算术运算的隐式类型转换规则
- C语言基本数据类型及转换规则
- C语言中不同数据类型间混合运算的转换规则
- (转载)C语言中算术运算的隐式类型转换规则
- C语言隐式类型转换规则
- C语言隐式类型转换规则
- C语言隐式类型转换的规则
- C语言中自动隐式转换和类型强制转换的一点注意
- C语言中数据类型转换
- C语言隐式类型转换
- C语言中的类型转换
- c语言中32为地址类型转换为64位整数类型
- c语言的隐式(自动)数据类型转换