C语言隐式类型转换规则
语言规定,不同类型的数据需要转换成同一类型后才可进行计算,在整型、实型和
字符型数据之间通过类型转换便可以进行混合运算(但不是所有类型之间都可以进
行转换)
当混合不同类型的变量进行计算时,便可能会发生类型转换
相同类型的数据在转换时有规则可循:
字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用)
short型转换为int型(同属于整型)
float型数据在运算时一律转换为双精度(double)型,以提高运算精度(同属于实型值时,一律是右部值转换为左部类型
当整型数据和双精度数据进行运算时,C先将整型数据转换成双精度型数据,再进
行运算,结果为双精度类型数据
当字符型数据和实型数据进行运算时,C先将字符型数据转换成实型数据,然后进
行计算,结果为实型数据
数据类型转换在C语言的表达式中,准许对不同类型的数值型数据进行某一操作或
混合运算。当不同类型的数据进行操作时,应当首先将其转换成相同的数据类型
然后进行操作。数据类型转换有两种形式,即隐式类型转换和显示类型转换。
C语言规定的转换规则是由低级向高级转换。例如,如果一个操作符带有两个类型
不同的操作数时,那么在操作之前行先将较低的类型转换为较高的类型,然后进行运算,运算结果是较高的类型