|
.C语言规定,不同类型的数据需要转换成同一类型后才可进行计算,在整型、实型和字符型数据之间通过类型转换便可以进行混合运算(但不是所有类型之间都可以进行转换)
.当混合不同类型的变量进行计算时,便可能会发生类型转换 相同类型的数据在转换时有规则可循: 字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用) short型转换为int型(同属于整型) float型数据在运算时一律转换为双精度(double)型,以提高运算精度(同属于实型) 赋值时,一律是右部值转换为左部类型
#include <stdio.h>
int main(){ int a = 5; char c = 'a'; float f = 5.3; double m = 12.65; double result=0; //同类型数据间进行运算并输出结果 printf("a + c = %d\n", a+c); printf("a + c = %c\n", a+c); printf("f + m = %f\n", f+m);
//不同类型数据间进行运算并输出结果 printf("a + m = %f\n", a+m); printf("c + f = %f\n", c+f);
//将上述四个变量进行混合运算,并输出结果 result = a + c * (f + m); printf("double = %f\n", result); }
[注] 当整型数据和双精度数据进行运算时,C先将整型数据转换成双精度型数据,再进行运算,结果为双精度类型数据 当字符型数据和实型数据进行运算时,C先将字符型数据转换成实型数据,然后进行计算,结果为实型数据
|