1. 隐式类型转换:赋值时,两边数据类型不一致,c语言会将等号右边当数据自动转换为等号左边当数据类型。(ps:高精度转换为低精度时一般会发生数据丢失,也就是精度降低;低精度转为为高精度时数据不会丢失)。
例如:
double d = 40; //整型数据赋给双精度浮点型变量
//C系统将整型数据转变为double型数据然后赋值给变量
也可能是这样:
int i = 3.14; //double型数据赋给int型变量
//C系统将double数据转变为int型数据然后赋值给变量
//这个转变过程会造成double型数据小数部分的丢失
2. 显示类型转换:需要转换到数据前面,添加一个括号,括号里面填写目标数据类型(ps:显示转换也叫强制转换)
格式:(转换后到类型)(表达式);(int)(3.5 + 2.4); (int) 3.6;
3. 自增自减运算符:
a. i++,i--,
符号在变量右边表示首先使用变量中已有的值,然后再对变量进行自增1或者自减1。
b. ++i, --i;
符号在变量左边表示先将变量自增1或自减1之后再使用其自增1或者自减1后的值。
c.括号对于自增自减没有提升优先级的效果。(就是括号对于自增自减无效)
例如:
int i = 10, m, n;
m = (i++); printf("m = %d\n",m);
n = (++i); printf("n = %d\n",n);
m = (i++) + 10; printf("m = %d\n",m);
n = (++i) + 10; printf("n = %d\n",n);
结果:10,12,22,24
4. scanf(“控制字符串”,&变量名1,&变量名2);
当控制字符之间没有空格时,默认输入时变量之间需要输入空格
如:scanf(“%d%d%d”,&a,&b,&c);
当控制字符之间有其他的字符(空格或者逗号),输入时变量之间需要输入该字符
如:scanf(“%d,%d,%d”,&a,&b,&c);
ps:统一控制字符之间使用空格隔开。
输入double类型的数据时,控制字符需要用%lf,不然不能接收数据。