先上一张知识结构图
一:类型转换
1、隐式类型转换(系统自动进行类型转换)
当赋值发生时,如果两边数据类型不一致,C语言中会将等号右边的数据自动转换为等号左边变量的数据类型
double d = 40;
//整型数据赋给双精度浮点型变量
//C系统将整型数据转变为double型数据然后赋值给变量
int i = 3.14;
//double型数据赋给int型变量
//C系统将double数据转变为int型数据然后赋值给变量
//这个转变过程会造成double型数据小数部分的丢失
2、显式类型转换(强制转换)
强制类型转换也叫显式转换
需要转换的数据前面,添加一个括号,括号里面填写目标数据类型
(转换后类型) 表达式
printf(”%d”,(int) 3.5);
printf("%d\n",(int)(3.5+2+4.5));
3、类型转换注意点
(1)从较高精度数据类型转换为较低精度数据类型时,一般会发生数据的丢失
如:int a = 3.14 结果:a 为 3;
(2)低精度数据转化为高精度数据不会发生数据的丢失
如:double d = 3 结果:d 为 3.000000;
(3)多个不同类型精度相结合。结果为最高精度值
如:
int a1 = 10;
float b1 = 20;
double c1 = 30;
char d1 = 40;
printf("%f",a1+b1+c1+d1);
二、复合赋值运算符
sum = sum + 20;
等价与
sum += 20;
+=就是一个复合赋值运算符,含义为使用sum原来的值加上20然后再赋值给sum变量
另外还有-=、*=、/