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

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

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

1.高级语言编写的程序需要经过以下()操作,可以生成在计算机上运行的可执行代码。

A.编辑

B.保存

C.调试

D.编译

答案:D。

解析:本题属于考察计算机基础知识中的编辑、编译、解释、调试的概念;其中编辑是编写修改代码,保存是将代码保存下来,调试是测试运行代码,而编译是将源程序翻译成可执行代码,所以本题正确答案为D。

2.排序算法是稳定的(StableSorting),就是指排序算法可以保证,在待排序数据中有两个相等记录的关键字R和S(R出现在S之前),在排序后的列表中R也一定在S前。下面关于排序稳定性的描述,正确的是()。

A.冒泡排序是不稳定的。

B.插入排序是不稳定的。

C.选择排序是不稳定的。

D.以上都不正确。

答案:C。

解析:本题属于考察排序的基本概念;冒泡排序、插入排序一般是稳定的,而选择排序一般是不稳定的,所以本题正确答案为C。

3.下列关于C++语言中指针的叙述,不正确的是()。

A.指针变量中存储的是内存地址。

B.定义指针变量时必须指定其指向的类型。

C.指针变量只能指向基本类型变量,不能指向指针变量。

D.指针变量指向的内存地址不一定能够合法访问。

答案:C。

解析:本题属于考察指针的基本概念;指针变量不仅可以指向基本类型的变量也可以指向其它的指针变量,所以本题正确答案为C。

4.下列关于C++语言中数组的叙述,不正确的是()。

A.一维数组在内存中一定是连续存放的。

B.二维数组是一维数组的一维数组。

C.二维数组中的每个一维数组在内存中都是连续存放的。

D.二维数组在内存中可以不是连续存放的。

答案:D。

解析:本题属于考察二维数组的基本概念;数组(包括多维数组)在内存中必须要连续存放,所以本题正确答案为D。

5.下列关于C++语言中函数的叙述,正确的是()。

A.函数必须有名字。

B.函数必须有参数。

C.函数必须有返回值。

D.函数定义必须写在函数调用前。

答案:A。

解析:本题属于考察函数的基本概念;函数可以没有参数和返回值,同时函数定义可以在调用之后,只需要在调用前要加函数声明,但是函数必须要有名字,所以本题正确答案为A。

注:如果了解“匿名函数”概念(该概念超出考纲范围),应注意区分——匿名函数,是一种可捕捉参数变量的无命名函数对象,属于“函数对象”的一种,并不属于“函数”范畴。函数对象与函数在使用时经常可以自动相互转换,但二者在实现机制上完全不同。

6.下列关于C++语言中变量的叙述,正确的是()。

A.变量定义后可以一直使用。

B.两个变量的变量名不能是相同的。

C.两个变量的变量名可以相同,但它们的类型必须是不同的。

D.两个变量的变量名可以相同,但它们的作用域必须是不同的。

答案:D。

解析:本题属于考察变量定义域的基本概念;在C++中两个变量可以取相同的变量名,只要它们在不同的作用域下即可,所以本题正确答案为D。

7.一个二维数组定义为doublearray[3][10];,则这个二维数组占用内存的大小为()。

A.30

B.60

C.120

D.240

答案:D。

解析:本题属于考察内存的基本概念;double类型的数据占用内存是8字节,array数组共使用了30个double类型的数据,占用内存为30*8=240字节。所以本题正确答案为D。

8.一个变量定义为int*p=nullptr;,则下列说法正确的是()。

A.该指针变量的类型为int。

B.该指针变量指向的类型为int。

C.该指针变量指向的内存地址是随机的。

D.访问该指针变量指向的内存会出现编译错误。

答案:B。

解析:本题属于考察指针的基本概念。指针变量的类型为int*,A选项错误;nullptr指向的是固定的内存地址0,C选项错误;nullptr指向的内存位置通常不存放有效数据,因此常用来表示未指向有效数据,访问它可能出现运行时错误,但不会出现编译错误,D选项错误。本题正确答案为B。

9.一个二维数组定义为intarray[5][3],则array[1][2]和array[2][1]在内存中的位置相差多少字节?()。

A.2字节。

B.4字节。

C.8字节。

D.无法确定。

答案:C。

解析:本题属于考察内存地址的基本概念;array[1][2]和array[2][1]中间差了array[2][0],相当于差了2个int,也就是8字节,所以本题正确答案为C。

10.如果a为int类型的变量,且a的值为6,则执行a=3;之后,a的值

文档评论(0)

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

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

1亿VIP精品文档

相关文档