### C++ while 循环 课后作业(一) 姓名: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ #### **一、 填空题** 1. 当我们需要计算机做大量、重复、有规律的工作时,应该使用 \_\_\_\_\_\_\_\_\_\_ 结构。 2. `while` 循环的两个核心要素是 \_\_\_\_\_\_\_\_\_\_ 和 \_\_\_\_\_\_\_\_\_\_。 3. `while` 循环的语法结构是 `while` (\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_) {\_\_\_\_\_\_\_\_\_\_\_\_}。 4. 编写一个正确的 `while` 循环,通常需要三个步骤(填写 **更新循环控制变量、初始化循环控制变量、继续** ): - 循环开始前,______\_\_\_\_\_\_\_\_\_\_______。 - 在 `while()` 中设置让循环 _________\_\_\_\_\_\_\_\_\_\____ 的条件表达式。 - 在循环体内部 ______\_\_\_\_\_\_\_\_\_\_______,使其最终能让循环条件变为假。 5. 如果 `while` 循环的条件判断语句一直为真,程序将会陷入 ______\_\_\_\_\_\_\_\_\_\______。 #### **二、 单项选择题** ( ) 1. 下面哪段描述最适合用 `while` 循环来表达? A. 如果今天下雨,我就带伞出门 B. 当我的闹钟响起,我就起床 C. 只要我的游戏币还大于0,我就要一直玩游戏 D. 我的年龄是18岁 ( ) 2. `if` 语句和 `while` 语句最主要的区别在于? A. `if` 能做判断,`while` 不能 B. `while` 语句结束后,可能会回头重新判断条件,而 `if` 不会 C. `if` 的执行效率比 `while` 高 D. `while` 必须有大括号 `{}`,`if` 可以没有 ( ) 3. 观察下面的代码,它一共会输出多少个 `*`? ```cpp int i = 1; while (i <= 5) { cout << "*" << endl; i++; } ``` ​ A. 4 个 B. 5 个 C. 6 个 D. 无限个 ( ) 4. 对于 “一尺之棰,日取其半” 的问题,如果木棍初始长度 `a` 为 `8`,`day` 初始为 `1`,下面代码的循环体会被执行几次? ```cpp while (a > 1) { a = a / 2; day++; } ``` ​ A. 2 次 B. 3 次 C. 4 次 D. 8 次 ( ) 5. 在 `while (条件表达式)` 结构中,`条件表达式` 的作用是? A. 声明一个新变量 B. 决定循环是否继续执行 C. 定义循环需要执行的具体操作 D. 表示循环体执行结束 ( ) 6. 考虑代码 `int i = 10; while(i < 10) { cout << "Hello" << endl; }`,屏幕上会输出什么? A. 输出 1 个 "Hello" B. 输出 9 个 "Hello" C. 输出无限个 "Hello" D. 什么也不输出 ( ) 7. 要让 `while` 循环最终能停下来,最关键的操作是? A. 在循环前初始化变量 B. 在循环体内有让循环条件最终变为 `false` 的操作 C. 在循环体里有输出语句 D. 把循环条件写得足够简单 ( ) 8. 以下哪个 `while` 循环会导致死循环? A. `int i=0; while(i<5){ i++; }` B. `int i=5; while(i>0){ i--; }` C. `int i=1; while(i<=5){ cout << i; }` D. `int i=5; while(i>5){ i++; }` ( ) 9. 在 `while` 循环的执行流程中,第一步是? A. 执行循环体内的代码 B. 更新循环控制变量 C. 计算条件表达式的值 D. 返回程序开头 ( ) 10. 对于讲义中“乘地铁回家”的案例,我们需要把“再坐一站路”这个动作放在 `while` 循环里,体现了循环的什么特点? A. 必须有初始值 B. 重复执行的动作 C. 循环必须有出口 D. 循环的判断条件 #### **三、 判断题 (对的打“√”,错的打“×”)** ( ) 1. `while` 循环的循环体代码至少会被执行一次。 ( ) 2. `while (i <= 100)` 和 `while (100 >= i)` 这两个循环条件在逻辑上是等价的。 ( ) 3. 如果缺少类似于 `i++` 这样的用来更新循环变量的语句,`while` 循环肯定会变成死循环。 ( ) 4. `if` 语句是选择一个分支执行,而 `while` 语句是只要条件满足就一直重复执行。 ( ) 5. 计算机非常擅长处理简单、重复、有规律的工作。 ( ) 6. 在“一尺之棰”问题中,`day++` 这个语句即使被删除,程序也能计算出正确的天数。 ( ) 7. `while` 循环的大括号 `{}` 内的所有语句,在一次循环中都会从上到下被执行。 ( ) 8. `while(1)` 和 `while(0)` 都会导致死循环。 ( ) 9. 循环控制变量只能使用 `i` 这个名字。 ( ) 10. `while` 循环结构中,循环条件的判断发生在循环体执行之后。