目录
- [一、单选题(每题 4 分,共 40 分)](#一、单选题(每题 4 分,共 40 分))
- [二、判断题(每题 2 分,共 20 分)](#二、判断题(每题 2 分,共 20 分))
- [三、编程题(每题 20 分,共 40 分)](#三、编程题(每题 20 分,共 40 分))
一、单选题(每题 4 分,共 40 分)
- 以下哪个是 C++ 程序中的入口函数?( )
A.init()
B.main()
C.start()
D.begin()
【答案】B
【解析】C/C++ 程序从 main() 函数开始执行,因此它是程序的入口函数。
- 编译后生成的可执行文件,在 Windows 操作系统下,其默认的扩展名是?( )
A.cpp
B.exe
C.obj
D.h
【答案】B
【解析】Windows 系统下,可执行文件默认扩展名为 .exe。cpp 是 C++ 源代码文件的扩展名,h 是 C/C++ 头文件的扩展名,obj 是源代码编译生成的目标文件扩展名。
- 以下哪个步骤不是 C 程序开发的流程?( )
A. 编写源代码
B. 编译生成目标文件
C. 链接生成可执行文件
D. 运行源文件
【答案】D
【解析】C/C++ 程序需要先经过编译和链接生成可执行文件,不能直接运行源文件。
- 以下哪个不是合法的 C++ 标识符?( )
A.var
B.var123
C.123 var
D.VarName
【答案】C
【解析】C/C++ 标识符不能以数字开头,也不能包含空格。
- 表达式
5 / 2在 C++ 中的结果是?( )
A. 2
B. 2.5
C. 3
D. 2.0
【答案】A
【解析】5 和 2 都是整数,在 C/C++ 中 5 / 2 会进行整数除法,舍去小数部分,因此结果为 2。
- 以下哪个语句可以输出整数变量
a和b的值,中间用空格分隔?( )
A.cout << a << " " << b;
B.cout << a, b;
C.printf("%d%d", a, b);
D.printf(a + " " + b);
【答案】A
【解析】cout << a << " " << b; 是 C++ 中正确的输出语句。cout << a, b; 在 C++ 中会被当做 (cout << a), b;,因此只能输出 a 的值。C 选项可以输出 a 和 b 的值,但是没有输出空格。D 选项不是合法的函数调用方式。
abs(-5)的返回值是?( )
A. -5
B. 5
C. 0
D. 1
【答案】B
【解析】abs() 是 C/C++ 中用于求绝对值的函数,因此 abs(-5) = 5。
执行以下代码后,
z的值是?( )
cppint z = 10; z *= 2 + 3;A. 26
B. 50
C. 25
D. 23
【答案】B
【解析】复合赋值运算符与赋值运算符的计算规则类似,先计算赋值号右边 2 + 3 = 5,再执行 z *= 5,即 z = z * 5 = 50。
以下代码的输出是?( )
cppdouble d = 3.14159; cout << (int)(d) << endl;A. 3.14159
B. 3
C. 4
D. 3.0
【答案】B
【解析】(int)d 会将 double 类型强制转换为整数,小数部分被舍去(截断)。
执行以下代码后,
a和b的值分别是?( )
cppint a = 5, b = 10; int t = a; a = b; b = t;A. 5, 10
B. 10, 10
C. 10, 5
D. 5, 5
【答案】C
【解析】该代码的功能是利用临时变量 t 交换 a 和 b 的值。
二、判断题(每题 2 分,共 20 分)
- 注释语句会影响程序的执行速度。( )
【答案】×
【解析】注释在编译时会当作空格忽略掉,不会影响程序运行速度。
- 一个 C++ 源文件可以包含多个
main()函数。( )
【答案】×
【解析】一个 C/C++ 程序只能有一个 main() 函数,否则会编译错误。
- 变量名可以以数字开头。( )
【答案】×
【解析】变量名只能以字母或下划线开头。
const int a = 10;定义了一个常量,其值不能改变。( )
【答案】√
【解析】const 表示常量,定义时必须初始化,定义后不可修改。
- 赋值运算符
=的优先级高于算术运算符。( )
【答案】×
【解析】算术运算符优先级高于赋值运算符。
a += b效果等价于a = a + b。( )
【答案】√
【解析】复合赋值运算符 += 与对应展开形式等价。
cin和cout是 C++ 标准输入输出流对象,使用时需要包含iostream头文件。( )
【答案】√
【解析】标准输入输出流定义在 iostream 头文件中。
cout << fixed << setprecision(2) << 3.1415926;的运行结果是 3.14。( )
【答案】√
【解析】fixed 配合 setprecision(2) 表示保留两位小数输出。
sqrt(b / (a - a))会运行错误。( )
【答案】√
【解析】由于 a - a = 0,表达式 b / (a - a) 会发生除以 0 的错误,因为 0 不能做除数。
- 顺序结构是程序的三大基本执行结构之一。( )
【答案】√
【解析】程序的三大基本结构是:顺序结构、选择结构(分支结构)、循环结构。
三、编程题(每题 20 分,共 40 分)
1. 欢迎来到程序世界
请你编写一个简单的程序,输出指定的欢迎语句。
时间限制:1 s
内存限制:256 MB
-
输入
本题没有输入。 -
输出
请严格按照以下格式输出两行文字:
第一行:Hello, C++ World!
第二行:Let's start coding!
注意:大小写、标点和空格必须完全一致。 -
样例输入
a无 -
样例输出
aHello, C++ World! Let's start coding!
思路分析
本题考察基本输出语句,输出入门题。
只需要按照题目要求输出固定的两行内容即可。需要特别注意:
- 大小写必须完全一致;
- 标点符号和空格不能遗漏;
- 第二行中的单引号要正确输出。
cpp
/*
* Name: T1.cpp
* Problem: 欢迎来到程序世界
* Author: Teacher Gao.
* Date&Time: 2026/05/16 14:19
*/
#include <iostream>
using namespace std;
int main() {
cout << "Hello, C++ World!" << endl;
cout << "Let's start coding!" << endl;
return 0;
}
2. 重复的数列
有一个数列,按如下顺序排列:
- 1 , 2 , 3 , 4 , 0 , 1 , 2 , 3 , 4 , 0 , 1 , 2 , 3 , 4 , 0 , 1 , 2 , 3 , 4 , 0... 1,2,3,4,0,1,2,3,4,0,1,2,3,4,0,1,2,3,4,0... 1,2,3,4,0,1,2,3,4,0,1,2,3,4,0,1,2,3,4,0...
请问,该数列第 n n n 个数字是多少?
时间限制:1 s
内存限制:256 MB
-
输入
单个整数: n n n, 1 ≤ n ≤ 10 6 1\le n\le 10^6 1≤n≤106。 -
输出
单个整数:表示该数列的第 n n n 个数字的值。 -
样例输入 1
a1 -
样例输出 1
a1 -
样例输入 2
a10 -
样例输出 2
a0
思路分析
此题考察顺序结构找规律,属于入门题。
观察数列可以发现,每 5 个数字为一个循环,所以直接计算 n % 5 即可得到答案。
cpp
/*
* Name: T2.cpp
* Problem: 重复的数列
* Author: Teacher Gao.
* Date&Time: 2026/05/16 14:23
*/
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
cout << n % 5 << endl;
return 0;
}