3.1 KiB
3.1 KiB
C++ (分支结构综合) 模拟练习题 - 参考答案
一、 填空题
default大括号(或{})string(或float,double等其他非整型)(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)!=分支(或条件,else if/else)x <= 10
二、 单项选择题
- C (cin 用于输入)
- B (if-else if-else 用于多区间判断)
- D (switch 不支持浮点数)
- C (break 用于防止 case 穿透)
- A (85 大于等于60且小于90,为真)
- D (前置条件下的再判断,是典型的嵌套逻辑)
- C (50不满足前两个条件,执行 else)
- B (total_Count 是合法的变量名)
- B (整数除法
20/3得 6,取余20%3得 2) - B (奇数除以2余数为1)
三、 判断题
- × (if-else 结构是互斥的)
- × (
=是赋值,==是比较) - √ (逻辑或 || 的短路特性)
- × (break 不是必须的,但是省略会产生穿透效果)
- √ (if 可以独立存在)
- × (语法错误,应写为
x > 10 && x < 20) - √ (这是多分支 "else" 问题的配对规则)
- √ (
!false是true,true || false结果为true) - √ (可以将多个 case 标签写在一起,共用一个执行块)
- √ (该结构具有排他性,最多只有一个分支被执行)
四、 代码阅读与分析题
- F (字符'C'的ASCII码67, 67+3=70, 70对应的ASCII字符是'F')
- 冰冻 (-5不满足前三个条件,执行最后的 else)
- 良好 中等 (匹配
case 'B',输出"良好 ",因无break,穿透到case 'C',输出"中等 ",遇到break结束) - 欢迎普通用户 (
logged_in为真,执行外层if;is_admin为假,执行内层else)
五、 程序填空题
-
题目:成绩等级转换
score >= 80score >= 70score >= 60else
-
题目:星期转换器
switch(day)breakcase 3default
-
题目:商场折扣计算器 (注意:这是一个开放性编程题,以下为标准参考答案,学生的实现逻辑正确即可)
#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; }