|
|
楼主 |
发表于 2026-4-11 12:05:55
|
显示全部楼层
答案与详细解析
一、基础概念题
D (& 是按位与运算符,不属于算术运算符)
B (整数除法截断小数,只保留整数部分)
B (7÷3=2 余 1,取余结果为 1)
A (后置 ++ 先取值再运算,前置 ++ 先运算再取值)
二、表达式计算题
16 (先乘后加:3*2=6,10+6=16)
26 (括号优先:13*2=26)
6
2
3.333333 (浮点数除法,保留小数)
-1 (取余结果符号与被除数一致)
三、自增 / 自减专项题
a=3,c=2 (后置 ++:先把 a=2 赋值给 c,a 再 + 1)
a=3,c=3 (前置 ++:a 先 + 1 变成 3,再赋值给 c)
a=3,b=4,c=6 (++b 先变成 4,a++ 取 2,2+4=6,最后 a+1)
四、运算符优先级题
5 (和 % 优先级相同,从左到右:23=6→6%2=0→5+0=5)
9 (先除法:4/2=2→10-2+1=9)
14
五、易错题
0 (3/5=0,0*10=0,整数除法陷阱)
6 (从左到右计算:10*3=30→30/5=6)
2.5 (浮点数参与运算,结果为小数)
2 (/= 是复合赋值运算符,等价 x=x/2)
六、编程实践题参考代码
1. 四则运算 + 取余
c
运行
#include <stdio.h>
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
printf("和:%d\n", a + b);
printf("差:%d\n", a - b);
printf("积:%d\n", a * b);
printf("商:%d\n", a / b);
printf("余数:%d\n", a % b);
return 0;
}
2. 拆分三位数
c
运行
#include <stdio.h>
int main() {
int num, ge, shi, bai;
printf("请输入一个三位数:");
scanf("%d", &num);
ge = num % 10; // 取个位:对10取余
shi = num / 10 % 10; // 取十位:先除以10,再对10取余
bai = num / 100; // 取百位:直接除以100
printf("个位:%d,十位:%d,百位:%d\n", ge, shi, bai);
return 0;
}
3. 自增运算符验证
c
运行
#include <stdio.h>
int main() {
int a = 5, b = 5, c, d;
c = a++; // 后置++
d = ++b; // 前置++
printf("a=%d, c=%d\n", a, c);
printf("b=%d, d=%d\n", b, d);
return 0;
}
总结
整数除法会截断小数,浮点数除法会保留小数;
取余%只能用于整数,结果符号和被除数一致;
前置++先运算后取值,后置++先取值后运算;
算术运算符优先级:() > * / % > + -。
|
|