23春学期(高起本:1709-2103、专升本/高起专:1903-2103)《程序设计基础(下)》在线作业-00002
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.下列关于对象数组的描述中,错误的是( )。
A.对象数组的下标是从0开始的
B.对象数组的数组名是一个常量指针
C.对象数组的每个元素是同一个类的对象
D.对象数组只能赋初值,而不能在定义后赋值
2.对于公有派生,它的“继承方式“是( )。
A.private
B.public
C.protected
D.inaccessible
3.有关析构函数的说法正确的是( )。
A.析构函数可以有多个
B.析构函数和构造函数一样可以有形参
C.析构函数的功能是用来释放一个对象
D.析构函数的函数类型为void
4.下列关于队列的叙述中正确的是( )。
A.在队列中只能插入数据
B.在队列中只能删除数据
C.队列是先进先出的线性表
D.队列是先进后出的线性表
5.下列对派生类的描述中,()是错误的。
A.一个派生类可以作另一个派生类的基类
B.派生类至少有一个基类
C.派生类的成员除了它自己的成员外,包含了它的基类的成员
D.派生类中继承的基类成员的访问权限到派生类保持不变
6.包含类fstream定义的头文件是( )。
A.fstream
B.ofstream
C.ifstream
D.iostream
7.用于类中虚成员函数说明的关键字( )。
A.virtual
B.public
C.protected
D.private
8.基类和派生类可以分别叫做( )。
A.“大类”和“小类”
B.“父类”和“子类”
C.“小类”和“大类”
D.“子类”和“父类”
9.友元访问类对象的成员时使用( )。
A.类的成员名
B.“this->成员名”的形式
C.“类名::成员名”的形式
D.“对象名.成员名”的形式
10.类A是类B的友元,类B是类C的友元,则( )是正确的。
A.类B是类A的友元
B.类C是类A的友元
C.类A是类C的友元
D.以上都不对
11.关于类模板,描述错误的是( )。
A.一个普通基类不能派生类模板
B.类模板从普通类派生,也可以从类模板派生
C.根据建立对象时的实际数据类型,编译器把类模板实例化为模板类
D.函数的类模板参数须通过构造函数实例化
12.友元运算符obj1>obj2被C++编译器解释为()。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.jobj2.operator>(obj1)
D.obj1.operator(obj2)
13.假定MyClass为一个类,则该类的拷贝构造函数的声明语句为( )。
A.MyClass(MyClass x)
B.MyClass&(MyClass x)
C.MyClass(MyClass &x)
D.MyClass(MyClass *x)
14.下面函数原型声明中,( )声明了fun为纯虚函数。
A.void fun()=0;
B.virtual void fun()=0;
C.virtual void fun();
D.virtual void fun(){};
15.树中所有结点的度之和等于所有结点数加( )。
A.1
B.0
C.-1
D.2
16.设无向图G中的边集E={(a,b),(a,c),(c,d),(c,e) },则从顶点b出发可以得到一种广度优先遍历的顶点序列为( )。
A.baedc
B.bcade
C.decab
D.bacde
17.( )是析构函数的特征。
A.析构函数可以有一个或多个参数
B.析构函数定义只能在类体内
C.析构函数名与类名不同
D.一个类中只能定义一个析构函数
18.下列虚基类的声明中正确的是( )。
A.class virtual B:public A
B.virtual class B:public
C.class B:public A virtual
D.class B: virtual public A
19.在C++中,能被派生类继承的函数是( )。
A.成员函数
B.构造函数
C.析构函数
D.拷贝构造函数
20.已知X类.则当程序执行到语句X *array=new X[2];时,调用了( )次构造函数。
A.0
B.1
C.2
D.3
二、多选题 (共 15 道试题,共 30 分)
21.关于this指针的说法正确的是( )。
A.this指针必须显示说明
B.成员函数不拥有this指针
C.成员函数拥有this指针
D.静态成员函数不拥有this指针
22.下面关于自定义类的运算符重载的说法中,正确的是( )。
A.可以根据需要重新定义重载的运算符的优先级和结合性
B.重载运算符的操作数个数不能改变
C.运算符重载要求至少有一个运算数是自定义类型
D.运算符重载有成员重载和友元重载两种形式
23.下列关于类模板的描述中,正确的是( )。
A.类模板中可以有静态数据成员
B.类模板的静态数据成员由所有该类模板实例化的模板类共享
C.类模板的静态数据成员需要在类体外进行定义和初始化
D.类模板中可以用类型形参声明静态数据成员
24.下面对构造函数的错误描述是( )。
A.系统可以提供默认的构造函数
B.构造函数可以有参数,所以可以有返回值
C.构造函数不可以重载
D.构造函数可以设置默认参数
25.下面描述中,正确的是( )。
A.可以定义ios类的对象
B.istream对象用来实现输入操作
C.ios是fstream的直接基类
D.istream是ifstream的直接基类
26.已知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; } };
A.m_x、m_y和m_radius都是Circle类的成员变量
B.setCenter、setRadius和getArea都是Circle类的成员函数
C.类定义体后面的分号可以省略
D.将double m_radius;改为double m_radius=1;,则表示m_radius成员变量的初值为1
27.下面对对象成员的正确描述是( )。
A.在一个类中可以声明本类的对象成员
B.对象成员的声明方法与普通数据成员的声明方法相同
C.在一个类中可以声明本类的指针数据成员
D.如果对象成员的构造函数有参数,则必须在声明该对象成员的同时给其构造函数传递参数值
28.下面哪些结构属于数据的存储结构
A.线性结构
B.链式结构
C.存储结构
D.索引结构
29.已知Cirle是一个类,其中有一个成员函数public:void setRadius(int r),且有如下变量定义语句Circle c, pC=&c;则下列语句正确的是( )。
A.c::setRadius(3)
B.pC->setRadius(3)
C.pC.setRadius(3)
D.setRadius(3)
30.下列选项中,属于类型兼容特点的选项包括( )。
A.可以用派生类对象给基类对象赋值
B.可以用派生类对象地址给基类指针赋值
C.可以用基类对象给派生类对象赋值
D.可以用基类对象初始化派生类引用
31.已知Derived是Base的公有派生类,且已定义两个对象Derived d;和Base b;,则下列语句中正确的是( )。
A.d=b;
B.b=d
C.Derived *d=&b;
D.Base &b=d;
32.下列关于拷贝构造函数的说法中,正确的是( )。
A.拷贝构造函数是一个特殊的构造函数
B.一个类中只能有一个拷贝构造函数
C.如果定义一个类时没有定义拷贝构造函数,则系统会提供一个默认的不包含任何操作的拷贝构造函数
D.当一个类中有指针类型的成员变量时,则需要为这个类定义拷贝构造函数
33.输出流类对象包括( )。
A.cin
B.cerr
C.clog
D.cout
34.下列说法正确的是( )。
A.面向对象方法的基本观点是一切系统都是由对象构成的
B.面向对象方法的基本观点是一切系统都是由模块构成的
C.面向对象方法中通过“消息”来触发行为
D.面向对象方法中用类和对象来表示现实世界
35.不论派生类以何种方法继承基类,都可以使用基类的( )。
A.public成员
B.private成员
C.protected成员
D.所有成员
三、判断题 (共 15 道试题,共 30 分)
36.在保护派生中,基类权限为private的成员在派生类中权限也为private。
37.通过指针或引用可以调用不同对象相同名称的函数,但可导致完全不同的行为的现象称为二义性。
38.当类的继承方式为公有继承时,基类的私有成员在派生类中不可访问。
39.定义模板的关键字是template。
40.树的根结点所在的层为第1层,其余结点的层等于其前驱结点的层加1;树中各结点的层的最大值称为树的深度。
41.线性表中的结点可以没有前驱,如果有,最多只能有一个前驱。
42.线性表中的每一个元素都有且仅有一个前驱和一个后继。
43.线性表只能采用顺序存储结构
44.在线性表的顺序存储结构中,插入和删除操作时,元素移动次数与插入和删除元素的位置有关。
45.类的常量数据成员只能在常量成员函数中使用。
46.广度优先遍历类似于树的逐层遍历。
47.对象数组的元素可以是不同类的对象。
48.二叉树的逐层遍历,是指从第1层开始依次对每层中的结点按照从左至右的顺序进行访问。
49.假定AB为一个类,有类AB的两个对象a1,a2;则执行语句AB *a[10]={&a1,&a2};时系统自动调用该类的构造函数的次数为2。
50.由于顺序表示非完全二叉树时空间利用率较低,因此,二叉树的顺序表示在实际中应用不多。
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777