C语言规定,不同类型的数据需要转换为同一类型才可以进行计算。在整型,实型和字符型之间通过类型转换就可以进行混合运算。但是并非所有的类型之间都可以进行计算。
需要注意的是,混合运算中所有的转换都是临时的,不会对原有数据的类型产生改变。
1、隐式转换
隐式转换也称为自动类型转换,这种转换不需要认为干预,编译器自动进行的类型转换。
1.1、转换的基本原则:
- short,char类型参与运算之前必须转换为int (short --> int; char-->int )
- 同类型混合运算,低精度转换为高精度 (short --> int ; int --> long ; float --> double)
- 不同类型混合运算,低级类型转换为高级类型,并且所有的浮点运算都是以双精度浮点类型进行运算(即使只有float的运算,也要先转换为double) (int --> floating ; int --> double)
- 赋值语句,等号右边值类型转换为等号左边的值类型(float f = 100;) 精度转换
2、显式转换
显式类型转为又称为强制类型转换,是通过明确的代码格式,将值改为其他类型。
2.1、转换格式
(type_name) value
// Exam:
int a = 1;
int b = (int)3.5
float f = (float)(a);
float y = (float)(a+b);
参考资料
1、C语言数据类型转换(c语言中文网)
2、《C语言精彩编程百例》
网友评论