GESP2026年6月认证C++七级( 第二部分判断题(1-10))精讲

📅 2026/7/8 13:50:26 👁️ 阅读次数 📝 编程学习
GESP2026年6月认证C++七级( 第二部分判断题(1-10))精讲



第1题 三角函数默认使用角度制。

答案:错误


1、但根据 C++ 标准库:

sin(90)

中的90表示90弧度,不是90度


2、例如:

#include <iostream> #include <cmath> using namespace std; int main() { cout << sin(90); }

输出不是

1

而是

0.893997...

因为

90(弧度)≈5157°

不是90°。


3、输入角度转弧度的方法:

参考程序:

#include <iostream> #include <cmath> using namespace std; int main() { const double PI = acos(-1); double degree; cin >> degree; double rad = degree * PI / 180.0; cout << rad << endl; return 0; }

4、七级考试记住

所有<cmath>三角函数默认使用弧度制。



第2题

pow(2,10),因为参数都是int,所以返回值也是int。

答案:

错误 ❌️


1、有的同学容易被"参数类型"骗了。

(1)来看:

pow(2,10)

虽然

2 10

都是int。


(2)但是

pow()函数规定:

返回值始终是

double

(3)例如:

double x=pow(2,10);

完全正确。


(4)所以

这句话错误。


2、为什么?

(1)因为

pow(2.1,3.8)

也合法。

如果返回int,

很多小数都会丢失。


(2)因此数学库统一规定:

pow()返回double。



第3题

01背包一维优化时,从小到大枚举容量也能保证每件物品最多选择一次。

答案:

错误 ❌️


1、这一题是经典背包问题。

假设只有一个物品

重量

2

价值

5

容量

6

2、如果正着循环

for(c=2;c<=6;c++)

那么

(1)第一次更新

dp[2]=5

(2)随后

更新

dp[4]

会使用

dp[2]

于是

同一个物品

又放了一遍。


(3)继续

dp[6]

又放第三遍。


(4)最后

变成

15

(5)实际上

一件物品

用了三次。


(6)已经不是01背包。

而是

完全背包。


3、所以01背包必须

for(c=W;c>=w;c--)

倒着更新。



第4题

开放定址法即使哈希函数很好,也仍可能发生冲突。

答案:

正确 ✅️


1、为什么?

(1)假设哈希函数

x%11

(2)插入

11 22 33

它们都会来到

0

(3)于是

冲突了。

再好的哈希函数

也不能保证

所有数字

都映射不同。


2、所以

开放定址法

是可能冲突的。



第5题

DFS访问顺序与邻接点枚举顺序无关。

答案:

错误 ❌️


1、来看

A / \ B C

(1)如果

先枚举B

再枚举C


(2)DFS

就是

A ↓ B ↓ C

(3)如果

先枚举C

再枚举B


(4)DFS就是

A ↓ C ↓ B

(5)访问顺序

完全不同。


2、所以

DFS结果

与邻接点遍历顺序密切相关。


3、什么时候是唯一?

只有:

邻接点顺序固定。

例如

全部按编号升序。



第6题

泛洪算法递归DFS,大地图可能爆栈。

答案:

正确 ✅️


1、有的同学写过:

dfs(x,y);

感觉很好用。


2、但是

(1)假设地图是

1000×1000

如果

整张地图

全都是陆地。


(2)DFS

可能递归

几十万层。


(3)系统栈根本装不下。

于是

程序直接

Runtime Error

或者

Stack Overflow

3、因此

地图特别大

通常改写成

BFS

或者

非递归DFS。



第7题

哈夫曼树中不存在度为1的结点。

答案:

正确 ✅️


1、为什么?

(1)哈夫曼树每次都是两个结点合并。


(2)例如

A B

(3)变成

* / \ A B

(4)父节点

一定

有两个孩子。

永远不会

只有一个。


2、因此,哈夫曼树

(1)只有

度0 度2

(2)没有

度1

这是哈夫曼树的重要性质。



第8题

冒泡排序稳定,选择排序也稳定。

答案:

错误 ❌️


1、冒泡排序是稳定的,但是选择排序不是。


2、考试要记住:

排序稳定性
冒泡
插入
归并
选择×
快速×
堆排序×


第9题

无权图BFS第一次到达某点,就是最短边数。

答案:

正确 ✅️


1、为什么?

(1)BFS是一层一层扩展。


(2)例如

第0层 起点 ↓ 第1层 ↓ 第2层 ↓ 第3层

(3)第一次

走到某个点

一定

经过最少边。


(4)因此

无权图

最短路

就是

BFS。

这是重要的结论。



第10题

DP状态依赖必须提前算出来。

答案:

正确 ✅️


1、例如

(1)数字三角形

dp[i][j]

依赖

dp[i-1][j] dp[i-1][j-1]

(2)那么

上一层

必须先算。


(4)否则

dp[i][j]

没有数据。


2、因此

动态规划

必须保证

状态转移方向正确。


3、这也是为什么DP一定要设计

计算顺序(拓扑顺序)

例如:

  • 线性DP:从左到右

  • 网格DP:从上到下、从左到右

  • 区间DP:区间长度从小到大

  • 树形DP:DFS完成子树后回溯


第二部分判断题总结

题号答案核心知识点考试重点
1❌️三角函数使用弧度制牢记sin()cos()参数是弧度
2❌️pow()返回double不要被参数类型迷惑
3❌️01背包倒序枚举正序会变成完全背包
4✅️开放定址法仍可能冲突哈希冲突不可完全避免
5❌️DFS访问顺序受邻接点遍历顺序影响
6✅️Flood Fill 与爆栈大地图优先考虑 BFS 或非递归 DFS
7✅️哈夫曼树性质没有度为1的结点
8❌️排序稳定性选择排序不稳定
9✅️BFS最短路无权图第一次到达就是最短路径
10✅️动态规划状态必须按照依赖关系计算

把这10道判断题浓缩成考试最容易考的知识点,就是下面这10句话:

  1. 三角函数默认使用弧度,不是角度。

  2. pow()sqrt()sin()等数学函数大多返回double

  3. 01背包一维优化必须倒序枚举容量。

  4. 哈希冲突无法完全避免。

  5. DFS访问顺序依赖邻接点的遍历顺序。

  6. 递归DFS可能因递归层数过深而导致栈溢出。

  7. 哈夫曼树没有度为1的结点。

  8. 选择排序不稳定,冒泡排序稳定。

  9. 无权图最短路优先使用BFS。

  10. 动态规划一定要先计算依赖状态,再计算当前状态。