一、单选题(共15题,共30分)
第1题 关于C++类和对象的说法,错误的是( )。
A:在C++中,一切皆对象,即便是字面量如整数5等也是对象
B:在C++中,可以自定义新的类,并实例化为新的对象
C:在C++中,内置函数和自定义函数,都是类或者对象
D:在C++中,可以在自定义函数中嵌套定义新的函数
答案:D
第2题 有关下面C++代码的说法,错误的是( )。
A:C++中类内部可以嵌套定义类
B:在类中定义的类被称为内部类,定义类的类被称为外部类
C:内部类可以随便访问,不需要通过外部类来访问
D:代码中 Point 被称为内部类,可以通过外部类 Rectangle 来访问, Rectangle::Point
答案:C
第3题 有关下面C++代码的说法,正确的是( )。
A:第14行代码错误,第15行正确
B:第15行代码错误,第14行代码正确
C:第14、15两行代码都正确
D:第6行代码可修改为 objCounter += 1
答案:C
第4题 有关下面C++代码的说法,错误的是( )。
A:上列C++代码适用于构造各种二叉树
B:代码 struct BiNode 用于构造二叉树的节点
C:代码 BiTree(){root=Creat();} 用于构造二叉树
D:析构函数不可以省略
答案:D
第5题 基于第4题的定义,有关下面C++代码的说法正确的是( )。
A:代码中 Order( ) 函数是中序遍历二叉树的方法
B:代码中 Order( ) 先访问根节点,然后对左子树进行前序遍历,再对右子树前序遍历
C:代码中 Order( ) 先访问中序遍历左子树,然后访问根节点,最后则是中序遍历右子树
D:代码中 Order( ) 先后序遍历左子树,然后后序遍历右子树,最后访问根节点
答案:B
第6题 有关下面C++代码的说法正确的是( )。
A:上述代码构成单向链表
B:上述代码构成双向链表
C:上述代码构成循环链表
D:上述代码构成指针链表
答案:B
第7题 对 hello world 使用霍夫曼编码(Huffman Coding),最少bit(比特)为( )。
A:4
B:32
C:64
D:88
答案:B
第8题 下面的 fiboA() 和 fiboB() 两个函数分别实现斐波那契数列,该数列第1、第2项值为1,其余各项分别为前两项之和。下面有关说法错误的是( )。
A:fiboA() 采用递归方式实现斐波那契数列
B:fiboB() 采用动态规划算法实现斐波那契数列
C:当N值较大时, fiboA() 存在大量重复计算
D:由于 fiboA() 代码较短,其执行效率较高
答案:D
第9题 有关下面C++代码不正确的说法是( )。
A:该代码可用于求解二叉树的深度
B:代码中函数 Depth( ) 的参数 T 表示根节点,非根节点不可以作为参数
C:代码中函数 Depth( ) 采用了递归方法
D:代码中函数 Depth( ) 可用于求解各种形式的二叉树深度,要求该二叉树节点至少有 left 和right 属性
答案:B
第10题 下面有关树的存储,错误的是( )。
A:完全二叉树可以用 list 存储
B:一般二叉树都可以用 list 存储,空子树位置可以用 None 表示
C:满二叉树可以用 list 存储
D:树数据结构,都可以用 list 存储
答案:D
第11题 构造二叉树 [1,2,3,null,4] ( )。
A:1(2()(4))(3)
B:1(2(3)())(4)
C:(1,2(3),(4))
D:(1,(2)(3),(4))
答案:A
第12题 下面有关布尔类型的函数的说法,正确的是( )。
A:bool 类型函数只能返回0或者1两种值
B:bool 类型函数可以返回任何整数值
C:bool 类型函数必须有参数传递
D:bool 类型函数没有返回值
答案:A
第13题 通讯卫星在通信网络系统中主要起到( )的作用。
A:信息过滤
B:信号中继
C:避免攻击
D:数据加密
答案:B
第14题 小杨想编写一个判断任意输入的整数N是否为素数的程序,下面哪个方法不合适?( )
A:埃氏筛法
B:线性筛法
C:二分答案
D:枚举法
答案:C
第15题 内排序有不同的类别,下面哪种排序算法和冒泡排序是同一类?( )
A:希尔排序
B:快速排序
C:堆排序
D:插入排序
答案:B
二、判断题(共10题,共20分)
第16题 在面向对象中,方法在C++的class中表现为class内定义的函数。( )
答案:正确
第17题 C++类的定义中,可以没有构造函数,会给出默认的构造函数( )
答案:正确
第18题 如果某个C++对象(object)支持下标运算符(方括号运算符),则该对象在所对应class中以成员函数的形式进行了重载。( )
答案:正确
第19题 深度优先搜索(DFS,Depth First Search的简写)属于图算法,其过程是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。( )
答案:正确
第20题 哈夫曼编码(Huffman Coding)具有唯一性,因此有确定的压缩率。 ( )
答案:错误
第21题 在下面C++代码中,由于删除了变量 ptr ,因此 ptr 所对应的数据也随之删除,故第8行代码被执行时,将报错。( )
答案:错误
第22题 二叉搜索树查找的平均时间复杂度为O(logN)。( )
答案:正确
第23题 二叉搜索树可以是空树(没有任何节点)或者单节点树(只有一个节点),或者多节点。如果是多节点,则左节点的值小于父节点的值,右节点的值大于父节点的值,由此推理,右节点树的值都大于根节点的值,左节点树的值都小于根节点的值。( )
答案:正确
第24题 小杨想写一个程序来算出正整数N有多少个因数,经过思考他写出了一个重复没有超过N/2次的循环就能够算出来了。( )
答案:正确
第25题 同样的整数序列分别保存在单链表和双向链中,这两种链表上的简单冒泡排序的复杂度相同。( )
答案:正确
三、编程题(共2题,共50分)