目录
- [一、单选题(每题 4 分,共 40 分)](#一、单选题(每题 4 分,共 40 分))
- [二、判断题(每题 2 分,共 20 分)](#二、判断题(每题 2 分,共 20 分))
- [三、编程题(每题 20 分,共 40 分)](#三、编程题(每题 20 分,共 40 分))
一、单选题(每题 4 分,共 40 分)
- 以下哪个软件不能用于 C++ 程序的编写与编译运行?( )
A. Dev-C++
B. Visual Studio
C. 微软 Word
D. Code::Bolcks
【答案】C
【解析】Dev-C++、Visual Studio、Code::Blocks 都是常见的程序开发工具,可以编写、编译并运行 C++ 程序。Microsoft Word 是文字处理软件,不能用于编译运行 C++ 程序。
- 一个 C++ 源程序文件,以下哪个后缀名是标准合法的?( )
A..txt
B..cpp
C..doc
D..exe
【答案】B
【解析】C++ 源程序文件通常使用 .cpp 作为扩展名。.txt 为文本文件;.doc 为 Word 文档;.exe 为 Windows 系统中的可执行程序(二进制文件)。
- 以下 C++ 变量命名中,合法的一项是?( )
A.123num
B.my-age
C.int
D._score_2026
【答案】D
【解析】变量命名不能以数字开头;不能包含 - 等特殊符号;不能使用关键字;可以包含字母、数字和下划线。
- C++ 表达式
8 + 3 * 5 % 2的计算结果是?( )
A. 9
B. 13
C. 55
D. 0
【答案】A
【解析】按照运算符优先级:先计算 3 * 5 = 15,然后计算 15 % 2 = 1,最后计算 8 + 1 = 9。
执行以下 C++ 代码,输入 15 并回车后,输出结果是?( )
cpp#include <iostream> int main() { int a; std::cin >> a; std::cout << "result=" << a * 2; }A.
result=15B.
result=30C.
30=30D. 编译报错
【答案】B
【解析】输入 15 并回车之后,15 会被 cin 语句读取并存储到变量 a 中,之后输出 a * 2 会输出 15 * 2 的值 30。
- 以下哪个 C++ 函数可以用于计算一个数的平方根?( )
A.abs()
B.sqrt()
C.pow()
D.max()
【答案】B
【解析】abs() 用于求绝对值;sqrt() 用于求平方根;pow() 用于求幂运算;max() 用于求最大值。
以下 C++ 代码执行后,变量
b的最终值是?( )
cpp#include <iostream> int main() { int a = 10, b; a = a + 5; b = a / 3; }A. 3
B. 5
C. 10
D. 15
【答案】B
【解析】执行 a = a + 5 之后 a 的值是 10 + 5 = 15 10 + 5 = 15 10+5=15,再执行 b = a / 3 之后 b 的值是 15 / 3 = 5 15 / 3 = 5 15/3=5。
以下 C++ 代码执行后,输出结果是?( )
cpp#include <iostream> int main(){ int a = 5, b = 10; if (a > 3 && b < 15) std::cout << "YES"; else std::cout << "NO"; }A.
YESB.
NOC. 1
D. 0
【答案】A
【解析】关系运算 a > 3 和 b < 15 同时成立,因此 if 语句的判断条件成立,输出 YES。
以下 C++ 代码执行后,循环体一共会执行多少次?( )
cpp#include <iostream> int main() { for (int i = 0; i < 10; i += 2) std::cout << i; }A. 5
B. 10
C. 4
D. 无限次
【答案】A
【解析】循环变量依次为 0 , 2 , 4 , 6 , 8 0, 2, 4, 6, 8 0,2,4,6,8,共执行 5 次。
以下 C++ 代码执行后,输出的结果是?( )
cpp#include <iostream> int main() { int sum = 0; for (int i = 1; i <= 5; i++) sum += i; std::cout << sum; }A. 5
B. 10
C. 15
D. 20
【答案】C
【解析】循环中依次将 1 , 2 , 3 , 4 , 5 1,2,3,4,5 1,2,3,4,5 累加到变量 sum 中,可以得出 1 + 2 + 3 + 4 + 5 = 15 1+2+3+4+5=15 1+2+3+4+5=15。
二、判断题(每题 2 分,共 20 分)
- 顺序结构的程序,会按照代码书写的先后顺序依次执行。( )
【答案】√
【解析】顺序结构是最基本的程序结构,语句会按照编写顺序依次执行。
- C++ 程序必须经过编译、链接生成可执行文件后,才能在计算机上运行。( )
【答案】√
【解析】C++ 属于编译型语言,源代码需要经过编译和链接后生成可执行程序。
- 在 C++ 中,变量可以先使用,后定义。( )
【答案】×
【解析】变量必须先定义后使用,否则会产生编译错误。
- C++ 中,
5 / 2的计算结果是 2.5。( )
【答案】×
【解析】在 C++ 中,两个整数相除会执行整除运算,小数部分会被舍弃。因此 5 / 2 的结果是 2。
cin是 C++ 中用于输出的标准流对象。( )
【答案】×
【解析】cin 是标准输入流;cout 是标准输出流。
pow(2.0, 3.0)的计算结果是 8.0。( )
【答案】√
【解析】根据定义 2 3 = 8 2^3=8 23=8,由于 pow() 函数的返回值是 double 类型,因此 pow(2.0, 3.0) 的结果是 8.0。
abs(-5)和abs(5)的返回值相同,都是 5。( )
【答案】√
【解析】绝对值表示到原点的距离,-5 和 5 到原点的距离都是 5。
- C++ 中,
!(5 > 3)的逻辑结果为true。( )
【答案】×
【解析】先计算 5 > 3 得到 true,再计算 !true 得到结果为 false。
while循环的循环体至少会执行一次。( )
【答案】×
【解析】while 先判断条件再执行循环体。若条件一开始就不成立,则一次都不会执行。
for (i = 0; i < 10; i++)循环结束后,变量i的值是 10。( )
【答案】√
【解析】由于循环中变量 i 的步进量是 1,因此当 i 从 9 增加到 10 时 i < 10 首次不成立,退出循环,此时 i 的值是 10。
三、编程题(每题 20 分,共 40 分)
1. 夹心饼干
三个整数组成的三元组,恰好两个数相等、剩余一个数不同时,我们称其为 "夹心饼干"。给定三个整数 a , b , c a,b,c a,b,c,若能组成夹心饼干,输出 Yes,否则输出 No。
时间限制:1 s
内存限制:256 MB
-
输入
输入三个整数 a , b , c a,b,c a,b,c, 1 ≤ a , b , c ≤ 9 1\le a,b,c\le 9 1≤a,b,c≤9。 -
输出
输出组成结果。 -
样例输入 1
a3 3 2 -
样例输出 1
aYes -
样例输入 2
a2 2 2 -
样例输出 2
aNo
思路分析
此题考查分支结构,属于基础题。
满足条件的情况只有三种:
text
a=b 且 b≠c
a=c 且 a≠b
b=c 且 a≠b
如果满足其中任意一种情况,就输出 Yes,否则输出 No。
cpp
/*
* Name: T1.cpp
* Problem: 夹心饼干
* Author: Teacher Gao.
* Date&Time: 2026/05/30 16:48
*/
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
if ((a == b && b != c) ||
(a == c && a != b) ||
(b == c && a != b))
cout << "Yes\n";
else
cout << "No\n";
return 0;
}
2. 累加求和
给定两个整数 a , b a,b a,b,计算 a a a 到 b b b 之间(包含 a a a 和 b b b)所有偶数的和,并输出结果。
时间限制:1 s
内存限制:256 MB
-
输入
输入两个整数 a , b a,b a,b, − 10 4 ≤ a ≤ b ≤ 10 4 -10^4\le a\le b\le 10^4 −104≤a≤b≤104。 -
输出
输出 a a a 到 b b b 之间所有偶数的和。 -
样例输入 1
a1 10 -
样例输出 1
a30 -
样例输入 2
a-10 10 -
样例输出 2
a0
思路分析
此题考查循环结构,属于入门题。
循环枚举区间 a , b a,b a,b 中的每个整数,如果当前数字能够被 2 整除,则将其加入答案。
cpp
/*
* Name: T2.cpp
* Problem: 累加求和
* Author: Teacher Gao.
* Date&Time: 2026/05/30 16:49
*/
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int ans = 0;
for (int i = a; i <= b; i++) {
if (i % 2 == 0) {
ans += i;
}
}
cout << ans << '\n';
return 0;
}