2023年09月CCF-GESP编程能力等级认证C++编程六级真题

2024年03月03日

一、单选题(共15题,共30分)

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

A:输入
B:输出
C:控制
D:记录

答案:A

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

A:(a >> 3 == b)
B:(a - b) % 3 == 0
C:(a / b == 3)
D:(a == 3 * b)

答案:D

第3题 以下不属于面向对象程序设计语言的是( )。

A:C++
B:Python
C:Java
D:C

答案:D

第4题 下面有关C++类定义的说法,错误的是( )。

A:C++类实例化时,会执行构造函数。
B:C++自定义类可以通过定义构造函数实现自动类型转换。
C:C++自定义类可以通过重载 > 、 < 等运算符实现大小比较。
D:C++自定义类可以包含任意类型的成员。

答案:D

第5题 有关下面C++代码的说法,错误的是( )。

A:代码 cout << st << endl; 不会报错,将正常输出 ABC 。
B:第 6 行代码的 data 是 MyStr 类的成员变量。
C:代码 MyStr st(“ABC”); 不会报错,将执行构造函数。
D:以上说法均没有错误。

答案:A

第6题 下列关于命名空间的说法错误的是( )。

A:命名空间可以嵌套, 例如 namespace A { namespace B { int i;}} 。
B:命名空间只可以在全局定义。
C:命名空间中可以存放变量和函数。
D:如果程序中使用了 using 命令同时引用了多个命名空间,并且命名空间中存在相同的函数,会出现程序运行错误。

答案:D

第7题 有关下面C++代码的说法,正确的是( )。

A:这段代码不能正常运行。
B:ManyData 类可用于构造队列(Queue)数据结构。
C:在上面代码环境,代码 cout<< myData.__data[0] << endl; 可以增加到代码 main 函数末尾( return 0;之前),且不会导致报错。
D:可以为 ManyData 类的 push() 、 pop() 函数增加异常处理代码,否则在使用 ManyData 类时可能导致运行时错误或逻辑错误(不一定局限于上述代码中的 main 函数)。

答案:D

第8题 有关下面C++代码的说法,错误的是( )。

A:MoreData 类可用于构造队列(Queue)数据结构。
B:代码第29行,连续 push() 的用法将导致编译错误。
C:__data 是 MoreData 类的私有成员,只能在类内访问。
D:以上说法均没有错误。

答案:B

第9题 某内容仅会出现 ABCDEFG ,其对应的出现概率为 0.40、0.30、0.15、0.05、0.04、0.03、0.03,如下图所示。 按照哈夫曼编码规则,假设 B 的编码为 11 ,则 D 的编码为( )。

A:10010
B:10011
C:10111
D:10001

答案:B

第10题 下面有关格雷码的说法,错误的是( )。

A:在格雷码中,任意两个相邻的代码只有一位二进制数不同。
B:格雷码是一种唯一性编码。
C:在格雷码中,最大数和最小数只有一位二进制数不同。
D:格雷码是一种可靠性编码。

答案:B

第11题 有关下图的二叉树,说法正确的是( )。

A:既是完全二叉树也是满二叉树。
B:既是二叉搜索树也是平衡二叉树。
C:非平衡二叉树。
D:以上说法都不正确。

答案:B

第12题 N个节点的二叉搜索树,其查找的平均时间复杂度为( )。

A:O(1)
B:O(N)
C:O(logN)
D:O(N2)

答案:C

第13题 青蛙每次能跳1或2步。下面是青蛙跳到第 N 步台阶C++实现代码。该段代码采用的算法是( )。

A:递推算法
B:贪心算法
C:动态规划算法
D:分治算法

答案:C

第14题 题N个节点的双向循环链,在其中查找某个节点的平均时间复杂度是( )。

A:O(1)
B:O(N)
C:O(logN)
D:O(N2)

答案:B

第15题 关于C++语言,以下说法不正确的是( )。

A:若对象被定义为常量,则它只能调用以 const 修饰的成员函数。
B:所有的常量静态变量都只能在类外进行初始化。
C:若类 A 的对象 a 是类 B 的静态成员变量,则 a 在 main() 函数调用之前应被初始化。
D:静态全局对象、常量全局对象都是在 main 函数调用之前完成初始化,执行完 main 函数后被析构。

答案:D

二、判断题(共10题,共20分)

第16题 TCP/IP的传输层的两个不同的协议分别是UDP和TCP。

答案:正确

第17题 5G网络中,5G中的G表示Gigabytes/s,其中 1 GB = 1024 MB。

答案:错误

第18题 在面向对象中,类是对象的实例。

答案:错误

第19题 在C++类的定义中,使用 static 修饰符定义的静态成员被该类的所有对象共享。

答案:正确

第20题 在C++类的定义中,可以定义初始化函数或运算符函数等。

答案:正确

第21题 DFS 是深度优先算法的英文简写。

答案:正确

第22题 哈夫曼编码是一种有损压缩算法。

答案:错误

第23题 有些算法或数据结构在C/C++语言中使用指针实现,一个典型的例子就是链表。因此,链表这一数据结构在C/C++语言中只能使用指针来实现。

答案:错误

第24题 如果节点数为 ,广度搜索算法的最差时间复杂度为O(N)。

答案:正确

第25题 二叉搜索树的左右子树也是二叉搜索树。

答案:正确

三、编程题(共2题,共50分)

第26题 小杨买饮料

第27题 小杨的握手问题