Initial commit: C++ courseware
This commit is contained in:
commit
4a4ee7c287
1789 files changed
+373489
No files matched your search
@@ -0,0 +1,94 @@
|
||||
### **C++ (分支结构综合) 模拟练习题 - 参考答案**
|
||||
|
||||
#### **一、 填空题**
|
||||
|
||||
1. `default`
|
||||
2. `大括号` (或 `{}`)
|
||||
3. `string` (或 `float`, `double` 等其他非整型)
|
||||
4. `(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)`
|
||||
5. `!=`
|
||||
6. `分支` (或 `条件`, `else if`/`else`)
|
||||
7. `x <= 10`
|
||||
|
||||
#### **二、 单项选择题**
|
||||
|
||||
1. **C** (cin 用于输入)
|
||||
2. **B** (if-else if-else 用于多区间判断)
|
||||
3. **D** (switch 不支持浮点数)
|
||||
4. **C** (break 用于防止 case 穿透)
|
||||
5. **A** (85 大于等于60且小于90,为真)
|
||||
6. **D** (前置条件下的再判断,是典型的嵌套逻辑)
|
||||
7. **C** (50不满足前两个条件,执行 else)
|
||||
8. **B** (total\_Count 是合法的变量名)
|
||||
9. **B** (整数除法 `20/3` 得 6,取余 `20%3` 得 2)
|
||||
10. **B** (奇数除以2余数为1)
|
||||
|
||||
#### **三、 判断题**
|
||||
|
||||
1. **×** (if-else 结构是互斥的)
|
||||
2. **×** (`=` 是赋值,`==` 是比较)
|
||||
3. **√** (逻辑或 || 的短路特性)
|
||||
4. **×** (break 不是必须的,但是省略会产生穿透效果)
|
||||
5. **√** (if 可以独立存在)
|
||||
6. **×** (语法错误,应写为 `x > 10 && x < 20`)
|
||||
7. **√** (这是多分支 "else" 问题的配对规则)
|
||||
8. **√** (`!false` 是 `true`,`true || false` 结果为 `true`)
|
||||
9. **√** (可以将多个 case 标签写在一起,共用一个执行块)
|
||||
10. **√** (该结构具有排他性,最多只有一个分支被执行)
|
||||
|
||||
#### **四、 代码阅读与分析题**
|
||||
|
||||
1. **F** (字符'C'的ASCII码67, 67+3=70, 70对应的ASCII字符是'F')
|
||||
2. **冰冻** (-5不满足前三个条件,执行最后的 else)
|
||||
3. **良好 中等** (匹配 `case 'B'`,输出"良好 ",因无break,穿透到`case 'C'`,输出"中等 ",遇到break结束)
|
||||
4. **欢迎普通用户** (`logged_in`为真,执行外层if;`is_admin`为假,执行内层else)
|
||||
|
||||
#### **五、 程序填空题**
|
||||
|
||||
1. **题目:成绩等级转换**
|
||||
1. `score >= 80`
|
||||
2. `score >= 70`
|
||||
3. `score >= 60`
|
||||
4. `else`
|
||||
|
||||
2. **题目:星期转换器**
|
||||
1. `switch(day)`
|
||||
2. `break`
|
||||
3. `case 3`
|
||||
4. `default`
|
||||
|
||||
3. **题目:商场折扣计算器**
|
||||
*(注意:这是一个开放性编程题,以下为标准参考答案,学生的实现逻辑正确即可)*
|
||||
|
||||
```cpp
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
int main() {
|
||||
double amount;
|
||||
bool is_vip;
|
||||
cout << "请输入消费金额和是否为VIP(1是/0否): ";
|
||||
cin >> amount >> is_vip;
|
||||
|
||||
double final_payment = amount; // 默认应付金额为原始金额
|
||||
|
||||
// 8. 外层首先判断是否为VIP会员
|
||||
if (is_vip == true) { // 或者直接 if (is_vip)
|
||||
// 是VIP会员,进入嵌套判断来决定折扣力度
|
||||
|
||||
// 9. 嵌套判断:消费金额是否大于500
|
||||
if (amount > 500) {
|
||||
// 享受8折
|
||||
final_payment = amount * 0.8;
|
||||
} else {
|
||||
// 10. 享受9折
|
||||
final_payment = amount * 0.9;
|
||||
}
|
||||
}
|
||||
// 如果不是VIP,final_payment保持原值,无需else
|
||||
|
||||
cout << final_payment << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
Reference in new issue
Block a user