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

2023年9月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年9月GESP编程能力认证C++等级考试五级真题(含答案和解析)

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

1.近年来,线上授课变得普遍,很多有助于改善教学效果的设备也逐渐流行,其中包括比较常用的手写板,那么它属于哪类设备?()。

A.输入

B.输出

C.控制

D.记录

答案:A。

解析:本题属于考察计算机基础知识知识。手写板是输入信息的设备,选A。

2.如果a和b均为int类型的变量,且b的值不为0,那么下列能正确判断“a是b的3倍”的表达式是()。

A.(a3==b)

B.(a-b)%3==0

C.(a/b==3)

D.(a==3*b)

答案:D。

解析:本题属于考察运算表达式和位运算知识。b不等于0,a是b的3倍。A选项中,a右移3位,相当于除以8;B是取余运算;如果a=7,b=2,a/b的结果也等于3,因为是整型,C选项也不正确;选D。

3.如果变量a和b分别为double类型和int类型,则表达式(a=6,b=3*(7+8)/2,b+=a)的计算结果为()。

A.6

B.21

C.28

D.不确定

答案:C。

解析:本题属于考察数据类型、逗号表达式、运算表达式知识。逗号表达式从左到右依次计算每一个表达式,整个逗号表达式的结果是最后一个表达式的计算结果,a=6,b=3*15/2=22,b=6+22=28,选C。

4.有关下面C++代码说法错误的是()。

A.sumA()用循环方式求从1到N之和,sumB()用递归方式求从1到N之和。

B.默认情况下,如果输入正整数1000,能实现求从1到1000之和。

C.默认情况下,如果输入正整数100000,能实现求从1到100000之和。

D.一般说来,sumA()的效率高于sumB()。

答案:C。

解析:本题属于考察递归和函数知识。sumA用循环求的是1到n的总和;sumB用递归的方式求1到n的总和。1加到100000的和大于int类型最大值,2147483647,会溢出,选C。

5.下面C++代码以递归方式实现字符串反序,横线处应填上代码是()。

A.sIn[sIn.length()-1]+sReverse(sIn.substr(0,sIn.length()-1));

B.sIn[0]+sReverse(sIn.substr(1,sIn.length()-1));

C.sReverse(sIn.substr(0,sIn.length()-1))+sIn[sIn.length()-1];

D.sReverse(sIn.substr(1,sIn.length()-1))+sIn[sIn.length()-1];

答案:A。

解析:本题属于考察递归和函数知识。要倒序输出字符串,先输出字符串中的最后一个字符,最后一个字符下标是长度-1,然后翻转除了最后一个字符的字符串,这个字符串是从0开始,选sln.length()-1个字符,选A。

6.印度古老的汉诺塔传说:创世时有三根金刚柱,其中一柱从下往上按照大小顺序摞着64片黄金圆盘,当圆盘逐一从一柱借助另外一柱全部移动到另外一柱时,宇宙毁灭。移动规则:在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。下面的C++代码以递归方式实现汉诺塔,横线处应填入代码是()。

A.Hanoi(B,C,A,N-2)

B.Hanoi(B,A,C,N-1)

C.Hanoi(A,B,C,N-2)

D.Hanoi(C,B,A,N-1)

答案:B。

解析:本题属于考察递归和函数知识。汉诺塔比较经典的递归问题,第11行代码意味这剩下的N-1快圆盘,现在B柱子上,借助A柱,挪到C柱上,选B。

7.根据下面C++代码的注释,两个横线处应分别填入()。

A.compare和isOdd(lstA[i])

B.compare(x1,y1)和isOdd

C.compare和isOdd

D.compare(x1,y1)和isOdd(lstA[i])

答案:A。

解析:本题考察的是vector和sort函数的使用。本题中首先创建了一个vectorlstA存储整数1~99,然后调用sort函数对lstA进行排序,sort函数排序需要传递三个参数,前两个参数决定了排序范围的起始位置和结束位置,第三个参数是排序规则函数,排序规则函数需要两个参数和一个bool类型的返回值,所以代码1处传递排序规则函数compare,只需要写函数名即可,不需要写成调用的形式,排除选项B和D。

接下来的代

文档评论(0)

资格考试 + 关注
实名认证
文档贡献者

提供各类资格考试试卷/真题

1亿VIP精品文档

相关文档