C++ 七级单选 15 题 / 判断 10 题答案速查 + 本场考点 + 难度评价 + 易错题精解。想知道孩子这套能考多少?免费做这套真题模考,3 秒自动估分。
| 题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 答案 | C | D | C | B | A | B | A | D | C | B | A | D | D | B | C |
| 题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 答案 | √ | × | × | √ | √ | × | √ | × | √ | × |
很高。图搜索(BFS/泛洪)、动态规划、哈希综合,思维量大。
本卷 2 道编程题:《必经之路》《括号序列》。逐题题解整理中,将陆续更新。
a&b = 5&3 = 1(101 & 011 = 001);a|b = 5|3 = 7(101 | 011 = 111)。1 + 7 = 8。注意 + 优先级高于位运算,但这里已用括号。选 C。
log(1) 返回 0.0,类型是 double,正确。A 错:pow 返回 double;B 错:三角函数参数是弧度不是度;C 错:sqrt 返回 double。选 D。
二叉排序树查找:平均情况树较平衡为 O(log n);最坏情况(数据有序,树退化成链)为 O(n)。选 A。
无权图中 BFS 逐层扩展,dist[v]=dist[u]+1 得到的正是从起点到 v 的最少边数(最短路)。选 A。
泛洪填充要避免递归过深,应改用非递归:用队列做 BFS,或用显式栈模拟 DFS。选 D。其余选项与泛洪填充无关。
开放定址法冲突后,会在表内按探测序列寻找下一个可用位置,正确。A 错(冲突无法完全避免);B 错(链地址法最坏 O(n));D 错(查找速度与装填因子有关)。选 C。
inc(int &x) 按引用传参,x++ 改的就是 main 里的 a:3→4。输出 4。选 B。
最长公共子序列:当两序列当前字符相等时,dp[i][j] = dp[i-1][j-1] + 1(在去掉这对相同字符的最优解上加 1)。选 A。若不相等才取 max(dp[i-1][j], dp[i][j-1])。
一维 0/1 背包,只有一件物品(w=3,v=5)。c 从 8 递减到 3,每个 dp[c]=max(dp[c], dp[c-3]+5),由于放得下一件,dp[8]=5。选 D。
要保持相等元素相对顺序(稳定性),冒泡、插入、归并都稳定,而快速排序因交换跨距大是不稳定的,最不适宜。选 D。
内层 j 以步长 i 递增,执行约 n/i 次。总次数 n/1 + n/2 + … + n/n = n·(1+1/2+…+1/n) ≈ n·ln n(调和级数),复杂度 O(n log n)。选 B。
p = a + 1 指向 a[1]。*(p + 3) 即 a[4] = 9。选 C。
exp(0) = e⁰ = 1.0,cmath 函数返回 double。命题正确。
开放定址法里若删除元素后直接置空,会切断探测链,导致本应通过该位置继续探测才能找到的元素查不到。正确做法是打"已删除"标记。命题错误。
哈夫曼树中频率更高的叶子深度不会更大,但不一定"总是更小"——可能与其他叶子处于同一深度。"总是更小"过于绝对,错误。
有向图中每条边贡献一个出度和一个入度,故所有顶点入度之和 = 出度之和 = 边数。命题正确。
广度优先搜索(BFS)通常借助队列,深度优先搜索(DFS)通常借助栈或递归。命题正确。
快速排序平均 O(n log n),但最坏(如枢轴选择不当遇有序数据)会退化到 O(n²),并非也是 O(n log n)。命题错误。
一维数组优化 0/1 背包时,内层容量必须从大到小枚举,以保证每件物品只被选一次。命题正确。
用邻接表时,遍历某顶点的所有邻边耗时正比于该顶点的度数(邻边条数),而不是图中顶点总数。命题错误。
层序从 1 编号的完全二叉树中,结点 i 的父结点编号为 ⌊i/2⌋(左右孩子分别是 2i、2i+1)。命题正确。
arr 与 &arr[0] 虽然都表示首元素地址,但并非总是等价:在 sizeof(arr) 中 arr 代表整个数组(得数组总字节数),类型也不同(数组 vs int*)。命题错误。