2023年12月CCF-GESP编程能力等级认证C++编程七级真题

2024年03月03日

一、单选题(共15题,共30分)

第1题 定义变量 double x ,如果下面代码输入为 100 ,输出最接近( )。

A:0
B:-5
C:-8
D:8

答案:B

第2题 对于下面动态规划方法实现的函数,以下选项中最适合表达其状态转移函数的为( )。

A:

B:

C:

D:

答案:D

第3题 下面代码可以用来求最长上升子序列(LIS)的长度,如果输入是: 5 1 7 3 5 9 ,则输出是( )。

A:9 7 5 1 1 9
B:1 2 2 3 4 4
C:1 3 5 7 9 9
D:1 1 1 1 1 1

答案:B

第4题 C++语言中,下列关于关键字 static 的描述不正确的是( )。

A:可以修饰类的成员函数。
B:常量静态成员可以在类外进行初始化。
C:若 a 是类 A 常量静态成员,则 a 的地址都可以访问且唯一。
D:静态全局对象一定在 main 函数调用前完成初始化,执行完 main 函数后被析构。

答案:C

第5题 G 是一个非连通无向图,共有 28 条边,则该图至少有( )个顶点。

A:6
B:7
C:8
D:9

答案:D

第6题 哈希表长31,按照下面的程序依次输入 4 17 28 30 4 ,则最后的 4 存入哪个位置?( )

A:3
B:4
C:5
D:6

答案:D

第7题 某二叉树T的先序遍历序列为: {A B D F C E G H} ,中序遍历序列为: {B F D A G E H C} ,则下列说法中正确的是( )。

A:T的度为1
B:T的高为4
C:T有4个叶节点
D:以上说法都不对

答案:B

第8题 下面代码段可以求两个字符串 s1 和 s2 的最长公共子串(LCS),下列相关描述不正确的是( )。

A:代码的时间复杂度为O(n2)
B:代码的空间复杂度为O(n2)
C:空间复杂度已经最优
D:采用了动态规划求解

答案:C

第9题 图的广度优先搜索中既要维护一个标志数组标志已访问的图的结点,还需哪种结构存放结点以实现遍历?( )

A:双向栈
B:队列
C:哈希表
D:堆

答案:B

第10题 对关键字序列 {44,36,23,35,52,73,90,58} 建立哈希表,哈希函数为 h(k)=k%7 ,执行下面的Insert 函数,则等概率情况下的平均成功查找长度(即查找成功时的关键字比较次数的均值)为( )。

A:7/8
B:1
C:1.5
D:2

答案:C

第11题 学生在读期间所上的某些课程中需要先上其他的课程,所有课程和课程间的先修关系构成一个有向图 G ,有向边 <U, V> 表示课程 U 是课程 V 的先修课,则要找到某门课程 C 的全部先修课下面哪种方法不可行?( )

A:BFS搜索
B:DFS搜索
C:DFS+BFS
D:动态规划

答案:D

第12题 一棵完全二叉树有 2023 个结点,则叶结点有多少个?( )

A:1024
B:1013
C:1012
D:1011

答案:C

第13题 用下面的邻接表结构保存一个有向图 G , InfoType 和 VertexType 是定义好的类。设 G 有 n 个顶点、e 条弧,则求图 G 中某个顶点 u (其顶点序号为 k )的度的算法复杂度是( )。

A:O(n)
B:O(e)
C:O(n+e)
D:O(n+2*e)

答案:B

第14题 给定一个简单有向图 G ,判断其中是否存在环路的下列说法哪个最准确?( )

A:BFS更快
B:DFS更快
C:BFS和DFS一样快
D:不确定

答案:D

第15题 从顶点 v1 开始遍历下图 G 得到顶点访问序列,在下面所给的 4 个序列中符合广度优先的序列有几个?( ) {v1 v2 v3 v4 v5} , {v1 v2 v4 v3 v5} , {v1 v4 v2 v3 v5} , {v1 v2 v4 v5 v3}

A:4
B:3
C:2
D:1

答案:B

二、判断题(共10题,共20分)

第16题 小杨这学期准备参加GESP的7级考试,其中有关于三角函数的内容,他能够通过下面的代码找到结束循环的角度值。( )

答案:正确

第17题 小杨在开发画笔刷小程序(applet),操作之一是选中黄颜色,然后在下面的左图的中间区域双击后,就变成了右图。这个操作可以用图的泛洪算法来实现。( )

答案:正确

第18题 假设一棵完全二叉树共有 个节点,则树的深度为 log(N)+1。( )

答案:错误

第19题 给定一个数字序列 A1,A2,A3,…,An ,要求 ij ( 1 < = i < = j < = n ), 使 Ai+…+Aj 最大,可以使用动态规划方法来求解。( )

答案:正确

第20题 若变量 x 为 double 类型正数,则 log(exp(x)) > log10(x) 。( )

答案:正确

第21题 简单有向图有 n 个顶点和 e 条弧,可以用邻接矩阵或邻接表来存储,二者求节点 u 的度的时间复杂度一样。( )

答案:错误

第22题 某个哈希表键值 x 为整数,为其定义哈希函数 H(x)=x%p ,则 p 选择素数时不会产生冲突。( )

答案:错误

第23题 动态规划只要推导出状态转移方程,就可以写出递归程序来求出最优解。( )

答案:错误

第24题 广度优先搜索(BFS)能够判断图是否连通。( )

答案:正确

第25题 在C++中,如果定义了构造函数,则创建对象时先执行完缺省的构造函数,再执行这个定义的构造函数。( )

答案:错误

三、编程题(共2题,共50分)

第26题 商品交易

第27题 纸牌游戏