测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看
B24

第4章基础知识练习(自测)

引入

章前总览 本组题覆盖:运算符、整数除法与取余、复合赋值、表达式求值。先作答再提交;含代码的题目已按完整代码块展示。

怎么用:

  • 选择题 30 道 + 判断题 7 道。
  • 算表达式时:先括号,再 * / %,后 + -;整数相除取整。
  • 错题回到 B20–B23 复习。
第4章自测

每题选一个选项。判断题选「正确」或「错误」。

1. 若 a、b、c、d 均为 int 且初值为 0,以下不是正确赋值语句的是( )。
2. 下列符号不是 C++ 语言的运算符的是( )。
3. 表达式 (3 + 12 / 3 * 2) 的计算结果为( )。
4. 如果 a、b、c 都是 int,下列哪个语句不符合 C++ 语法?( )
5. 用 int 变量 a、b 表示长方形长宽,下列哪个表达式不能计算周长?( )
6. a 为 int 且值为 6,执行 a *= 3; 之后,a 的值是( )。
7. a 为 int,下列哪个表达式可正确求出“≥a 且是 4 的倍数”的最小整数?( )
8. 在下列代码横线处填写( ),使得输出是“20 10”。
#include <iostream>
using namespace std;
int main() {
    int a = 10, b = 20;
    a = ________; // 填空
    b = a / 100;
    a = a % 100;
    cout << a << " " << b << endl;
    return 0;
}
9. 如果 a、b、c 都是 int,下列哪个语句不符合 C++ 语法?( )
10. 用 int 变量 a 表示正方形边长,下列哪个表达式不能计算面积?( )
11. 表达式 (4 * (11 + 12) / 4) 的计算结果为( )。
12. a 为 int 且值为 6,执行 a %= 4; 之后,a 的值是( )。
13. 在下列代码横线处填写( ),使得输出为“20 10”。
#include <iostream>
using namespace std;
int main() {
    int a = 10, b = 20;
    a = ________; // 填空
    b = a + b;
    a = b - a;
    cout << a << " " << b << endl;
    return 0;
}
14. 对 int 变量 a、b、c,下列语句不符合 C++ 语法的是( )。
15. 表达式 10 - 3 * (2 + 1) % 10 的值是( )。
16. 表达式 (3 - 2) * 3 + 5 的值是( )。
17. 执行 cout << \"5%2=\" << 5 % 2,输出的是( )。
18. 表达式 3 - 3 * 3 / 5 的值是( )。
19. N 为正整数,cout << (N % 3 + N % 7) 可能输出的最大值是( )。
20. 执行 printf(\"5%%2={%d}\n\", 5 % 2),输出的是( )。
21. 表达式 9/4 - 6 % (6 - 2) * 10 的值是( )。
22. 表达式 10 - 3 * 2 的值是( )。
23. N=10,cout << (N / 3 + N % 3) 将输出( )。
24. printf(\"6%2={%d}\", 6%2); 执行后的输出是( )。
25. N=2,cout << (N / 3 + N % 3) 将输出( )。
26. 执行后的输出是( )。
cout << 7%3 << ' ' << "7%3" << ' ' << "7%3={7%3}";
27. int 变量 a 表示正方形边长,下列哪个语句执行后能使周长增加 4?( )
28. 表达式 16 / 4 % 2 的值是( )。
29. N=12,cout << (N % 3 + N / 5) 的输出是( )。
30. 执行下面代码,先后输入 100 和 200,输出是( )。
int first, second;
cout << "请输入第1个正整数:";
cin >> first;
cout << "请输入第2个正整数:";
cin >> second;
cout << (first / second * second) << endl;
判断 1. C++ 也遵循与“先乘除后加减”类似的运算符优先级规则。
判断 2. 表达式 (37/4) 的计算结果为 9,且结果类型为 int。
判断 3. 变量 n=27,则 cout<<n%10 执行后输出 7。
判断 4. 整型变量 N,表达式 N += 8/4//2 相当于 N += 8/(4/2)。
判断 5. 表达式 10/4 和 10%4 的值相同,都是整数 2,说明 / 和 % 可以互相替换。
判断 6. 在 C++ 中,表达式 8/3 和 8%3 的值相同。
判断 7. 表达式 N * 2 % N 中若 N 为正整数,则其值为 2。

1 易混提醒

提交后可对照。

高频陷阱

  • 整数除法先取整:100/200=0。
  • ^ 不是平方;** 不是 C++ 乘方。
  • % 只能用于整数。
  • 复合赋值右边像带括号:z -= 5+2z-(5+2)
第4章收官

你会用算术运算与取余解决买书、时间、星期等问题。

回顾清单:
✓ + - * / % ++ --
✓ 整数商与余数
✓ += %= 等复合赋值
✓ 表达式优先级
里程碑达成:

下一章将进入浮点型与字符型数据,让程序能处理小数和单个字符。