2023年6月CCF-GESP编程能力等级认证C++编程四级真题答案及解析.pdfVIP

2023年6月CCF-GESP编程能力等级认证C++编程四级真题答案及解析.pdf

  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文档。上传文档
查看更多

一、单选题

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

行代码。

A编辑

B保存

C调试

D编译

解析:【喵呜刷题小喵解析】:高级语言编写的程序需要经过编译操作,可以生成

在计算机上运行的可执行代码。编译是将高级语言程序翻译成机器语言程序的过程

,生成的可执行代码可以在计算机上直接运行。而编辑、保存、调试等操作并不是

将高级语言程序转换成可执行代码的必要步骤。因此,选项D“编译”是正确的选择

2、排序算法是稳定的(Stable

Sorting),就是指排序算法可以保证,在待排序数据中有两个相等记录的关键字R

和S(R出现在S之前),在排序后的列表中R也一定在S

前。下面关于排序稳定性的描述,正确的是()。

A冒泡排序是不稳定的。

B插入排序是不稳定的。

C选择排序是不稳定的。

D以上都不正确。

解析:【喵呜刷题小喵解析】:

首先,我们需要理解排序算法的稳定性的定义。稳定的排序算法是指,在待排序数

据中有两个相等记录的关键字R和S(R出现在S之前),在排序后的列表中R也一

定在S前。

冒泡排序、插入排序和选择排序都是常见的排序算法,但它们是否稳定呢?

1.

冒泡排序:冒泡排序通过反复交换相邻的不按顺序的元素来工作。如果两个相等的

元素在排序过程中被交换了位置,那么冒泡排序就不是稳定的。

2.

插入排序:插入排序通过构建有序序列,对于未排序数据,在已排序序列中从后向

前扫描,找到相应位置并插入。插入排序不会改变相等元素的相对位置,因此它是

稳定的。

3.

选择排序:选择排序通过每次从未排序部分找到最小(或最大)元素,存放到排序

序列的起始位置。选择排序不会改变相等元素的相对位置,因此它也是稳定的。

因此,插入排序和选择排序都是稳定的排序算法,而冒泡排序是不稳定的。所以,

给出的选项“以上都不正确”是正确的。

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

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

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

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

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

解析:【喵呜刷题小喵解析】:

A选项:指针变量中存储的是内存地址。这是正确的,指针变量存储的是变量的内

存地址。

B选项:定义指针变量时必须指定其指向的类型。这也是正确的,定义指针变量时

,需要指定指针指向的数据类型,如int*p表示p是一个指向整数的指针。

C选项:指针变量只能指向基本类型变量,不能指向指针变量。这是不正确的。指

针变量不仅可以指向基本类型变量,还可以指向其他类型的指针变量,例如指针的

指针。

D选项:指针变量指向的内存地址不一定能够合法访问。这是正确的,如果指针指

向的内存地址不合法(例如,指向的内存已经被释放或者从未分配),那么访问这

个地址可能会导致程序崩溃或者出现其他未定义的行为。

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

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

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

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

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

解析:【喵呜刷题小喵解析】

在C++语言中,一维数组在内存中是连续存放的,选项A是正确的。

对于二维数组,通常的解释是它是一个以数组作为元素的一维数组,但从内存的角

度看,这种理解并不完全准确。实际上,二维数组在内存中通常被视为一个一维数

组,其元素是指向一维数组的指针。因此,选项B的描述是不准确的。

二维数组中的每个一维数组在内存中确实是连续存放的,选项C是正确的。

二维数组在内存中也可以不是连续存放的,因为可以通过指针来间接地访问二维数

组,这样就不一定是连续存放的,选项D也是正确的。

因此,不正确的叙述是选项B。

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

A函数必须有名字。

B函数必须有参数。

C函数必须有返回值。

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

解析:【喵呜刷题小喵解析】在C++语言中,函数必须有名字,以便在程序中调用

。函数的参数和返回值是可选的,即函数可以没有参数和返回值。因此,选项A“

函数必须有名字”是正确的叙述。选项B“函数必须有参数”是错误的,因为函数可以

有参数也可以没有参数。选项C“函数必须有返回值”也是错误的,因为函数可以有

返回值也可以没有返回值。选项D“函数定义必须写在函数调用前”也是错误的,因

为C++语言中允许后向声明,即在函数调

您可能关注的文档

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档