南开23春学期(高起本:1709-2103、专升本高起专:1903-2103)《程序设计基础(下)》在线作业三
奥鹏南开大学新学期作业参考

南开大学23春学期(高起本:1709-2103、专升本/高起专:1903-2103)《程序设计基础(下)》在线作业
1.下列运算符中,()运算符在C++中不能重载。
选项A:?:
选项B:+
选项C:-
选项D:=
正确答案问询微信:424329
2.下列关于构造函数的描述中,错误的是( )。
选项A:构造函数可以设置默认参数
选项B:构造函数在说明类变量时自动执行
选项C:构造函数可以对静态数据成员进行初始化
选项D:构造函数可以重载
正确答案问询微信:424329
3.下列类中( )是输入/输出流类iostream的派生类。
选项A:fstream
选项B:ofstream
选项C:ifstream
选项D:ostream
正确答案问询微信:424329
4.对于下面定义的类A在函数f()中将对象成员n的值修改为60的语句应该是( )
class A
{
public:
A(int x){n=x;}
void SetNum(int n1){n=n1;}
private:
int n;
}
int f() { A*ptr=new A(6); }
选项A:A(60)
选项B:SetNum(60)
选项C:ptr->SetNum(60)
选项D:ptr->n=60
正确答案问询微信:424329
5.下列关于成员函数特征的描述中,错误的是( )。
选项A:成员函数一定是内联函数
选项B:成员函数可以重载
选项C:成员函数可以设置参数的默认值
选项D:成员函数可以是静态的
正确答案问询微信:424329
6.下列程序段中具有相同值的是( ) class Base {int b;}; class Base1:virtual public base{int b1;}; class Base2:virtual public base{int b2;}; class derived:public base 1,public base 2{int b3;}; derived d;
选项A:d.b与d.base1::b
选项B:d.base1::b与 d.base1::b1
选项C:d.b与 d. b3
选项D:d.base2::b与 d.base2::b2
正确答案问询微信:424329
7.将含100个结点的完全二叉树从根这一层开始,每层从左至右依次对结点编号,根结点的编号为1。编号为47的结点X的双亲的编号为( )。
选项A:23
选项B:24
选项C:25
选项D:无法确定
正确答案问询微信:424329
8.在数据结构中,从逻辑上可以把数据结构分成( )。
选项A:动态结构和静态结构
选项B:紧凑结构和非紧凑结构
选项C:线性结构和非线性结构
选项D:内部结构和外部结构
正确答案问询微信:424329
9.下面程序段中,说法正确的是( )
class location{ public : int GetX(); };
class rectangle:private location { public: int GetW(); };
选项A:类rectangle的私有派生类是location
选项B:类rectangle中的public成员在类 location中是私有的
选项C:类location中的public成员在类 rectangle中是不可访问的
选项D:viod f( ) { Rectangle r; int X=r .GetX( ); } 其中int X = r .GetX( );是非法语句
正确答案问询微信:424329
10.在一棵完全二叉树中,根结点的编号为1,按照由上到下由左到右的顺序为二叉树结点编号。若编号为5的结点存在右孩子,则右孩子结点的编号为( )。
选项A:9
选项B:10
选项C:11
选项D:12
正确答案问询微信:424329
11.下面说法正确的是( )。
选项A:内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
选项B:内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
选项C:类的内联函数必须在类体内定义
选项D:类的内联函数必须在类体外用关键字inline定义
正确答案问询微信:424329
12.下面对析构函数的正确描述是( )。
选项A:系统不能提供默认的析构函数
选项B:析构函数必须由用户定义
选项C:析构函数没有参数
选项D:析构函数可以设置默认参数
正确答案问询微信:424329
13.()是一个在基类中说明虚函数,它在该基类中没有定义,但要求任何派生类中的可访问性的规定是相同的。
选项A:纯虚函数
选项B:虚析构函数
选项C:虚构造函数
选项D:静态成员函数
正确答案问询微信:424329
14.关于抽象类, 下列表述正确的是( )。
选项A:抽象类的成员函数中至少有一个没有实现的函数(即无函数体定义的函数)
选项B:派生类必须实现作为基类的抽象类中的纯虚函数
选项C:派生类不可能成为抽象类
选项D:抽象类不能用于定义对象
正确答案问询微信:424329
15.类模板的静态数据成员由( )共享。
选项A:一个类模板的所有模板类
选项B:一个模板类的所有对象
选项C:一个模板类的一个对象
选项D:一个类模板的所有对象
正确答案问询微信:424329
16.在数据结构中,与所使用的计算机无关的是数据的( )结构。
选项A:逻辑
选项B:存储
选项C:逻辑和存储
选项D:物理
正确答案问询微信:424329
17.在C++中,打开一个文件就是将这个文件与一个()建立关联;关闭一个文件就是取消这种关联。
选项A:流
选项B:类
选项C:结构
选项D:对象
正确答案问询微信:424329
18.this指针是C++实现( )的一种机制。
选项A:抽象
选项B:封装
选项C:继承
选项D:重载
正确答案问询微信:424329
19.下列( )是树型结构。
选项A:操作系统中的文件目录结构
选项B:城市交通网络
选项C:实数集合
选项D:n维向量
正确答案问询微信:424329
20.在类定义的外部,可以被访问的成员有( )。
选项A:所有类成员
选项B:private或protected的类成员
选项C:public的类成员
选项D:public或private的类成员
正确答案问询微信:424329
21.下列描述正确的是( )。
选项A:多态性是通过动态绑定实现的
选项B:多态性是通过静态绑定实现的
选项C:动态绑定是在程序执行时进行绑定
选项D:静态绑定是在程序执行时进行绑定
正确答案问询微信:424329
22.下列说法中正确的是( )。
选项A:一个成员函数在类体外定义,则该成员函数默认是内联函数
选项B:一个成员函数在类体中定义,则该成员函数默认是内联函数
选项C:在类体外定义成员函数需要使用::运算符指明该成员函数属于哪个类
选项D:类体外定义的成员函数默认为公有成员函数
正确答案问询微信:424329
23.如果类A继承了类B,则类A称为()。
选项A:派生类
选项B:继承类
选项C:子类
选项D:父类
正确答案问询微信:424329
24.下列函数中,可以作为虚函数的是()。
选项A:析构函数
选项B:成员函数
选项C:普通函数
选项D:构造函数
正确答案问询微信:424329
25.下面关于自定义类的运算符重载的说法中,正确的是( )。
选项A:除了后增后减单目运算符外,其他运算符重载为类的成员函数时,函数参数个数比运算符实际操作数个数少一个
选项B:运算符重载为类的成员函数时,函数中的this指针指向第一个运算数
选项C:只有运算符的第一个运算数是自定义类类型时,才能将该运算符奥鹏南开大学新学期作业参考重载为类的成员函数
选项D:所有运算符都可以以类成员函数形式进行重载
正确答案问询微信:424329
26.下列说法中正确的是( )。
选项A:成员函数的声明必须放在类体中
选项B:成员函数的声明可以放在类体中也可以放在类体外
选项C:成员函数的实现必须放在类体中
选项D:成员函数的实现可以放在类体中也可以放在类体外
正确答案问询微信:424329
27.基类中的公有成员可能是派生类的( )。
选项A:public成员
选项B:private成员
选项C:protected成员
选项D:友元成员
正确答案问询微信:424329
28.用于输入输出的运算符包括( )。
选项A:
选项B:>>
正确答案问询微信:424329
29.基类中的保护成员可能是派生类的( )。
选项A:public成员
选项B:private成员
选项C:protected成员
选项D:友元成员
正确答案问询微信:424329
30.下列关于拷贝构造函数的说法中,错误的是( )。
选项A:拷贝构造函数是可以重载
选项B:用一个对象给另一个对象赋值时,拷贝构造函数会被自动调用
选项C:用一个对象初始化另一个对象时,拷贝构造函数会被自动调用
选项D:创建一个对象时,有可能同时调用拷贝构造函数和其他构造函数
正确答案问询微信:424329
31.下列描述中,正确的是( )。
选项A:创建派生类对象时会先调用基类构造函数,再调用派生类构造函数
选项B:创建派生类对象时会先调用派生类构造函数,再调用基类构造函数
选项C:如果基类构造函数有参数,则必须在派生类构造函数的初始化列表中写上基类构造函数的调用语句
选项D:如果派生类构造函数的初始化列表中没写基类构造函数的调用,则表示调用基类的无参构造函数
正确答案问询微信:424329
32.下列说法正确的是( )。
选项A:数据成员用来描述对象的状态
选项B:成员函数用来描述对象的行为
选项C:定义类需要使用class关键字
选项D:类中的所有成员必须采有相同的访问控制方式
正确答案问询微信:424329
33.关于函数模板,描述正确的是( )。
选项A:函数模板必须由程序员实例化为可执行的函数模板
选项B:函数模板的实例化由编译器实现
选项C:一个类定义中,只要有一个函数模板,则这个类是类模板
选项D:类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化
正确答案问询微信:424329
34.下面描述中,正确的是( )。
选项A:在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问
选项B:在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问
选项C:在基类定义的public和protected成员在保护继承的派生类中可见
选项D:在派生类中不可见的成员要变成可访问的,需要进行访问声明
正确答案问询微信:424329
35.下面对构造函数的正确描述是( )。
选项A:系统可以提供默认的构造函数
选项B:构造函数可以有参数,所以可以有返回值
选项C:构造函数可以重载
选项D:构造函数可以设置默认参数
正确答案问询微信:424329
36.C++语言允许使用友元,但是友元会破坏封装性。
选项A:对
选项B:错
正确答案问询微信:424329
37.当一个函数的返回值是类对象时,则该函数执行结束后会自动调用拷贝构造函数初始化一个临时对象。
选项A:对
选项B:错
正确答案问询微信:424329
38.广度优先遍历类似于树的先序遍历。
选项A:对
选项B:错
正确答案问询微信:424329
39.图说的是数据的逻辑结构。
选项A:对
选项B:错
正确答案问询微信:424329
40.使用关闭文件函数close()关闭一个文件时,但流对象仍存在。
选项A:对
选项B:错
正确答案问询微信:424329
41.析构函数是一种函数体为空的成员函数。
选项A:对
选项B:错
正确答案问询微信:424329
42.类的静态成员变量只能在静态成员函数中使用。
选项A:对
选项B:错
正确答案问询微信:424329
43.进栈操作,在顺序存储结构上需要考虑“溢出”情况。
选项A:对
选项B:错
正确答案问询微信:424329
44.已知一棵二叉树的先序遍历序列和中序遍历序列可以唯一地构造出该二叉树。
选项A:对
选项B:错
正确答案问询微信:424329
45.可以在类的构造函数中对静态数据成员进行初始化。
选项A:对
选项B:错
正确答案问询微信:424329
46.为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义构造函数。
选项A:对
选项B:错
正确答案问询微信:424329
47.使用打开文件函数open()之前,需要定义一个流类对象,使用open()函数来操作该对象。
选项A:对
选项B:错
正确答案问询微信:424329
48.函数的定义不可以嵌套,类的定义可以嵌套。
选项A:对
选项B:错
正确答案问询微信:424329
49.只有有向图才有连通分量,无向图没有。
选项A:对
选项B:错
正确答案问询微信:424329
50.数据的逻辑结构是指在数据集合中各数据元素之间固有的逻辑关系。
选项A:对
选项B:错
正确答案问询微信:424329