南开大学24春学期(高起本:1803-2103、专升本高起专:2009-2103)《程序设计基础(下)》在线作业【奥鹏作业答案】
24秋学期(高起本:1709-2103、专升本/高起专:2003-2103)《程序设计基础(下)》在线作业-0
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.在下述结论中,正确的是( )。
A.在树中,互为堂兄弟的结点拥有相同的双亲
B.二叉树的度为2
C.二叉树的左右子树可任意交换
D.深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树
2.下列( )是构造函数的特征。
A.构造函数在创建对象时自动调用
B.构造函数不可以重载
C.构造函数不可以设置默认参数
D.构造函数必须指定函数类型
3.在含n个顶点和e条边的无向图的邻接矩阵中,非零元素的个数为( )。
A.e
B.2e
C.n的平方减e
D.n的平方2减2e
4.下列关于C++类的描述中错误的是( )。
A.类与类之间可以通过一些手段进行通信和联络
B.类用于描述事物的属性和对事物的操作
C.类与类之间必须是平等的关系,而不能组成层次关系
D.类与类之间可以通过封装而具有明确的独立性
5.若一个类中含有纯虚函数,则该类称为( )。
A.基类
B.纯基类
C.派生类
D.抽象类
6.具有n个顶点的有向图最多有( )条边。
A.n
B.n(n+1)
C.n(n-1)
D.n的平方
7.下列关于成员函数特征的描述中,错误的是( )。
A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
8.采用顺序编号的完全二叉树,若一个分支结点的编号为i,则其右子树的根结点(即右孩子结点)编号为( )。
A.2*i
B.2*i+1
C.2*(i+1)
D.2*(i+2)
9.通常拷贝构造函数的参数表是( )。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
10.( )的功能是对对象进行初始化。
A.析构函数
B.数据成员
C.构造函数
D.静态数据成员
11.在类的定义形式中,数据成员、成员函数和( )组成了类定义体。
A.成员的访问控制信息
B.公有消息
C.私有消息
D.保护消息
12.下列( )不是构造函数的特征。
A.构造函数的函数名与类名相同
B.构造函数可以重载
C.构造函数可以设置默认参数
D.构造函数必须指定类型说明
13.二叉树就是每个结点的度小于等于2的( )。
A.有序树
B.无序树
C.可以有序也可以无须
D.根据结点的度决定是否有序
14.一个( )允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。
A.函数模板
B.模板函数
C.类模板
D.模板类
15.下列( )是线性表结构。
A.操作系统中的文件目录结构
B.城市交通网络
C.实数集合
D.n维向量
16.关于this指针的说法错误的是( )。
A.this指针必须显示说明
B.当创建一个对象后,this指针就指向该对象
C.成员函数拥有this指针
D.静态成员函数不拥有this指针
17.有关构造函数说法不正确的是( )。
A.构造函数的名字和类的名字一样
B.在创建对象时,系统自动调用构造函数
C.构造函数无任何函数类型
D.构造函数有且只有一个
18.包含类fstream定义的头文件是( )。
A.fstream
B.ofstream
C.ifstream
D.iostream
19.下列运算符中,()运算符在C++中不能重载。
A.:
B.+
C.-
D.=
20.关于动态关联的下列叙述中,()是错误的。
A.动态关联是以虚函数为基础的
B.动态关联调用虚函数操作是指向对象的指针或引用
C.动态关联是在运行时确定所调用的函数代码的
D.动态关联是在编译时确定操作函数的
二、多选题 (共 15 道试题,共 30 分)
21.下面描述中,正确的是( )。
A.在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问
B.在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问
C.在基类定义的public和protected成员在保护继承的派生类中可见
D.在派生类中不可见的成员要变成可访问的,需要进行访问声明
22.下面描述中,正确的是( )。
A.虚拟继承可以解决多重继承中的二义性问题
B.类层次中的类从虚基类中直接继承虚基类的成员
C.在有虚基类的类层次中,创建派生类对象时,会先调用基类的构造函数再调用虚基类的构造函数
D.在有虚基类的类层次中,销毁派生类对象时析构函数的调用顺序与创建派生类对象时构造函数的调用顺序相反
23.下列说法正确的是( )。
A.面向对象方法的基本观点是一切系统都是由对象构成的
B.面向对象方法的基本观点是一切系统都是由模块构成的
C.面向对象方法中通过“消息”来触发行为
D.面向对象方法中用类和对象来表示现实世界
24.下列关于类的继承描述中,( )是正确的。
A.派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
B.派生类也是基类,但基类不一定具有派生类的全部属性和方法
C.继承描述类的层次关系,派生类可以具有与基类相同的属性和方法
D.一个基类可以有多个派生类,一个派生类可以有多个基类
25.二叉树可以采用的存储方式包括:
A.顺序存储
B.二叉链表
C.三叉链表
D.队列
26.当用public继承从基类派生一个类时,基类的()成员可被派生类中的成员函数访问。
A.protected
B.public
C.private
D.friend
27.如果类A继承了类B,则类A称为()。
A.派生类
B.继承类
C.子类
D.父类
28.下面描述中,正确的是( )。
A.可以定义ios类的对象
B.istream对象用来实现输入操作
C.ios是fstream的直接基类
D.istream是ifstream的直接基类
29.在派生类中可以直接访问基类的()。
A.公有成员
B.保护成员
C.私有成员
D.友元成员
30.下列函数中,不可以作为虚函数的是()。
A.析构函数
B.成员函数
C.普通函数
D.构造函数
31.基类中的保护成员可能是派生类的( )。
A.public成员
B.private成员
C.protected成员
D.友元成员
32.下面对析构函数的错误描述是( )。
A.系统不能提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数
D.析构函数可以设置默认参数
33.下列描述中,正确的是( )。
A.创建派生类对象时会先调用基类构造函数,再调用派生类构造函数
B.创建派生类对象时会先调用派生类构造函数,再调用基类构造函数
C.如果基类构造函数有参数,则必须在派生类构造函数的初始化列表中写上基类构造函数的调用语句
D.如果派生类构造函数的初始化列表中没写基类构造函数的调用,则表示调用基类的无参构造函数
34.已知类Circle中有一个静态数据成员s_nNum,且有变量定义语句Circle c, *pc;,则下列选项中,能给s_nNum赋值为3的语句包括( )。
A.Circle.s_nNum=3
B.Circle::s_nNum=3
C.s_nNum=3
D.pc->s_nNum=3
35.下列( )不是构造函数的特征。
A.构造函数在创建对象时自动调用
B.构造函数可以重载
C.构造函数不可以设置默认参数
D.构造函数必须指定函数类型
三、判断题 (共 15 道试题,共 30 分)
36.假定类AB中有一个公用属性的静态数据成员static int bb;在类外不通过对象名给该成员bb赋值为10的写法为static int AB::bb=10;
37.函数模板可以与普通函数重载。
38.可以在队列的任意位置插入元素。
39.构造函数和析构函数均不能被说明为虚函数。
40.数据结构中的数据项是数据的不可分割的最小单位。
41.线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻。
42.使用指向对象的指针来访问类的成员,则必须使用的运算符是->。
43.由于线性表的顺序结构可以进行随机读取,所以在插入新元素时,不需要移动其他元素。
44.假定AB为一个类,则执行AB a[10];语句时,系统自动调用该类的构造函数的次数为10。
45.C++语言允许使用友元,但是友元会破坏封装性。
46.非线性结构即可以用顺序存储结构存储、也可以用非顺序存储结构存储。
47.二叉树的中序遍历二叉链表的实现既可采用非递归方式,也可采用递归方式。
48.根据二叉树的后序遍历序列可以确定二叉树的根结点。
49.从一个结点到其后继结点之间的连线称为一个分支;从一个结点X到另一个结点Y所经历的所有分支构成结点X到结点Y的路径;一条路径上的分支数目称为路径长度;从树的根结点到其他各个结点的最长路径长度称为树的路径长度。
50.二叉树的顺序表示法操作方便,但缺点是容易造成存储空间的浪费。
版权保护: 本文由 奥鹏/电大作业答案-泽学网-专业的毕业论文辅导网 原创,转载请保留链接: https://www.zexuewang.nethttps://www.zexuewang.net/zaixianzuoye/36383.html