Initial commit: C++ courseware

This commit is contained in:
xiaolinquan committed 2026-11-05 22:51:02 +08:00
commit 4a4ee7c287
1789 files changed
+373489

No files matched your search

@@ -0,0 +1,79 @@
### C++ for 循环(一) 课后习题
姓名: \_\_\_\_\_\_\_\_\_\_\_\_\_
#### **一、 填空题**
1. `while` 循环将**循环的三个关键部分**:\_\_\_\_\_\_\_\_\_\_\_\_\_、**循环条件**和**循环变量更新**分散在代码的不同位置,而 `for` 循环则将它们捆绑在一起,实现集中管理。
2. `for` 循环的语法结构为 `for (` \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ `;` \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ `;` \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ `) { ... }`。
3. 在`for`循环的三个部分中,\_\_\_\_\_\_\_\_\_\_\_\_\_部分(**填循环的三个关键部分之一**)只在整个循环开始时执行唯一一次。
4. `for`循环的\_\_\_\_\_\_\_\_\_\_\_\_\_部分在每一次循环体执行**之后**都会执行。
5. `for`循环的三个部分之间必须使用\_\_\_\_\_\_\_\_\_\_\_\_\_进行分隔。
6. `for` 循环非常适合用于处理循环次数\_\_\_\_\_\_\_\_\_\_\_\_\_(填写 **固定** 或 **不固定** )的循环。
7. `for`循环的执行流程可以概括为:循环变量初始化 -> ( \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ -> 执行循环体 -> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ ) -> ...
#### **二、 单项选择题**
( ) 1. `for (int i = 1; i <= 5; i++) { ... }` 这个循环的循环体会被执行几次?
A. 4 次 B. 5 次 C. 6 次 D. 无限次
( ) 2. 在一个 `for` 循环的单次迭代中,最后执行的是哪一部分?
A. 循环变量初始化 B. 循环条件判断
C. 循环体 D. 循环变量更新
( ) 3. 观察下面的代码,它会在屏幕上输出什么?
```cpp
for (int i = 1; i <= 3; i++) {
cout << i << " ";
}
```
​ A. `1 2 3` B. `1 2 3 4` C. `1 2` D. `2 3 4`
( ) 4. `for (int i = 10; i < 10; i++) { ... }` 这个循环的循环体会被执行几次?
A. 0 次 B. 1 次 C. 10 次 D. 无限次
( ) 5. 下列哪个 `for` 循环会导致无限循环?
A. `for (int i = 1; i <= 5; i++)`
B. `for (int i = 5; i >= 1; i--)`
C. `for (int i = 1; i <= 5; i--)`
D. `for (int i = 1; i > 5; i++)`
( ) 6. 在书本 例4-1 的 `Apples Plus` 的案例中,我们使用 `if (i > 1)` 来判断是否要输出 "s",这里的 `i` 代表了什么?
A. 苹果的总数 B. 循环的总次数
C. 当前是第几次循环 D. 一个固定的数字
( ) 7. `for` 循环相比于 `while` 循环,对于处理次数确定的循环,其主要优点是什么?
A. 运行速度更快
B. 将循环控制的三个核心要素集中管理,代码更清晰
C. 可以处理 `while` 循环无法完成的任务
D. 占用的内存更少
( ) 8. 下列哪个 `for` 循环的写法是**错误**的?
A. `for (int i = 1; i <= 10; i++)`
B. `for (int i = 1; i <= 10; i--)`
C. `for (int i = 1, i <= 10, i++)`
D. `for (double i = 1; i <= 2; i++)`
( ) 9. 要实现一个从 10 倒数打印到 1 的循环,`for` 循环应该怎么写?
A. `for (int i = 10; i >= 1; i--)`
B. `for (int i = 10; i <= 1; i++)`
C. `for (int i = 1; i <= 10; i++)`
D. `for (int i = 10; i > 1; i++)`
( ) 10. `for` 循环的执行顺序是 ( 选项中使用`()` 的部分代表会重复得到执行,直到判断条件为`false`停止 )?
A. 初始化 -> 更新循环变量 -> 判断 -> 执行循环体
B. 初始化 -> (判断 -> 更新循环变量 -> 执行循环体)
C. 初始化 -> (判断 -> 执行循环体 -> 更新循环变量)
D. (判断 -> 执行循环体 -> 更新循环变量 -> 初始化)
#### **三、 判断题 (对的打“√”,错的打“×”)**
( ) 1. `for` 循环的循环变量初始化部分,在每一次循环开始时都会执行一次。
( ) 2. `for` 循环的循环条件判断,在每一次循环体执行**之前**进行。
( ) 3. `for (int i = 1; i <= 5; i++)` 这个循环结束后,变量 `i` 的值会变成 6。
( ) 4. `for` 循环的循环体至少会被执行一次。
( ) 5. `for` 循环的循环变量 `i` 只能用于计数,不能在循环体内部参与**运算**或**判断**。
( ) 6. 在 `for` 循环内部可以嵌套 `if` 语句,来处理循环中出现的特殊情况。
( ) 7. 把 `while` 循环的初始化、条件判断和更新语句分别放入 `for` 循环的对应位置,两者在逻辑上是等价的。
( ) 8. 在 `for` 循环中,如果循环变量更新写成了 `i = i + 2`,那么循环变量 `i` 每次会跳过一个数。
( ) 9. `for (int i = 1; i >= 0; i++)` 这种写法会导致无限循环。
( ) 10. 讲义中的 `Apples Plus` 案例,体现了“循环中可以嵌套分支判断”的思想。