一自动类型转换:
1、在进行算术运算时,算术表达式中存在不同的变量类型是,先将变量转换成统一的数据类型(原变量的类型不改变)在进行算术运算。
2、 转换按数据长度增加的方向进行,以保证精度不降低。如 int 型和long 型运算时,先把int 量转成long 型后再进行运算。
3、 所有的浮点运算都是以双精度进行的,即使仅含 float 单精度量运算的表达式,也要先转换成double 型,再作运算。
4、char 型和short 型参与运算时,必须先转换成int 型。
char a=’a';short b=3;
char c;int d;
c=a+b;(报错);
c=(char)(a+b);
d=a+b;(正常);
二、强制类型转换:
两个不同类型的基本数据类型的赋值运算:
1、若左边的变量的类型所占空间大于等于左边的变量,则可以直接赋值:
int a=1;short b=2;a=b;
2、若左边的变量的类型所占空间小于右边的变量,则要强制类型转换:
int a=1;short b=2; b=(short)a;
参考书籍:谭浩强C程序语言设计