B64
第12章基础知识练习(自测)
引入
章前总览 覆盖:循环嵌套 if、错误的连锁比较 a<=i<=b、未初始化累加器、取余作条件。先作答再提交。
怎么用:
- 选择题 6 道。
- 遇
3<=i<=5要想起第8章陷阱。 - 错题回到 B61–B63 复习。
第12章自测
每题选一个选项。
1. 执行以下程序后,输出的结果是( )。
int sum = 1;
for (int i = 1; i <= 10; i++)
if (3 <= i <= 5)
sum += i;
cout << sum << endl;3<=i<=5 会先算 3<=i 得 0/1,再和 5 比较,几乎恒真,于是累加 1..10:sum=1+55=56。
2. 执行以下程序,输出的结果是( )。
int sum = 0;
for (int i = 1; i <= 20; i++)
if (i % 3 == 0 || i % 5 == 0)
sum += i;
cout << sum << endl;1~20 中 3 或 5 的倍数之和为 98。
3. 横线处填写( ),可以使得输出是“147”。
for (int i = 1; i <= 8; i++)
if (________)
cout << i;i%3==1 时取 1、4、7。
4. 执行以下程序,输出的结果是( )。
int sum;
for (int i = 1; i <= 20; i++)
if (i % 3 == 0 || i % 5 == 0)
sum += i;
cout << sum << endl;sum 未初始化,结果不确定。
5. 执行以下程序,输出的结果是( )。
int tnt = 0;
for (int i = 0; i < 10; i++)
if (i % 3 && i % 7)
tnt += i;
cout << tnt << endl;条件表示不能被 3 整除且不能被 7 整除:累加 1+2+4+5+8=20。
6. 执行以下程序,输出的结果是( )。
int N = 10;
while (N) {
N -= 1;
if (N % 3 == 0)
cout << N << "#";
}先减再判断:N 为 9、6、3、0 时输出,含末尾 0#。