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

2024年3月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、

深度最深的节点

解析:【喵呜刷题小喵解析】:在构建哈夫曼树时,每次应该选择权值最小的两个

节点进行合并。这是因为哈夫曼树的构建目标是使得树的总权值最小,所以每次选

择权值最小的节点进行合并可以使得新生成的节点的权值最小,从而最终得到的哈

夫曼树的总权值也最小。因此,正确选项为A,即最小权值的节点。

2、面向对象的编程思想主要包括以下哪些原则()?

A、

贪心、动态规划、回溯

B、

并发、并行、异步

C、

递归、循环、分治

D、

封装、继承、多态

解析:【喵呜刷题小喵解析】:面向对象的编程思想主要包括封装、继承和多态。

封装是将数据和操作数据的方法绑定在一起,隐藏对象的内部状态,只对外提供公

共访问方式;继承是从已有的类派生出新的类,子类继承父类的特性;多态是同一

操作可以作用于不同的对象,从而产生不同的结果。因此,正确答案是D。选项A

中的贪心、动态规划、回溯是算法设计的策略或思想,不是面向对象的编程原则;

选项B中的并发、并行、异步是并发编程中的概念,与面向对象编程思想无直接关

系;选项C中的递归、循环、分治是算法设计的基本思想,也不是面向对象的编程

原则。

3、在队列中,元素的添加和删除是按照()原则进行的。

A、

先进先出

B、

先进后出

C、

最小值先出

D、

随机进出

解析:【喵呜刷题小喵解析】:在队列中,元素的添加和删除是按照先进先出(FI

FO)原则进行的。这意味着,元素按照它们被添加到队列中的顺序进行删除。具

体来说,最早被添加到队列中的元素将是第一个被删除的元素。这种特性使得队列

成为处理任务、数据传输等问题的有效工具。因此,选项A“先进先出”是正确的。

4、给定一个简单的类定义如下,()语句在类的外部正确地创建了一个Circle

对象并调用了getArea函数?

classCircle{

private:

doubleradius;

public:

Circle(doubler):radius(r){}

doublegetArea(){

return3.14*radius*radius;

}

};

ACirclec=Circle(5.0);c.getArea(c);

BCirclec(5.0);getArea(c);

CCirclec=newCircle(5.0);c.getArea();

DCirclec(5.0);c.getArea();

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

在C++中,类对象的创建和方法的调用应如下:

```cpp

类名对象名(参数);

对象名.方法名(参数);

```

A选项中的`Circlec=Circle(5.0);c.getArea(c);`

是不正确的,因为`Circle`是类名,不是构造函数的名称,因此不能直接使用`Circle

(5.0)`来创建对象。

B选项中的`Circlec(5.0);getArea(c);`

也是不正确的,因为`getArea`是`Circle`类的一个成员函数,不是全局函数,因此不

能直接使用`getArea(c)`来调用。

C选项中的`Circlec=newCircle(5.0);c.getArea();`

是不正确的,因为`new`关键字用于动态分配内存,并且`new`返回的是一个指向新

创建的对象的指针,而不是对象本身,因此不能直接使用`c.getArea();`来调用。

D选项中的`Circlec(5.0);c.getArea();`

是正确的,它首先使用`Circle(5.0)`创建了一个`Circle`对象,然后调用了该对象的`g

etArea()`方法。

5、以下代码希望能在一棵二叉排序树中搜索特定的值,请在横线处填入(

),使其能正确实现相应功能。

TreeNode*search(TreeNode*root,inttarget){

if(root==NULL||root-val==target){

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档