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,215 @@
## **C++ 综合测试卷(六)**
### **姓名:\_\_\_\_\_\_\_\_\_\_** **成绩:\_\_\_\_\_\_\_\_\_\_**
**一、单项选择题(每题 2 分,共 30 分)**
( ) 1. 所有 C++ 程序的起点(程序的入口)是?
A. `void main()` B. `int mian()` C. `int main()` D. `main()`
( ) 2. `cout` 是C++中用于输出的对象,它位于哪个头文件中?
A. `<cmath>` B. `<string>` C. `<iostream>` D. `<cstdio>`
( ) 3. 表达式 `15 % 4` 的计算结果是?
A. 3.75 B. 3 C. 11 D. 4
( ) 4. 在C++中,哪种数据类型最适合用来存储一个人的精确身高,如“1.75米”?
A. `int` B. `double` C. `char` D. `bool`
( ) 5. 表达式 `15 / 4` 的计算结果是?
A. 3.75 B. 4 C. 3 D. 2
( ) 6. 表达式 `cout << ! (10 > 5)` 的输出结果是?
A. 1 B. 0 C. `true` D. `false`
( ) 7. 要判断一个年份 `year` 能被4整除,`if` 语句的条件应该写成?
A. `if (year / 4 == 0)` B. `if (year % 4 == 0)`
C. `if (year % 4 = 0)` D. `if (year * 4 == 0)`
( ) 8. 要判断一个数 `x` 是否“大于10并且小于20”,正确的表达式是?
A. `x > 10 || x < 20` B. `10 < x < 20`
C. `x > 10 && x < 20` D. `x >= 10 && x <= 20`
( ) 9. 如果 `bool is_ok = true;`,下面哪个 `if` 条件判断最终为真?
A. `if (!is_ok)` B. `if (is_ok == false)`
C. `if (is_ok && false)` D. `if (is_ok || true)`
( ) 10. `if-else` 结构用于解决哪种逻辑问题?
A. 顺序执行 B. 二选一 C. 多次重复 D. 单向判断
( ) 11. 下列哪个是 C++ 中的合法变量名?
A. `double` B. `2things` C. `my_name` D. `my-name`
( ) 12. 若有定义 `double x = 10; int y = 4;`,则表达式 `x / y` 的值是?
A. 2 B. 2.0 C. 2.5 D. 3
( ) 13. 要在程序中使用 `cin` 和 `cout`,必须在写上 `using namespace` __\_\_\_\_\___;
A. `std` B. `main` C. `iostream` D. `cpp`
( ) 14. 已知字符 `'B'` 的ASCII码是 66,那么字符 `'D'` 的ASCII码是?
A. 67 B. 68 C. 69 D. 70
( ) 15. 在 `if (x = 10)` 这个条件中,会发生什么?
A. 判断 `x` 是否等于10
B. 将10赋值给`x`,并且条件判断为真
C. 将10赋值给`x`,并且条件判断为假
D. 代码会出现编译错误
**二、判断题(每题 2 分,共 12 分,对的打√,错的打×)**
( ) 1. `cin` 语句可以一次性读取多个用空格隔开的数据。
( ) 2. 在C++中,`if` 语句后面的 `{}` 大括号,如果里面只有一条语句,从语法上可以省略不写大括号。
( ) 3. 表达式 `true && false` 的结果是 `true`。
( ) 4. `int a = 3.14;` 这行代码会导致编译错误,程序无法运行。
( ) 5. 变量在定义时可以不进行初始化(赋值)。
( ) 6. `if (score < 60)` 和 `if (!(score >= 60))` 这两个条件在逻辑上是等价的。
**三、填空题(每空 2 分,共 16 分)**
1. C++ 中用于单行注释的符号是 \_\_\_\_\_\_\_\_\_,注释\_\_\_\_\_\_\_\_\_ (填:会 / 不会) 影响程序的运行。
2. 若 `int a = 5, b = 2;`,则 `cout << a / b;` 的输出结果是 \_\_\_\_\_\_\_\_\_\_。
3. 逻辑运算符“并且”的符号是 \_\_\_\_\_\_\_\_\_\_,“或者”的符号是 \_\_\_\_\_\_\_\_\_\_。
4. 需要定义一个整数类型变量 `MAX_NUM` 并赋值为 100,其 C++ 语句是:\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_。
5. 如果 `bool a = true, b = false;`,那么表达式 `a && !b` 的结果是\_\_\_\_\_\_\_\_\_\_。
**四、代码阅读与分析题(每题 3 分,共 12 分)**
请直接在代码下方的横线处写出代码运行后的输出结果(如果程序没有任何输出,则写“无输出”)。
1. **算术运算**
```cpp
int main() {
int x = 20;
x = x - 5;
x = x % 6;
cout << x << endl;
return 0;
}
```
输出结果:\_\_\_\_\_\_\_\_\_\_\_\_\_\_
2. **字符与整数**
```cpp
int main() {
char c1 = 'd'; // 提示: 'd'的ASCII码是100
int num = c1 - 2;
char c2 = num;
cout << c2 << endl;
return 0;
}
```
输出结果:\_\_\_\_\_\_\_\_\_\_\_\_\_\_
3. **条件判断**
```cpp
int main() {
int temp = 30;
if (temp > 28) {
cout << "有点热" << endl;
} else {
cout << "天气舒适" << endl;
}
return 0;
}
```
输出结果:\_\_\_\_\_\_\_\_\_\_\_\_\_\_
4. **逻辑组合判断**
```cpp
int main() {
int math = 95, english = 88;
if (math >= 90 || english >= 90) {
cout << "可以吃大餐" << endl;
}
return 0;
}
```
输出结果:\_\_\_\_\_\_\_\_\_\_\_\_
**五、程序填空题(无特殊说明的情况下每空 3 分,共 30 分)**
1. **题目:秒数转换**
要求:输入一个总秒数 `total_seconds`,将其转换为 `小时:分钟:秒` 的格式并输出。例如,输入 `3661`,应计算出是 `1` 小时 `1` 分钟 `1` 秒。
```cpp
int main() {
int total_seconds;
cout << "请输入总秒数: ";
// 1. 从键盘输入总秒数(1分)
______________________________;
// 2. 从输入的总秒数来计算总秒数中有多少个小时数 (提示: 1小时=3600秒)
int hours = __________________________________________;
// 3. 计算剩下的分钟数 (提示: 需要求出除去小时后剩下的秒数能构成多少分钟)
int minutes = __________________________________________;
// 4. 计算剩下的的秒数
int seconds = __________________________________________;
cout << hours << "小时 " << minutes << "分钟 " << seconds << "秒";
return 0;
}
```
2. **题目:登录验证**
要求:输入两个整数 `input_id` 和 `input_code`。判断输入的ID是否等于 `1001` **并且** 输入的密码是否等于 `123456`。如果都正确,输出"Success",否则输出"Failed"。
```cpp
int main() {
int input_id, input_code;
cout << "请输入ID和密码: ";
// 5. 输入ID和密码(1分)
________________________;
// 6. 定义正确的ID和密码作为常量
const int ID = 1001;
const int Code = 123456;
// 7. 使用合适的 if 结构判断输入的ID和密码是否都正确。
if (___________________________________________) {
// 8. 如果都正确,输出 "Success"(1分)
_______________________________;
} else {
cout << "Login Failed" << endl;
}
return 0;
}
```
3. **题目:俱乐部入场资格**
要求:输入一个人的年龄 `age` 和他是否是会员 `is_member`(`1`代表是,`0`代表不是)。根据以下复杂规则判断他能否入场(如果允许入场,输出"Allowed",不允许入场,输出"Denied"。):
- **对于成年人 (年龄 >= 18):**
- 如果该成年人是会员,则允许入场。
- 如果不是会员,那只有年龄在25岁及以下(age <= 25)的“青年”才被允许入场,否则拒绝入场。
- **对于未成年人 (年龄 < 18):**
- 只有是会员的情况下才允许入场,否则一律拒绝入场。
```cpp
int main() {
int age;
bool is_member;
cout << "请输入年龄 和 是否是会员(1/0): ";
cin >> age >> is_member;
// 9. 请自行使用合适的 if 结构判断输入的年龄和会员情况是否可以参加活动,根据题意输出"Allowed"或输出"Denied"。(本大题共15分,按完成度与步骤给分,请将完整的判断逻辑写在下方,本题答案不唯一,代码实现能达到题目要求即可)
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
return 0;
}
```