正负号与被除数一致。
3 % (-5) == 3
(-3) % 5 == -3
不用求余运算符,求出余数。
int x, y;
答:x - x / y * y;
const int i = 10;
const固定恒定,常量
左值:能放在赋值号被赋值的值。常量不可以修改。
小数除以大数,则商为零,余数是小数本身。
快速计算
对一个整数做%10的操作,就得到它的个位数
快速计算
m%/=10
第1次,m=m%10=1234%10=4
第2次,m=m%10=123%10=3
第3次,m=m%10=12%10=2
第4次,m=m%10=1%10=1
对一个整数做/10的操作,就去掉了它的个位数
m/=10 不断循环
当m=1234
第1次,m=m/10=1234/10=123
第2次,m=m/10=123/10=12
第3次,m=m/10=12/10=1
第4次,m=m/10=1/10=0
如何看懂一个程序,分三步:
1流程
2每个语句的功能
3试数
测试程序常使用边界数据,如有效范围两端的数据、特殊的倍数等,个位数,10,0,负数
什么叫n进制?
逢n进1
1 把十进制的256转换为十六进制。
让256不断除以16,一直除到0为止
余数
16 | 256 0 // 256除以16,余数0
16 | 16 0 // 16除以16,余数0
16 | 1 1 // 1除以16,余数1
0 // 一直除到0为止
答案为:
0X100
2 把十六进制的0X100转换为十进制。
0*(16^0)+0*(16^1)+1*(16^2)=256
自增(或者自减)
分类:
前自增
++i
后自增
i++
前自增和后自增的异同:
相同:
最终都使 i 的值加1
不同:
前自增整体表达式的值是 i 加1之后的值
后自增整体表达式的值是 i 加1之前的值
1 #include <stdio.h> 2 main() 3 { 4 int i; 5 int j; 6 int k; 7 int m; 8 9 i = j = 3; 10 k = i++; 11 m = ++j; 12 13 printf("i=%d,j=%d,k=%d,m=%d ", i, j, k, m); 14 }
输出格式:
i=4,j=4,k=3,m=4
请按任意键继续. . .
逗号运算符
1 #include <stdio.h> 2 main() 3 { 4 int i; 5 int j = 2; 6 7 i = (j++, ++j, j + 2, j - 3); 8 9 printf("%d ", i); 10 }
输出格式:
1
请按任意键继续. . .
j++
此时,j=3
++j
此时,j=4
i=j+2
此时,i=4+2=6
i=j-3
此时,i=4-3=1
1计算矩形的面积。
1 #include <stdio.h> 2 main() 3 { 4 double a, b, area; 5 a = 1.2; /*将矩形的两条边长分别赋给a和b*/ 6 b = 3.6; 7 area = a*b; /*计算矩形的面积并存储到变量area中*/ 8 printf("a=%f,b=%f,area=%f ", a, b, area); /*输出矩形的两条边长和面积*/ 9 }
2计算圆的面积。
1 #include <stdio.h> 2 #define PI 3.14159<span style="white-space:pre"> </span>/*定义符号名PI为3.14159*/ 3 main() 4 { 5 double r, s; 6 r = 5.0; 7 s = PI*r*r; 8 printf("s=%f ", s); 9 }