南开大学22春“计算机科学与技术”《程序设计基础(下)》期末考试高频考点版(带答案)试卷号2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南开大学22春“计算机科学与技术”《程序设计基础(下)》期末考试高频
考点版(带答案)
一.综合考核(共50题)
1.
若无向图G的一个子图G’是一棵包含图G所有顶点的树,则G’称为图G的生成树。
()
A.正确
B.错误
参考答案:A
2.
下列运算符中,()运算符在C++中不能重载。
A.?:
B.+
C.-
D.=
参考答案:A
3.
关于对象成员的构造函数的调用顺序,说法正确的是()。
A.与它们在成员初始化列表中给出的顺序相同
B.与析构函数的调用顺序相同
C.与它们在类中说明顺序相同
D.以上说法都不对
参考答案:C
4.
多继承情况下,派生类的构造函数中基类构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。
()
A.正确
B.错误
参考答案:A
5.
下面关于类概念的描述中,()是错误的。
A.类是抽象数据类型的实现
B.类是具有共同行为的若干对象的统一描述体
C.类是创建对象的样板
D.类就是C语言中的结构体类型
参考答案:D
6.
使用打开文件函数open()之前,需要定义一个流类对象,使用open()函数来操作该对象。
()
A.正确
B.错误
参考答案:A
7.
如果以链表作为队列的存储结构,则出队操作时()。
A.必须判别队列是否满
B.判别队列元素的类型
C.必须判别队列是否空
D.对队列不作任何判别
参考答案:C
8.
在创建派生类对象时,构造函数的执行顺序是()。
A.对象成员构造函数、基类构造函数、派生类本身的构造函数
B.派生类本身的构造函数、基类构造函数、对象成员构造函数
C.基类构造函数、派生类本身的构造函数、对象成员构造函数
D.基类构造函数、对象成员构造函数、派生类本身的构造函数
参考答案:D
9.
类成员的三种访问控制属性是public、private和friend。
()
A.正确
B.错误
参考答案:B
10.
线性表的逻辑顺序与物理顺序总是一致的。
()
A.正确
B.错误
参考答案:B
11.
撤消对象时,系统自动调用()函数。
A.成员函数
B.构造函数
C.析构函数
D.普通函数
参考答案:C
12.
已知AA是一个类,则执行语句AA a;后()。
A.自动调用无参构造函数
B.自动调用有参构造函数
C.自动调用拷贝构造函数
D.产生一个对象a,但不调用任何函数
参考答案:A
13.
在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行()。
A.s->next=p;p->next=s;
B.s->next=p->next;p->next=s;
C.s->next=p->next;p=s;
D.p->next=s;s->next=p;
参考答案:A
在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构
B.紧凑结构和非紧凑结构
C.线性结构和非线性结构
D.内部结构和外部结构
参考答案:C
15.
具有纯虚函数的类是抽象类,它的特点是不可以定义对象。
()
A.正确
B.错误
参考答案:A
16.
下面关于自定义类的运算符重载的说法中,正确的是()。
A.可以根据需要重新定义重载的运算符的优先级和结合性
B.重载运算符的操作数个数不能改变
C.运算符重载要求至少有一个运算数是自定义类型
D.运算符重载有成员重载和友元重载两种形式
参考答案:CD
17.
在一棵完全二叉树中,根结点的编号为1,按照由上到下由左到右的顺序为二叉树结点编号。
若编号为5的结点存在右孩子,则右孩子结点的编号为()。
A.9
B.10
C.11
D.12
参考答案:C
18.
二叉树就是结点度为小于等于2的树。
()
A.正确
B.错误
参考答案:A
19.
关于函数模板,描述错误的是()。
A.函数模板必须由程序员实例化为可执行的函数模板
B.函数模板的实例化由编译器实现
C.一个类定义中,只要有一个函数模板,则这个类是类模板
D.类模板的成员函数都是函数模板
参考答案:A
20.
关于this指针的说法错误的是()。
A.this指针必须显示说明
B.当创建一个对象后,this指针就指向该对象
C.成员函数拥有this指针
D.静态成员函数不拥有this指针
参考答案:A
21.
多重继承中的二义性问题是由于一个派生类从不同基类中继承了同名成员变量或相同函数原型的成员函数。
()
A.正确
B.错误
参考答案:A
22.
下列()不是构造函数的特征。
A.构造函数在创建对象时自动调用
B.构造函数可以重载
C.构造函数不可以设置默认参数
D.构造函数必须指定函数类型
参考答案:D
23.
在C++中,能被派生类继承的函数是()。
A.成员函数
B.构造函数
C.析构函数
D.拷贝构造函数
参考答案:A
24.
下列描述中,()是抽象类的特性。
A.可以说明虚函数
B.可以定义友元函数
C.可以进行构造函数重载
D.不能说明其对象
参考答案:D
25.
在C++中,不能被派生类继承的函数是()。
A.成员函数
B.构造函数
C.析构函数
D.拷贝构造函数
参考答案:BCD
26.
一个结点的后继的数目称为该结点的度;树中各结点度的最大值称为树的度。
()
A.正确
B.错误
参考答案:A
27.
二叉树的遍历方法包括()。
A.先序遍历
B.中序遍历
D.逐层遍历
参考答案:ABCD
28.
下列虚基类的声明中正确的是()。
A.class virtual B:public A
B.virtual class B:public
C.class B:public A virtual
D.class B: virtual public A
参考答案:D
29.
在C++中,打开一个文件就是将这个文件与一个()建立关联;关闭一个文件就是取消这种关联。
A.流
B.类
C.结构
D.对象
参考答案:A
30.
对于树中的任一结点,如果其各棵子树的相对次序被用来表示数据之间的关系,即交换子树位置会改变树所表示的内容,则称该树为有序树;否则称为无序树。
()
A.正确
B.错误
参考答案:A
31.
有关析构函数的说法正确的是()。
A.析构函数可以有多个
B.析构函数和构造函数一样可以有形参
C.析构函数的功能是用来释放一个对象
D.析构函数的函数类型为void
参考答案:C
32.
构造函数和析构函数都不能重载。
()
A.正确
B.错误
参考答案:B
33.
在二叉树的三叉链表表示中,结点中设有指向其双亲结点的指针,要获取一个结点的双亲结点只要访问指向其双亲结点的指针即可。
()
A.正确
B.错误
参考答案:B
34.
对静态成员的不正确描述是()。
A.静态成员不属于对象,是类的共享成员
B.静态数据成员要在类外定义和初始化
C.调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针
D.非静态成员函数也可以操作静态数据成员
参考答案:C
35.
下列说法中正确的是()。
A.成员函数的声明必须放在类体中
B.成员函数的声明可以放在类体中也可以放在类体外
C.成员函数的实现必须放在类体中
D.成员函数的实现可以放在类体中也可以放在类体外
参考答案:AC
36.
()的功能是对对象进行初始化。
A.析构函数
C.构造函数
D.静态数据成员
参考答案:B
37.
下面选项中,不是类的成员函数为()。
A.构造函数
B.析构函数
C.友元函数
D.缺省参数的构造函数
参考答案:C
38.
下面描述中,正确的是()。
A.使用fstream类必须包含头文件fstream
B.ostream对象用来实现输出操作
C.ios是iostream的直接基类
D.iostream是通过多重继承得到的派生类
参考答案:BCD
39.
多数运算符可以重载,个别运算符不能,运算符重载是通过函数定义实现的。
()
A.正确
B.错误
参考答案:A
40.
当一个函数的返回值是类对象时,则该函数执行结束后会自动调用拷贝构造函数初始化一个临时对象。
()
A.正确
B.错误
参考答案:A
41.
下列的模板说明的头中,正确的是()。
A.template
B.template
C.template
D.template
参考答案:AC
42.
用于类中虚成员函数说明的关键字:()
A.virtual
B.public
C.protected
D.private
参考答案:A
43.
由于顺序表示非完全二叉树时空间利用率较低,因此,二叉树的顺序表示在实际中应用不多。
()
A.正确
B.错误
参考答案:A
44.
类的成员函数中可以直接访问对象成员中的私有成员。
()
A.正确
B.错误
参考答案:B
45.
已知Circle类定义如下所示,则下列说法正确的是()。
class Circle { public: double m_x,m_y; double m_radius; void setCenter(double x,double y) { m_x=x; m_y=y; } void setRadius(double radius) { m_radius=radius; } double getArea( ) { return 3.14 * m_radius * m_radius; } };
B.setCenter、setRadius和getArea都是Circle类的成员函数
C.类定义体后面的分号可以省略
D.将double m_radius;改为double m_radius=1;,则表示m_radius成员变量的初值为1
参考答案:AB
46.
关于this指针的说法正确的是()。
A.this指针必须显示说明
B.成员函数不拥有this指针
C.成员函数拥有this指针
D.静态成员函数不拥有this指针
参考答案:CD
47.
对象成员的访问与结构变量成员的访问相同,使用运算符.或-。
()
A.正确
B.错误
参考答案:A
48.
链表的每个结点既可以存储一个基本数据类型的元素也可以存储一个自定义数据类型的元素。
()
A.正确
B.错误
参考答案:A
49.
用于输入输出的运算符包括()。
A.B.++
C.->
D.>>
参考答案:AD
50.
将含100个结点的完全二叉树从根这一层开始,每层从左至右依次对结点编号,根结点的编号为1。
编号为47的结点X的双亲的编号为()。
A.23
B.24
C.25
D.无法确定
参考答案:A。