可做奥鹏院校所有作业,毕业论文,咨询请添加QQ:3230981406 微信:aopopenfd777
20春学期(1709、1803、1809、1903、1909、2003)《程序设计基础(下)》在线作业
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.在下述结论中,正确的是( )。
A.在树中,互为堂兄弟的结点拥有相同的双亲
B.二叉树的度为2
C.二叉树的左右子树可任意交换
D.深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树
2.关于对象成员的构造函数的调用顺序,说法正确的是( )。
A.与它们在成员初始化列表中给出的顺序相同
B.与析构函数的调用顺序相同
C.与它们在类中说明顺序相同
D.以上说法都不对
3.下面叙述错误的是( )。
A.派生类可以使用private派生
B.对基类成员的访问必须是无二义性的
C.基类成员的访问能力在派生类中维持不变
D.赋值兼容规则也适用于多继承的组合
4.树中各结点度的最大值称为树的( )。
A.路径
B.度
C.层
D.深度
5.已知一棵二叉树的先序遍历序列为AFCDGBE,中序遍历序列为CFDABGE,则该二叉树的后序遍历序列是( )。
A.CDBFEGA
B.CDFGBEA
C.CDBAFGE
D.CDFBEGA
6.下列的模板说明中,正确的是( )。
A.template
B.template
C.template
D.template
7.利用数组a[N]顺序存储一个栈时,用top表示栈顶指针,用top==-1表示栈空,并已知栈未满,当元素x进栈时所执行的操作是( )。
A.top--; a[top]=x;
B.a[top]=x; top--;
C.top++; a[top]=x;
D.a[top]=x; top++;
8.下面说法中正确的是( )。
A.当声明的内容不同时,声明同一个名字的两个类是允许的
B.不完全声明的类也可以实例化
C.声明同一个名字的两个类时,要求声明的内容也相同
D.声明同一个名字的两个类是错误的
9.在含n个顶点和e条边的无向图的邻接矩阵中,非零元素的个数为( )。
A.e
B.2e
C.n的平方减e
D.n的平方2减2e
10.对于先序遍历与中序遍历结果相同的二叉树为( )。
A.一般二叉树
B.所有结点只有左子数的二叉树
C.根结点无左孩子的二叉树
D.所有结点只有右子树的二叉树
11.在一个顺序循环队列中,队尾指针指向队尾元素的( )位置。
A.前一个
B.后一个
C.当前
D.最后
12.在一个具有n个顶点的有向图中,若所有顶点的出度之和为s,则所有顶点的度之和为( )。
A.s
B.s+1
C.s-1
D.2s
13.下面( )的叙述不符合赋值兼容规则。
A.派生类的对象可以赋值给基类的对象
B.基类的对象可以赋值给派生类的对象
C.派生类的对象可以初始化基类的对象
D.派生类的对象的地址可以赋值给指向基类的指针
14.下面对析构函数的正确描述是( )。
A.系统不能提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数
D.析构函数可以设置默认参数
15.下列关于栈的叙述正确的是( )。
A.栈顶元素最先能被删除
B.栈顶元素最后才能被删除
C.栈底元素永远不能被删除
D.以上三种说法都不对
16.如果一个类至少有一个纯虚函数,那么就称该类为()。
A.抽象类
B.派生类
C.纯基类
D.以上都不对
17.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为( )。
A.3
B.4
C.6
D.7
18.read函数的功能是从输入流中读取( )。
A.一个字符
B.当前字符
C.一行字符
D.指定若干个字符
19.下列说法中错误的是( )。
A.公有继承时基类中的public成员在派生类中是public的
B.公有继承时基类中的private成员在派生类中是不可访问的
C.私有继承时基类中的public成员在派生类中是private的
D.私有继承时基类中的public成员在派生类中是protected的
20.下列( )是图型结构。
A.操作系统中的文件目录结构
B.城市交通网络
C.实数集合
D.n维向量
二、多选题 (共 15 道试题,共 30 分)
21.下列描述中正确的是( )。
A.文件操作通过文件指针来操作文件中不同位置的数据
B.文本文件的数据存储格式与内存中的数据存储格式一致
C.二进制文件的数据存储格式与内存中的数据存储格式一致
D.关闭文件流可以使用文件流的close()成员函数
22.假设A为抽象类,下列语句( )是错误的。
A.A fun(int);
B.A *p;
C.int fun(A);
D.A Obj;
23.对静态成员的正确描述是( )。
A.静态成员不属于对象,是类的共享成员
B.静态数据成员要在类外定义和初始化
C.调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针
D.非静态成员函数也可以操作静态数据成员
24.下列插入和提取运算符重载的函数原型中,正确的是( )。
A.istream& operator>>(istream&, 自定义类型&)
B.istream& operator<<(istream&, 自定义类型&)
C.ostream& operator>>(ostream&, 自定义类型&)
D.ostream& operator<<(ostream&, 自定义类型&)
25.下面属于析构函数特征的是( )。
A.析构函数可以重载
B.对象销毁前会自动调用析构函数
C.如果定义一个类时没有定义析构函数,则系统会提供一个默认析构函数~(){}
D.析构函数的函数类型为void
26.下面选项中,是类的成员函数为( )。
A.构造函数
B.析构函数
C.友元函数
D.缺省参数的构造函数
27.下面对友元的错误描述是( )。
A.关键字virtual用于声明友元
B.一个类的成员函数可以是另一个类的友元
C.友元函数访问对象的成员不受访问特性影响
D.友元函数通过this指针访问对象成员
28.当用public继承从基类派生一个类时,基类的()成员可被派生类中的成员函数访问。
A.protected
B.public
C.private
D.friend
29.下列描述中,正确的是( )。
A.创建派生类对象时会先调用基类构造函数,再调用派生类构造函数
B.创建派生类对象时会先调用派生类构造函数,再调用基类构造函数
C.如果基类构造函数有参数,则必须在派生类构造函数的初始化列表中写上基类构造函数的调用语句
D.如果派生类构造函数的初始化列表中没写基类构造函数的调用,则表示调用基类的无参构造函数
30.下列关于类的静态数据成员的说法中,正确的是( )。
A.静态数据成员的值初始化后不能再修改
B.静态数据成员必须在类体外定义和初始化
C.使用static关键字可以将一个数据成员声明为静态数据成员
D.静态数据成员的访问控制权限可以是公有、私有或保护
31.已知in是ifstream对象,则下列语句正确的是( )。
A.in.seekg(5);
B.in.seekg(5, ios::beg);
C.in.seekg(5, ios::end);
D.in.seekg(-5);
32.基类中的保护成员在派生类中仍然是保护成员,则可能采用的继承方式为( )。
A.公有继承
B.保护继承
C.私有继承
D.友元继承
33.输出流类对象包括( )。
A.cin
B.cerr
C.clog
D.cout
34.下列关于类的常量数据成员的说法中,正确的是( )。
A.常量数据成员只能是公有成员
B.可以在构造函数的初始化列表中为常量数据成员赋初值
C.可以在构造函数的函数体中为常量数据成员赋初值
D.常量数据成员的值初始化后就只能访问、无法修改
35.下面对构造函数的错误描述是( )。
A.系统可以提供默认的构造函数
B.构造函数可以有参数,所以可以有返回值
C.构造函数不可以重载
D.构造函数可以设置默认参数
三、判断题 (共 15 道试题,共 30 分)
36.线性表的链式存储结构是可以用不连续的的存储单元来存储线性表中的数据元素。
37.二叉树的逐层遍历,是指从第1层开始依次对每层中的结点按照从左至右的顺序进行访问。
38.C++的I/O系统通过流的机制实现文件和控制台的输入输出操作。
39.线性表只能采用顺序存储结构
40.在计算机中存储二叉树只能采用链式表示法。
41.在图的所有形式的生成树中,边上的权之和最小的生成树,称为图的最小生成树。
42.根据二叉树的先序遍历序列并不能确定二叉树的根结点。
43.入对操作,在顺序存储结构上需要考虑“溢出”情况。
44.二叉树的中序遍历二叉链表的实现既可采用非递归方式,也可采用递归方式。
45.在树中,一个结点的后继结点称为该结点的孩子,相应地,一个结点的前驱结点称为该结点的双亲。
46.数据的逻辑结构是指对数据进行存储时,各数据元素在计算机中的存储关系。
47.定义纯虚函数所用的关键字是purevirtual。
48.n个结点的有向图,若它有n(n-1)条边,则它一定是连通图。
49.用邻接链表存储一个图时,边数越多,占用的存储空间越大。
50.假定AB为一个类,有类AB的两个对象a1,a2;则执行语句AB *a[10]={&a1,&a2};时系统自动调用该类的构造函数的次数为2。