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()函数规定返回值始终是double3例如double xpow(2,10);完全正确。4所以这句话错误。2、为什么1因为pow(2.1,3.8)也合法。如果返回int很多小数都会丢失。2因此数学库统一规定pow()返回double。第3题01背包一维优化时从小到大枚举容量也能保证每件物品最多选择一次。答案错误 ❌️1、这一题是经典背包问题。假设只有一个物品重量2价值5容量62、如果正着循环for(c2;c6;c)那么1第一次更新dp[2]52随后更新dp[4]会使用dp[2]于是同一个物品又放了一遍。3继续dp[6]又放第三遍。4最后变成155实际上一件物品用了三次。6已经不是01背包。而是完全背包。3、所以01背包必须for(cW;cw;c--)倒着更新。第4题开放定址法即使哈希函数很好也仍可能发生冲突。答案正确 ✅️1、为什么1假设哈希函数x%112插入11 22 33它们都会来到03于是冲突了。再好的哈希函数也不能保证所有数字都映射不同。2、所以开放定址法是可能冲突的。第5题DFS访问顺序与邻接点枚举顺序无关。答案错误 ❌️1、来看A / \ B C1如果先枚举B再枚举C2DFS就是A ↓ B ↓ C3如果先枚举C再枚举B4DFS就是A ↓ C ↓ B5访问顺序完全不同。2、所以DFS结果与邻接点遍历顺序密切相关。3、什么时候是唯一只有邻接点顺序固定。例如全部按编号升序。第6题泛洪算法递归DFS大地图可能爆栈。答案正确 ✅️1、有的同学写过dfs(x,y);感觉很好用。2、但是1假设地图是1000×1000如果整张地图全都是陆地。2DFS可能递归几十万层。3系统栈根本装不下。于是程序直接Runtime Error或者Stack Overflow3、因此地图特别大通常改写成BFS或者非递归DFS。第7题哈夫曼树中不存在度为1的结点。答案正确 ✅️1、为什么1哈夫曼树每次都是两个结点合并。2例如A B3变成* / \ A B4父节点一定有两个孩子。永远不会只有一个。2、因此哈夫曼树1只有度0 度22没有度1这是哈夫曼树的重要性质。第8题冒泡排序稳定选择排序也稳定。答案错误 ❌️1、冒泡排序是稳定的但是选择排序不是。2、考试要记住排序稳定性冒泡√插入√归并√选择×快速×堆排序×第9题无权图BFS第一次到达某点就是最短边数。答案正确 ✅️1、为什么1BFS是一层一层扩展。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区间长度从小到大树形DPDFS完成子树后回溯第二部分判断题总结题号答案核心知识点考试重点1❌️三角函数使用弧度制牢记sin()、cos()参数是弧度2❌️pow()返回double不要被参数类型迷惑3❌️01背包倒序枚举正序会变成完全背包4✅️开放定址法仍可能冲突哈希冲突不可完全避免5❌️DFS访问顺序受邻接点遍历顺序影响6✅️Flood Fill 与爆栈大地图优先考虑 BFS 或非递归 DFS7✅️哈夫曼树性质没有度为1的结点8❌️排序稳定性选择排序不稳定9✅️BFS最短路无权图第一次到达就是最短路径10✅️动态规划状态必须按照依赖关系计算把这10道判断题浓缩成考试最容易考的知识点就是下面这10句话三角函数默认使用弧度不是角度。pow()、sqrt()、sin()等数学函数大多返回double。01背包一维优化必须倒序枚举容量。哈希冲突无法完全避免。DFS访问顺序依赖邻接点的遍历顺序。递归DFS可能因递归层数过深而导致栈溢出。哈夫曼树没有度为1的结点。选择排序不稳定冒泡排序稳定。无权图最短路优先使用BFS。动态规划一定要先计算依赖状态再计算当前状态。