Files

67 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### C++ if 条件分支实战演练 课后习题
姓名: \_\_\_\_\_\_\_\_\_\_\_\_\_
#### **一、 填空题**
1. **解决条件判断问题的模板**的第一步是:找到需要程序做出选择的\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_。第二步是:写出判断分岔点的\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_。第三步是:根据分岔点的\_\_\_\_\_\_\_\_\_\_\_\_\_和\_\_\_\_\_\_\_\_\_\_\_\_\_选择合适的 `if` 分支语句。第四步是:实现各分支的\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_。
2. 在C++中,要表达“`score`在70到80之间(含边界)”这个条件,正确的代码是 `score >= 70` \_\_\_\_\_\_\_\_\_\_\_\_\_ `score <= 80`。
3. 要判断一个数是“奇数”还是“偶数”,这是一个“二选一”问题,应该使用\_\_\_\_\_\_\_\_\_\_\_\_\_结构。
4. 在“景点门票”案例中,半价的条件是“年龄小于等于6”**或者**“年龄大于等于60”,这里的“或者”应该用逻辑运算符\_\_\_\_\_\_\_\_\_\_\_\_\_来表示。
5. 在“简单计算器”案例中,需要输入例如 `5+3` 这种格式的数据,那么 `cin >> num1 >> ch >> num2;` 这行代码可以依次读入一个整数、一个\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_(填一种数据类型)和一个整数。
6. 在判断字符 `ch` 是否为数字时,我们可以通过表达式\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_将数字字符(如`'5'`)转换为它对应的整数数字(如`5`)。
7. 闰年的判断规则是:`year` 能被4整除**并且**不能被100整除,**或者**能被400整除。请写出它的条件表达式:\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
#### **二、 单项选择题**
( ) 1. “如果一个数是3的倍数,就输出‘Yes’,否则什么也不做。”这个逻辑最适合用哪种结构?
A. 一个 `if` 语句结构 B. `if-else` 结构 C. 多个 `if` 结构 D. 顺序结构
( ) 2. 判断一个字符 `ch` 是否为小写英文字母,正确的条件表达式是?
A. `ch >= 'a' || ch <= 'z'` B. `ch > 'a' && ch < 'z'`
C. `ch >= 'a' && ch <= 'z'` D. `ch == 'a'`
( ) 3. 在“简单计算器”案例中,如果想判断用户是否想做减法运算,`if` 的条件应该写成(`ch` 是字符类型变量,储存了运算符,例如`+-*/`)?
A. `ch = '-'` B. `ch == "-"` C. `ch == '-'` D. `ch != '-'`
( ) 4. 在数学中 `70 <= score <= 80` 是正确的,但在C++中这种写法是错误的,因为它会先计算什么?
A. `score <= 80` B. `70 <= score` C. `70 <= 80` D. 整个表达式一起计算
( ) 5. 在“鸡兔同笼”问题中,我们推断出无解的三个条件是“鸡的数量为小数”、“鸡的数量为负数”、“兔的数量为负数”。我们需要判断结果是否无解,那么这三个条件之间应该用什么逻辑运算符连接?
A. `&&` (并且) B. `||` (或者) C. `!` (非) D. `==` (等于)
( ) 6. 在“景点门票”的例子中,景点的票价为50元/人,一个6岁的孩子和一个60岁的老人去买票,根据条件 `age <= 6 || age >= 60`,他们的票价分别是多少?
A. 25元 和 50元 B. 50元 和 25元 C. 25元 和 25元 D. 50元 和 50元
( ) 7. 要判断“一个数 `x` 同时是3和5的倍数”,正确的表达式是?
A. `x % 3 == 0 || x % 5 == 0`
B. `x % 3 && x % 5 == 0`
C. `x % 3 == 0 && x % 5 == 0`
D. `x % 15 != 0`
( ) 8. “输入一个整数,如果是正数,输出‘Positive’;如果是负数,输出‘Negative’;如果是0,输出‘Zero’。” 这个问题最好用什么结构来解决?
A. 一个 `if` B. 一个 `if-else` C. 多个独立的 `if` D. `if-else if-else` 结构
( ) 9. 给出三角形的三条边长 L1、L2、L3 输出判断能否构成三角形。如果三条边长分别是 `L1=3, L2=4, L3=8`,程序判断的结果应该是?
A. 可以构成三角形,因为三条边都是正数
B. 不可以构成三角形,因为 `L1 + L2` 不大于 `L3`
C. 可以构成三角形,因为 `L1 + L3` 大于 `L2`
D. 不可以构成三角形,因为三条边不一样长
( ) 10. 在构建复杂的逻辑表达式时,如果搞不清楚 `&&` 和 `||` 的优先级,最好的习惯是什么?
A. 把 `&&` 写在前面 B. 把 `||` 写在前面
C. 使用括号 `()` 来明确指定运算顺序 D. 查阅C++手册
#### **三、 判断题 (对的打“√”,错的打“×”)**
( ) 1. 解决条件判断问题,可以套用四步解题模板。
( ) 2. `if(score >= 70 && <= 80)` 是一个合法的C++判断语句。
( ) 3. 多个独立的 `if` 语句可适用于处理几种互不相关的条件。
( ) 4. 在“鸡兔同笼”问题中,`if` 语句主要用来进行数学计算,而不是合理性验证。
( ) 5. 判断“一个数 `x` 是奇数”的条件是 `x % 2 != 0`。
( ) 6. 为了让代码更清晰易读,`if` 和 `else` 后面大括号里的语句应该向内缩进。
( ) 7. 在“简单计算器”的例子中,如果输入的是 `5+3`,程序在执行完加法的 `if` 语句后,就不会再去判断后面的减法、乘法、除法的 `if` 语句了。
( ) 8. 构成三角形的条件是“任意两边之和大于第三边”,所以三个“大于”条件必须同时满足,应该用 `&&` 连接。
( ) 9. 解决条件判断问题的步骤之一是将生活中的语言翻译成计算机能懂的条件表达式。
( ) 10. “判断一个英文字符是元音还是辅音”是一个“二选一”问题,适合用 `if-else` 结构。