Initial commit: C++ courseware
This commit is contained in:
commit
4a4ee7c287
1789 files changed
+373489
No files matched your search
@@ -0,0 +1,217 @@
|
||||
# **C++ 综合测试卷(二) - 答案**
|
||||
|
||||
**一、单项选择题(每题 2 分,共 30 分)**
|
||||
|
||||
1. 在基本程序结构中,其中第二行的代码是什么?( **D** )
|
||||
A. `#include <iosream>`
|
||||
B. `use namespace std; `
|
||||
C. `using name std;`
|
||||
D. `using namespace std;`
|
||||
|
||||
2. 下列关于程序中 `int main()` 函数的说法,正确的是:( **B** )
|
||||
A. 一个程序可以有多个 `int main()`
|
||||
B. 程序执行时,总是从 `int main()` 开始
|
||||
C. `int main()` 必须放在程序的第一行
|
||||
D. `int main()` 不写后面的 `()` 也可以
|
||||
|
||||
3. 若要使用 `cout` 进行输出,下列语句中**漏掉**的部分是:( **B** )
|
||||
`cout << "Hello World" _____ endl;`
|
||||
A. `>>`
|
||||
B. `<<`
|
||||
C. `,`
|
||||
D. `;`
|
||||
|
||||
4. 下列变量名的标识符中,**不合法**的是:( **C** )
|
||||
A. `student_name`
|
||||
B. `_temp`
|
||||
C. `3days`
|
||||
D. `INT`
|
||||
|
||||
5. 在 C++ 中,`char` 字符和 `int` 整数之间可以进行运算或相互赋值,它们是通过下列哪一项来实现一一对应关系的?( **A** )
|
||||
A. ASCII码
|
||||
B. 内存地址
|
||||
C. 机器码
|
||||
D. 转义字符
|
||||
|
||||
6. 表达式 `7 / 2` 的值是:( **B** )
|
||||
A. 3.5
|
||||
B. 3
|
||||
C. 4
|
||||
D. 1
|
||||
|
||||
7. 表达式 `7 % 2` 的值是:( **D** )
|
||||
A. 3.5
|
||||
B. 3
|
||||
C. 4
|
||||
D. 1
|
||||
|
||||
8. 若有定义 `int a = 10;`,执行 `a = a + 5.5;` 后,`a` 的值是:( **B** )
|
||||
A. 10
|
||||
B. 15
|
||||
C. 15.5
|
||||
D. 16
|
||||
|
||||
9. 下列哪个转义字符表示“双引号”本身?( **B** )
|
||||
A. `\'`
|
||||
B. `\"`
|
||||
C. `\?`
|
||||
D. `\\`
|
||||
|
||||
10. 字符 `'A'` 的 ASCII 码是 65,则字符 `'C'` 的 ASCII 码是:( **C** )
|
||||
A. 63
|
||||
B. 66
|
||||
C. 67
|
||||
D. 97
|
||||
|
||||
11. 关于注释,下列说法**错误**的是:( **D** )
|
||||
A. 编译器会忽略注释内容,不将其编译为机器码
|
||||
B. `//` 用于单行注释
|
||||
C. `/*` 和 `*/` 必须成对出现
|
||||
D. 注释会增加生成的可执行文件的大小
|
||||
|
||||
12. 下列代码中,`input` 变量最终的值是:( **B** )
|
||||
`int input; cin >> input;` (假设用户在键盘输入了 `3.14` 并按下了回车)
|
||||
A. 3.14
|
||||
B. 3
|
||||
C. 0
|
||||
D. 程序报错
|
||||
|
||||
13. 如果想要交换两个已经存入了数据的整型变量 `a` 和 `b` 的值,必须借助:( **C** )
|
||||
A. `cin`
|
||||
B. `cout`
|
||||
C. 第三个变量
|
||||
D. `main` 函数
|
||||
|
||||
14. `(int)3.99 + (int)2.99` 的结果是:( **D** )
|
||||
A. 7
|
||||
B. 6
|
||||
C. 6.98
|
||||
D. 5
|
||||
|
||||
15. 若 `int n = 123;`,则表达式 `n % 100` 的结果是:( **D** )
|
||||
A. 1
|
||||
B. 3
|
||||
C. 12
|
||||
D. 23
|
||||
|
||||
---
|
||||
|
||||
**二、判断题(每题 1 分,共 10 分,对的打√,错的打×)**
|
||||
|
||||
1. C++ 语言是区分大小写的,`Main` 和 `main` 是两个不同的名字。 ( **√** )
|
||||
2. `double` 类型的变量可以精确存储任意小数。 ( **×** )
|
||||
3. 变量定义 `int a = 10, b = 10;` 是合法的。 ( **√** )
|
||||
4. `cout << "3 + 2";` 这行代码会在屏幕上输出 `5`。 ( **×** )
|
||||
5. `cin` 输入数据时,默认使用空格、回车作为分隔符。 ( **√** )
|
||||
6. 所有的变量在使用之前都必须先定义。 ( **√** )
|
||||
7. 表达式 `5 / 0` 的结果是 0。 ( **×** )
|
||||
8. 字符使用单引号 `' '`,字符串使用双引号 `" "`。 ( **√** )
|
||||
9. `\t` 和 `endl` 都可以用来换行。 ( **×** )
|
||||
10. 只有 `int` 类型的变量才能进行强制类型转换,其他类型不可以。 ( **×** )
|
||||
|
||||
---
|
||||
|
||||
**三、基础填空题(每题 4 分,共 20 分)**
|
||||
|
||||
1. 在 C++ 中,定义整数变量,使用 **int** 表示;定义小数变量,使用 **double** (或 float) 表示。
|
||||
|
||||
2. 若 `int x = 5;`,则 `cout << x * x;` 的输出结果是 **25**。
|
||||
|
||||
3. 假设 `char c = '0';` (ASCII码为48),那么表达式 `(int)c + 2` 的值是 **50**,若强制转换为字符 `(char)(c + 2)`,则对应的字符是 **'2'**。
|
||||
|
||||
4. 想要定义一个**小数**变量,变量名字为: `radius` 并初始化为 1.5,语句是:**double radius = 1.5;**。
|
||||
|
||||
5. 表达式 `1234 / 1000` 的结果是 **1**,这个运算常用来获取四位数的 **千** 位数字。
|
||||
|
||||
---
|
||||
|
||||
**四、代码阅读与分析题(每题 5 分,共 20 分)**
|
||||
**请直接写出代码运行后的输出结果。**
|
||||
|
||||
1. **类型转换与算术**
|
||||
|
||||
```cpp
|
||||
int a = 7;
|
||||
int b = 2;
|
||||
double ans = a / b;
|
||||
cout << ans << endl;
|
||||
```
|
||||
|
||||
**输出结果:** **3**
|
||||
|
||||
2. **数位运算**
|
||||
|
||||
```cpp
|
||||
int n = 456;
|
||||
int y = n / 10 % 10;
|
||||
int z = n / 100;
|
||||
cout << y * 2 + z * 4 << endl;
|
||||
```
|
||||
|
||||
**输出结果:** **26**
|
||||
|
||||
3. **字符与转义**
|
||||
|
||||
```cpp
|
||||
cout << "小明说\:\"我喜欢学习\"";
|
||||
```
|
||||
|
||||
**输出结果:** **小明说:"我喜欢学习"**
|
||||
|
||||
4. **整数除法**
|
||||
|
||||
```cpp
|
||||
int total = 100;
|
||||
int part = 30;
|
||||
double percentage = (part / total) * 100;
|
||||
cout << percentage << endl;
|
||||
```
|
||||
|
||||
**输出结果:** **0**
|
||||
|
||||
---
|
||||
|
||||
**五、程序填空题(每空 4 分,共 20 分)**
|
||||
|
||||
**1. 题目:数字反转**
|
||||
**要求:** 输入一个三位整数(例如 386),将其个位、十位、百位分离出来,并按“个位 十位 百位”的顺序输出(例如输出 `6 8 3`)。请在横线上填入正确的代码。
|
||||
|
||||
```cpp
|
||||
int main() {
|
||||
int num;
|
||||
cout << "请输入一个三位数: ";
|
||||
cin >> num;
|
||||
|
||||
// 1. 获取个位数字
|
||||
int ones = num % 10;
|
||||
|
||||
// 2. 获取十位数字
|
||||
int tens = num / 10 % 10;
|
||||
|
||||
// 3. 获取百位数字
|
||||
int hundreds = num / 100;
|
||||
|
||||
// 4. 输出结果
|
||||
cout << ones << " " << tens << " " << hundreds << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
**2. 题目:华氏温度转摄氏温度**
|
||||
**要求:** 输入一个华氏温度 $F$,根据公式 $C = \frac{5}{9} \times (F - 32)$ 计算摄氏温度 $C$。(在公式中 $F$ 代表的是华氏温度,$C$ 代表的是摄氏温度),请填空完成程序。
|
||||
|
||||
```cpp
|
||||
int main() {
|
||||
double F; // 用来储存输入的华氏温度
|
||||
cout << "请输入华氏温度: ";
|
||||
// 请在下方填空,用于输入华氏温度
|
||||
cin >> F;
|
||||
// 请在下方填空,根据题干的公式,计算摄氏温度,且公式逻辑正确
|
||||
// 注意:必须使用 5.0 / 9 或 5.0 / 9.0,避免整数除法
|
||||
double C = 5.0 / 9 * (F - 32);
|
||||
|
||||
cout << "对应的摄氏温度是: " << C << endl;
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
Binary file not shown.
@@ -0,0 +1,214 @@
|
||||
* # **C++ 综合测试卷(二)**
|
||||
|
||||
## **姓名:_\_\_\_\_\_\_\_\_\_ ** **成绩:_\_\_\_\_\_\_\_\_\_**
|
||||
|
||||
**一、单项选择题(每题 2 分,共 30 分)**
|
||||
|
||||
1. 在基本程序结构中,其中第二行的代码是什么?( )
|
||||
A. `#include <iosream>`
|
||||
B. `use namespace std; `
|
||||
C. `using name std;`
|
||||
D. `using namespace std;`
|
||||
|
||||
2. 下列关于程序中 `int main()` 函数的说法,正确的是:( )
|
||||
A. 一个程序可以有多个 `int main()`
|
||||
B. 程序执行时,总是从 `int main()` 开始
|
||||
C. `int main()` 必须放在程序的第一行
|
||||
D. `int main()` 不写后面的 `()` 也可以
|
||||
|
||||
3. 若要使用 `cout` 进行输出,下列语句中**漏掉**的部分是:( )
|
||||
`cout << "Hello World" _____ endl;`
|
||||
A. `>>`
|
||||
B. `<<`
|
||||
C. `,`
|
||||
D. `;`
|
||||
|
||||
4. 下列变量名的标识符中,**不合法**的是:( )
|
||||
A. `student_name`
|
||||
B. `_temp`
|
||||
C. `3days`
|
||||
D. `INT`
|
||||
|
||||
5. 在 C++ 中,`char` 字符和 `int` 整数之间可以进行运算或相互赋值,它们是通过下列哪一项来实现一一对应关系的?( )
|
||||
A. ASCII码
|
||||
B. 内存地址
|
||||
C. 机器码
|
||||
D. 转义字符
|
||||
|
||||
6. 表达式 `7 / 2` 的值是:( )
|
||||
A. 3.5
|
||||
B. 3
|
||||
C. 4
|
||||
D. 1
|
||||
|
||||
7. 表达式 `7 % 2` 的值是:( )
|
||||
A. 3.5
|
||||
B. 3
|
||||
C. 4
|
||||
D. 1
|
||||
|
||||
8. 若有定义 `int a = 10;`,执行 `a = a + 5.5;` 后,`a` 的值是:( )
|
||||
A. 10
|
||||
B. 15
|
||||
C. 15.5
|
||||
D. 16
|
||||
|
||||
9. 下列哪个转义字符表示“双引号”本身?( )
|
||||
A. `\'`
|
||||
B. `\"`
|
||||
C. `\?`
|
||||
D. `\\`
|
||||
|
||||
10. 字符 `'A'` 的 ASCII 码是 65,则字符 `'C'` 的 ASCII 码是:( )
|
||||
A. 63
|
||||
B. 66
|
||||
C. 67
|
||||
D. 97
|
||||
|
||||
11. 关于注释,下列说法**错误**的是:( )
|
||||
A. 编译器会忽略注释内容,不将其编译为机器码
|
||||
B. `//` 用于单行注释
|
||||
C. `/*` 和 `*/` 必须成对出现
|
||||
D. 注释会增加生成的可执行文件的大小
|
||||
|
||||
12. 下列代码中,`input` 变量最终的值是:( )
|
||||
`int input; cin >> input;` (假设用户在键盘输入了 `3.14` 并按下了回车)
|
||||
A. 3.14
|
||||
B. 3
|
||||
C. 0
|
||||
D. 程序报错
|
||||
|
||||
13. 如果想要交换两个已经存入了数据的整型变量 `a` 和 `b` 的值,必须借助:( )
|
||||
A. `cin`
|
||||
B. `cout`
|
||||
C. 第三个变量
|
||||
D. `main` 函数
|
||||
|
||||
14. `(int)3.99 + (int)2.99` 的结果是:( )
|
||||
A. 7
|
||||
B. 6
|
||||
C. 6.98
|
||||
D. 5
|
||||
|
||||
15. 若 `int n = 123;`,则表达式 `n % 100` 的结果是:( )
|
||||
A. 1
|
||||
B. 3
|
||||
C. 12
|
||||
D. 23
|
||||
|
||||
---
|
||||
|
||||
**二、判断题(每题 1 分,共 10 分,对的打√,错的打×)**
|
||||
|
||||
1. C++ 语言是区分大小写的,`Main` 和 `main` 是两个不同的名字。 ( )
|
||||
2. `double` 类型的变量可以精确存储任意小数。 ( )
|
||||
3. 变量定义 `int a = 10, b = 10;` 是合法的。 ( )
|
||||
4. `cout << "3 + 2";` 这行代码会在屏幕上输出 `5`。 ( )
|
||||
5. `cin` 输入数据时,默认使用空格、回车作为分隔符。 ( )
|
||||
6. 所有的变量在使用之前都必须先定义。 ( )
|
||||
7. 表达式 `5 / 0` 的结果是 0。 ( )
|
||||
8. 字符使用单引号 `' '`,字符串使用双引号 `" "`。 ( )
|
||||
9. `\t` 和 `endl` 都可以用来换行。 ( )
|
||||
10. 只有 `int` 类型的变量才能进行强制类型转换,其他类型不可以。 ( )
|
||||
|
||||
---
|
||||
|
||||
**三、基础填空题(每题 4 分,共 20 分)**
|
||||
|
||||
1. 在 C++ 中,定义整数变量,使用 \_\_\_\_\_\_\_\_\_\_(填一种数据类型) 表示;定义小数变量,使用 \_\_\_\_\_\_\_\_\_\_(填一种数据类型) 表示。
|
||||
|
||||
2. 若 `int x = 5;`,则 `cout << x * x;` 的输出结果是 \_\_\_\_\_\_\_\_\_\_。
|
||||
|
||||
3. 假设 `char c = '0';` (ASCII码为48),那么表达式 `(int)c + 2` 的值是 \_\_\_\_\_\_\_\_\_\_,若强制转换为字符 `(char)(c + 2)`,则对应的字符是 \_\_\_\_\_\_\_\_\_\_。
|
||||
|
||||
4. 想要定义一个**小数**变量,变量名字为: `radius` 并初始化为 1.5,语句是:\_\_\_\_\_\_\_\_\_\_\_\__\_\_\_\_\_\_\_\_\_\_\_。
|
||||
|
||||
5. 表达式 `1234 / 1000` 的结果是 \_\_\_\_\_\_\_\_\_\_,这个运算常用来获取四位数的 \_\_\_\_\_\_\_\_\_\_位数字。
|
||||
|
||||
---
|
||||
|
||||
**四、代码阅读与分析题(每题 5 分,共 20 分)**
|
||||
**请直接写出代码运行后的输出结果。**
|
||||
|
||||
1. **类型转换与算术**
|
||||
|
||||
```cpp
|
||||
int a = 7;
|
||||
int b = 2;
|
||||
double ans = a / b;
|
||||
cout << ans << endl;
|
||||
```
|
||||
**输出结果:**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
|
||||
|
||||
2. **数位运算**
|
||||
|
||||
```cpp
|
||||
int n = 456;
|
||||
int y = n / 10 % 10;
|
||||
int z = n / 100;
|
||||
cout << y * 2 + z * 4 << endl;
|
||||
```
|
||||
**输出结果:** \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
|
||||
|
||||
3. **字符与转义**
|
||||
|
||||
```cpp
|
||||
cout << "小明说\:\"我喜欢学习\"";
|
||||
```
|
||||
**输出结果:**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
|
||||
|
||||
4. **整数除法**
|
||||
```cpp
|
||||
int total = 100;
|
||||
int part = 30;
|
||||
double percentage = (part / total) * 100;
|
||||
cout << percentage << endl;
|
||||
```
|
||||
**输出结果:** \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
|
||||
|
||||
---
|
||||
|
||||
**五、程序填空题(每空 4 分,共 20 分)**
|
||||
|
||||
**1. 题目:数字反转**
|
||||
**要求:** 输入一个三位整数(例如 386),将其个位、十位、百位分离出来,并按“个位 十位 百位”的顺序输出(例如输出 `6 8 3`)。请在横线上填入正确的代码。
|
||||
|
||||
```cpp
|
||||
int main() {
|
||||
int num;
|
||||
cout << "请输入一个三位数: ";
|
||||
cin >> num;
|
||||
|
||||
// 1. 获取个位数字
|
||||
int ones = ____________________;
|
||||
|
||||
// 2. 获取十位数字
|
||||
int tens = ____________________;
|
||||
|
||||
// 3. 获取百位数字
|
||||
int hundreds = ____________________;
|
||||
|
||||
// 4. 输出结果
|
||||
cout << ones << " " << tens << " " << hundreds << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
**2. 题目:华氏温度转摄氏温度**
|
||||
**要求:** 输入一个华氏温度 $F$,根据公式 $C = \frac{5}{9} \times (F - 32)$ 计算摄氏温度 $C$。(在公式中 $F$ 代表的是华氏温度,$C$ 代表的是摄氏温度),请填空完成程序。
|
||||
|
||||
```cpp
|
||||
int main() {
|
||||
double F; // 用来储存输入的华氏温度
|
||||
cout << "请输入华氏温度: ";
|
||||
// 请在下方填空,用于输入华氏温度
|
||||
________________
|
||||
// 请在下方填空,根据题干的公式,计算摄氏温度,且公式逻辑正确
|
||||
double C = ____________________ * (F - 32);
|
||||
|
||||
cout << "对应的摄氏温度是: " << C << endl;
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
学完 转义符与字符 一章节后可考
|
||||
Reference in new issue
Block a user