21秋学期南开《程序设计基础下》在线作业.docx
《21秋学期南开《程序设计基础下》在线作业.docx》由会员分享,可在线阅读,更多相关《21秋学期南开《程序设计基础下》在线作业.docx(10页珍藏版)》请在冰豆网上搜索。
21秋学期南开《程序设计基础下》在线作业
21秋学期(1709、1803、1809、1903、1909、2003、2009、2103)《程序设计基础(下)》在线作业
1:
关于纯虚函数,下列表述正确的是()。
A、纯虚函数是未给出实现版本(即无函数体定义)的虚函数
B、纯虚函数的声明总是以“=0”结束
C、派生类必须实现基类的纯虚函数
D、含有纯虚函数的类一定是派生类
答案:
B
2:
在一个长度为n的顺序存储的线性表中,删除第i个元素(1≤i≤n)时,需要将()个元素向前移动一个位置。
A、n-i
B、n-i+1
C、n-i-1
D、i
答案:
A
3:
关于动态关联的下列叙述中,()是错误的。
A、动态关联是以虚函数为基础的
B、动态关联调用虚函数操作是指向对象的指针或引用
C、动态关联是在运行时确定所调用的函数代码的
D、动态关联是在编译时确定操作函数的
答案:
D
4:
在C++中,能被派生类继承的函数是()。
A、成员函数
B、构造函数
C、析构函数
D、拷贝构造函数
答案:
A
5:
派生类的构造函数的成员初始化列表中,不能包含()。
A、基类的构造函数
B、派生类中子对象的初始化
C、基类的子对象初始化
D、派生类中一般数据成员的初始化
答案:
C
6:
对虚函数的调用()。
A、一定使用动态联编
B、一定使用静态联编
C、必须使用动态联编
D、不一定使用动态联编
答案:
D
7:
进行文件操作时需要包含_
()头文件。
A、iostream
B、fstream
C、stdio
D、stdlib
答案:
B
8:
利用数组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++;
答案:
C
9:
二叉树是非线性数据结构,所以()。
A、它不能用顺序存储结构存储
B、它不能用链式存储结构存储
C、顺序存储结构和链式存储结构都能存储
D、顺序存储结构和链式存储结构都不能使用
答案:
C
10:
在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则()。
A、完全相同
B、完全不同
C、部分相同,部分不同
D、以上都不对
答案:
A
11:
基类和派生类可以分别叫做()。
A、“大类”和“小类”
B、“父类”和“子类”
C、“小类”和“大类”
D、“子类”和“父类”
答案:
B
12:
下列关于运算符重载的描述中,()是正确的。
A、运算符重载可以改变操作数的个数
B、运算符重载可以改变优先级
C、运算符重载可以改变结合性
D、运算符重载不可以改变语法结构
答案:
D
13:
在树中,拥有相同双亲的两个结点称为()结点。
A、兄弟
B、堂兄弟
C、父子
D、同等
答案:
A
14:
下列关于栈的叙述中正确的是()。
A、在栈中只能插入数据
B、在栈中只能删除数据
C、栈是先进先出的线性表
D、栈是先进后出的线性表
答案:
D
15:
在二叉树中,若度为0的结点(即叶子结点)数为n0,度为2的结点数为n2,则()。
A、n2-1
B、n2
C、n2+1
D、n2+2
答案:
C
16:
下列关于成员访问权限的描述中,不正确的是()。
A、公有数据成员和公有成员函数都可以通过类对象直接访问
B、类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问
C、保护成员在派生类中可以被访问,而私有成员不可以
D、类或派生类的成员函数可以访问保护成员
答案:
B
17:
下面程序段中,说法正确的是()
classlocation{public:
intGetX();};
classrectangle:
privatelocation{public:
intGetW();};
A、类rectangle的私有派生类是location
B、类rectangle中的public成员在类location中是私有的
C、类location中的public成员在类rectangle中是不可访问的
D、viodf(){Rectangler;intX=r.GetX();}其中intX=r.GetX();是非法语句
答案:
D
18:
在下列关键字中,用以说明类中公有成员的是()。
A、public
B、private
C、protected
D、friend
答案:
A
19:
若让元素1,2,3依次进栈,则出栈次序不可能出现()的情况。
A、3,2,1
B、2,1,3
C、1,3,2
D、3,1,2
答案:
D
20:
运算符delete删除一个动态对象时()。
A、首先为该动态对象调用构造函数,再释放其占用的内存
B、首先释放该动态对象占用的内存,再为其调用构造函数
C、首先为该动态对象调用析构函数,再释放其占用的内存
D、首先释放动态对象占用的内存,再为其调用析构函数
答案:
C
21:
下面对析构函数的正确描述是()。
A、系统可以提供默认的析构函数
B、析构函数必须由用户定义
C、析构函数没有参数
D、析构函数可以设置默认参数
答案:
A,C
22:
下面描述中,错误的是()。
A、在基类定义的public成员在保护继承的派生类中可见,也能在类外被访问
B、在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问
C、在基类定义的public和protected成员在保护继承的派生类中可见
D、在派生类中不可见的成员要变成可访问的,需要进行访问声明
答案:
A,B
23:
下列说法中正确的是()。
A、成员函数的声明必须放在类体中
B、成员函数的声明可以放在类体中也可以放在类体外
C、成员函数的实现必须放在类体中
D、成员函数的实现可以放在类体中也可以放在类体外
答案:
A,D
24:
下列描述中,正确的是()。
A、派生类构造函数主要是对派生类新定义的成员变量进行初始化
B、派生类从基类继承的成员变量的初始化通过基类构造函数完成
C、派生类对象被销毁时会先调用基类析构函数
D、派生类对象被销毁时会先调用派生类析构函数
答案:
A,B,D
25:
不能使用类对象直接访问的成员包括()。
A、公有成员
B、保护成员
C、私有成员函数
D、私有成员变量
答案:
B,C,D
26:
在C++中,不能被派生类继承的函数是()。
A、成员函数
B、构造函数
C、析构函数
D、拷贝构造函数
答案:
B,C,D
27:
下面描述中,正确的是()。
A、虚函数是没有实现的函数
B、纯虚函数的实现在派生类中
C、抽象类是有纯虚函数的类
D、抽象类指针可以指向不同的派生类
答案:
B,C,D
28:
下列函数中,不可以作为虚函数的是()。
A、析构函数
B、成员函数
C、普通函数
D、构造函数
答案:
C,D
29:
下列关于类型兼容的描述中,正确的是()。
A、将派生类对象地址赋给基类指针后,使用基类指针可以直接访问派生类中定义的公有成员
B、将派生类对象地址赋给基类指针后,使用基类指针只能访问派生类从基类继承的公有成员
C、公有派生才具有类型兼容的特点
D、无论是公有派生还是私有派生和保护派生,都具有类型兼容的特点
答案:
B,C
30:
下面哪些数据结构属于非线性结构
A、线性表
B、树
C、图
D、集合
答案:
B,C,D
31:
下列关于类的常量数据成员的说法中,正确的是()。
A、一个类的常量数据成员必须在类体中初始化
B、一个类的常量数据成员由该类的所有对象共享
C、一个类的常量数据成员对于该类的不同对象可以取不同的值
D、使用const关键字可以将一个数据成员声明为常量数据成员
答案:
C,D
32:
下列打开文件的语句中,能创建文件的选项包括()。
A、ofstreamf("file.txt",ios:
:
out);
B、ofstreamf("file.txt");
C、fstreamf("file.txt",ios:
:
out);
D、ifstreamf("file.txt",ios:
:
out);
答案:
A,B,C
33:
下列描述中正确的是()。
A、文件操作通过文件指针来操作文件中不同位置的数据
B、文本文件的数据存储格式与内存中的数据存储格式一致
C、二进制文件的数据存储格式与内存中的数据存储格式一致
D、关闭文件流可以使用文件流的close()成员函数
答案:
A,C,D
34:
下列描述正确的是()。
A、多态性是通过动态绑定实现的
B、多态性是通过静态绑定实现的
C、动态绑定是在程序执行时进行绑定
D、静态绑定是在程序执行时进行绑定
答案:
A,C
35:
下列函数中,不可以作为虚函数的是()。
A、普通函数
B、构造函数
C、静态成员函数
D、析构函数
答案:
A,B,C
36:
在计算机中存储二叉树的方法主要有两种,分别是顺序表示法和链式表示法。
T、对
F、错
答案:
T
37:
纯虚函数是一种特殊的成员函数,它是一种没有具体实现的虚函数。
T、对
F、错
答案:
T
38:
图的一条路径中顶点的数目称为路径长度。
T、对
F、错
答案:
F
39:
派生类的继承方式中有两种:
公有继承和私有继承。
T、对
F、错
答案:
F
40:
在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。
T、对
F、错
答案:
T
41:
使用模板可以减少重复劳动,提高代码重用率。
T、对
F、错
答案:
T
42:
在类内部定义的public数据可以在类外进行存取。
T、对
F、错
答案:
T
43:
C++语言允许使用友元,但是友元会破坏封装性。
T、对
F、错
答案:
T
44:
满二叉树是完全二叉树。
T、对
F、错
答案:
T
45:
二叉树的第h层最多有2的h-1次方个结点。
T、对
F、错
答案:
T
46:
非线性结构即可以用顺序存储结构存储、也可以用非顺序存储结构存储。
T、对
F、错
答案:
F
47:
二叉树的顺序表示法操作方便,但缺点是容易造成存储空间的浪费。
T、对
F、错
答案:
T
48:
顺序存储结构说的是数据的逻辑结构。
T、对
F、错
答案:
F
49:
类的私有成员只能被它的成员函数和友元函数访问。
T、对
F、错
答案:
T
50:
所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它们的访问都是非法的。
T、对
F、错
答案:
T