C语言学习笔记2024/10/27

1.整数计算,结果一定是一个整数,例如: printf("%d",10 / 3); //结果等于3,不能把%d改成其他,数据会出错 2.小数计算,结果一定是一个小数 printf("%lf",10.0 + 3.0); //13.000000 3.整数和小数,结果一定是小数 4.小数直接参与运算,结

1.整数计算,结果一定是一个整数,例如:

printf("%d",10 / 3); //结果等于3,不能把%d改成其他,数据会出错

2.小数计算,结果一定是一个小数

printf("%lf",10.0 + 3.0); //13.000000

3.整数和小数,结果一定是小数

4.小数直接参与运算,结果可能是不精确的

printf("%lf",3.333333333333333 + 6.666666666666666); //结果等于10
printf("%.20lf",10.0 / 3.0); //结果出现误差,3.33333333333333348136

5.除法不能除以0

6.取余的细节

1)运算的数据必须全是整数(整型)

printf("%d",10 % 3);

2)获取余数的正负,是跟第一个数字保持一致的

printf("%d",10 % 3); //1
printf("%d",-10 % 3); //-1
printf("%d",10 % -3); //1

3)不允许%0

7.隐式转换:把一个取值范围小的,转成取值范围大的

1)不同的数据类型进行计算、赋值等操作,会触发隐式转换

2)取值范围小的,和取值范围大的计算,小的会自动提升为大的,再进行运算

顺序:double>float>long long>long>int>short>char

3)short/char类型的数据在运算时,无条件提升为int,再进行运算

short a = 10;
short b = 20;
int c= a + b;
short a = 10;
int b = a;

类型

大小

short

2

0000 0000 0000 0000

int

4

0000 0000 0000 0000 0000 0000 0000 0000

long

4

0000 0000 0000 0000 0000 0000 0000 0000

long long

8

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

8.强制转换:如果把取值范围大的,赋值给取值范围小的,就需要进行强制转换

1)格式:目标数据类型 变量名=(目标数据类型) 被强制转换的数据;

short i = (short) b;

2)强制转换的弊端:有可能导致数据错误

9.字符跟数字进行转换的时候会查询ASCII码表

10.算数运算符小结:

1) / 和 % 的区别:两个数据作除法, / 取结果的商,% 取结果的余数。

2)整数计算只能得到整数,要想得到小数,必须有小数参与运算。

3)类型一致:直接计算

4)类型不一致:默认隐式转换(小 --> 大、short char --> int)

5)强制大变小:强制转换

LICENSED UNDER CC BY-NC-SA 4.0
Comment