2023年12月GESP编程能力认证C++等级考试七级真题(含答案和解析).docxVIP

2023年12月GESP编程能力认证C++等级考试七级真题(含答案和解析).docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2023年12月GESP编程能力认证C++等级考试七级真题(含答案和解析)

一、单选题(每题2分,共30分)。

1.定义变量doublex,如果下面代码输入为100,输出最接近()。

A.0

B.-5

C.-8

D.8

答案:B。

解析:log10(x)表示10的多少次方是x,log2(x)表示2的多少次方是x,这里的x是输入的100,所以,log10(100)=2,又因为26=64,所以log2(100)是6.多,两者作差,约为-4.多,选B。

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

A.

B.

C.

D.

答案:D。

解析:首先看代码,s数组是前缀和数组,f数组是dp数组,初始化f数组为正无穷,只有f[i][i]=0(1=i=n)的值为0,接着进行了区间dp,i和j分别是区间dp的两个端点,k是枚举的分界点,k的取值范围是[i,j),所以选项C错误,根据第15行转移方程,发现后面的s[j]-s[i-1]是a[i]+a[i+1]+…+a[j]的和,且与k无关,可以单独拎出来,所以转移方程为f[i][j]=min(f[i][k]+f[k+1][j])+jk=ia(k),选项D正确。选项A,B的错误点在于f(i,j)的初始值为正无穷,所以f(i,j)是不参与转移方程的。

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

A.975119

B.122344

C.135799

D.111111

答案:B。

解析:题目已经提示我们这是在求最长上升子序列,f数组的含义是以i结尾的最长上升子序列长度,ans是整个序列的最长上升子序列长度,代码中先依次输出了f[1],f[2],…,f[n],最后再输出ans,接着我们可以进行手算,17359序列的f值分别为1,2,2,3,4,ans=4,所以正确答案为B。

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

A.可以修饰类的成员函数。

B.常量静态成员可以在类外进行初始化。

C.若a是类A常量静态成员,则a的地址都可以访问且唯一。

D.静态全局对象一定在main函数调用前完成初始化,执行完main函数后被析构。

答案:C。

解析:static是静态意思,可以修饰成员变量和成员方法,static修饰成员变量表示该成员变量在内存中只存储一份,可以被共享访问,修改。选项C中a的地址都可以访问是不对的,所以本题选C。

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

A.6

B.7

C.8

D.9

答案:D。

解析:注意到题目里说的是非连通无向图,那么在同样的点数n下,为了有尽量多的边,可以分为两张连通图,一张n-1个点的完全图,另一张只有单独一个点,手算后可以发现,8个点的完全图有8*7/2=28个点,正好满足题目要求,所以总点数为9个,选D。

6.哈希表长31,按照下面的程序依次输入41728304,则最后的4存入哪个位置?()。

A.3

B.4

C.5

D.6

答案:D。

解析:题目提示我们这是哈希表,根据代码,发现是按照%13进行哈希并且在发生冲突的情况下,对应放到下一个位置,我们依次计算1728304会放置在什么位置,17放置在4,28放置在2,30本来放置在4,但是发生冲突,最终放置在5,4本来放置在4,但是4和5都被占用了,所以最终放置在6,选D。

7.某二叉树T的先序遍历序列为{ABDFCEGH},中序遍历序列为{BFDAGEHC},则下列说法中正确的是()。

A.T的度为1

B.T的高为4

C.T有4个叶节点

D.以上说法都不对

答案:B。

解析:先序遍历是根左右,中序遍历是左根右,首先可以根据先序遍历和中序遍历画出完整的树,如下图,所以正确答案为B。

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

A.代码的时间复杂度为O(n2)

B.代码的空间复杂度为O(n2)

C.空间复杂度已经最优

D.采用了动态规划求解

答案:C。

解析:题目告诉我们代码是在求解最长公共子串,代码中使用了双重for循环,且循环范围为[1~n1]以及[1~n2],所以选项A正确,使用了二维数组dp,两维的长度也均为字符串长度,所以选项B正确,空间复杂度还可以使用滚动数组进一步优化为O(n),所以选项C错误,本题选C,选项D正确,代码中使用的正是动态规划算法。

9.图的广度优先搜索中既要维护一个标

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档