南开21春学期《程序设计基础(下)》在线作业2

上传人:奥鹏****师 文档编号:182906864 上传时间:2021-05-25 格式:DOC 页数:7 大小:29.50KB
返回 下载 相关 举报
南开21春学期《程序设计基础(下)》在线作业2_第1页
第1页 / 共7页
南开21春学期《程序设计基础(下)》在线作业2_第2页
第2页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《南开21春学期《程序设计基础(下)》在线作业2》由会员分享,可在线阅读,更多相关《南开21春学期《程序设计基础(下)》在线作业2(7页珍藏版)》请在金锄头文库上搜索。

1、21春学期(1709、1803、1809、1903、1909、2003、2009、2103)程序设计基础(下)在线作业试卷总分:100 得分:100一、单选题 (共 20 道试题,共 40 分)1.下列类中( )是输入/输出流类iostream的派生类。A.fstreamB.ofstreamC.ifstreamD.ostream答案:A2.下面描述中,错误的是( )。A.在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问B.在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问C.在基类定义的public和protected成员在保护继承

2、的派生类中可见D.在派生类中不可见的成员要变成可访问的,需要进行访问声明答案:B3.在一个链接队列中,假设f和r 分别是队头和队尾指针,则插入一个s结点的运算时( )。A.f-next=s; f=s;B.r-next=s; r=s;C.s-next=r; r=s;D.s-next=f; f=s;答案:B4.运算符delete删除一个动态对象时( )。A.首先为该动态对象调用构造函数,再释放其占用的内存B.首先释放该动态对象占用的内存,再为其调用构造函数C.首先为该动态对象调用析构函数,再释放其占用的内存D.首先释放动态对象占用的内存,再为其调用析构函数答案:C5.关于类和对象不正确的说法是(

3、)。A.类是一种类型,它封装了数据和操作B.对象是类的实例C.一个类的对象只有一个D.一个对象必属于某个类答案:C6.将含100个结点的完全二叉树从根这一层开始,每层从左至右依次对结点编号,根结点的编号为1。编号为47的结点X的双亲的编号为( )。A.23B.24C.25D.无法确定答案:A7.在一个链接队列中,假设f和r 分别是队头和队尾指针,则删除一个结点的运算时( )。A.r=f-next;B.r=r-next;C.f=f-next;D.f=r-next;答案:C8.在一个具有n个顶点的有向图中,若所有顶点的入度之和为s,则所有顶点的度之和为( )。A.sB.s+1C.s-1D.2s答案

4、:D9.继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。A.规律性B.传递性C.重复性D.多样性答案:B10.在下列关键字中,用以说明类中公有成员的是( )。A.publicB.privateC.protectedD.friend答案:A11.下面对析构函数的正确描述是( )。A.系统不能提供默认的析构函数B.析构函数必须由用户定义C.析构函数没有参数D.析构函数可以设置默认参数答案:C12.在二叉树的第i层上至多有( )个结点(i1)。A.2的i次方减1B.2的i-1次方C.2的i次方加+1D.2的i+1次方答案:B13.下列虚基类的声明中正确的是(

5、 )。A.class virtual B:public AB.virtual class B:publicC.class B:public A virtualD.class B: virtual public A答案:D14.C+有( )种联编方式。A.1B.2C.3D.4答案:B15.下列说法中错误的是( )。A.公有继承时基类中的public成员在派生类中是public的B.公有继承时基类中的private成员在派生类中是不可访问的C.私有继承时基类中的public成员在派生类中是private的D.私有继承时基类中的public成员在派生类中是protected的答案:D16.友元关系不

6、能( )。A.继承B.是类与类之间是关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率答案:A17.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的( )。A.public成员B.private成员C.protected成员D.友元答案:A18.下面关于友元的描述中,错误的是( )。A.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承答案:D19.有关析构函数的说法不正确的是( )。A.析构函数有且仅有一个B.析构函数和构造函数一样可以有形参C.析构函数的功能是用来释

7、放一个对象D.析构函数无任何函数类型答案:B20.撤消对象时,系统自动调用( )函数。A.成员函数B.构造函数C.析构函数D.普通函数答案:C二、多选题 (共 15 道试题,共 30 分)21.如果类A继承了类B,则类A称为()。A.派生类B.继承类C.子类D.父类答案:AC22.下列函数中,不可以作为虚函数的是( )。A.普通函数B.构造函数C.静态成员函数D.析构函数答案:ABC23.下面哪些数据结构属于非线性结构A.线性表B.树C.图D.集合答案:BCD24.在派生类中可以直接访问基类的()。A.公有成员B.保护成员C.私有成员D.友元成员答案:AB25.下面关于自定义类的运算符重载的说

8、法中,正确的是( )。A.赋值运算符和下标运算符只能重载为类的成员函数B.赋值运算符和下标运算符只能重载为类的友元函数C.赋值运算符重载时一般以引用方式返回*this,表示返回赋值运算符的左操作数D.使用重载的赋值运算符时,左操作数一定是自定义类型答案:ACD26.已知Derived是Base的公有派生类,且已定义两个对象Derived d;和Base b;,则下列语句中正确的是( )。A.d=b;B.b=dC.Derived *d=&b;D.Base &b=d;答案:BD27.下面关于自定义类的运算符重载的说法中,正确的是( )。A.除了后增后减单目运算符外,其他运算符重载为类的成员函数时,

9、函数参数个数比运算符实际操作数个数少一个B.运算符重载为类的成员函数时,函数中的this指针指向第一个运算数C.只有运算符的第一个运算数是自定义类类型时,才能将该运算符重载为类的成员函数D.所有运算符都可以以类成员函数形式进行重载答案:ABC28.已知f是以二进制读写方式打开的文件流对象,且有int型变量a,则下列选项中能正确进行文件读写操作的语句包括( )。A.write(char*)a, sizeof(a);B.write(char*)&a, sizeof(a);C.read(char*)a, sizeof(a);D.read(char*)&a, sizeof(a);答案:BD29.系统提

10、供的默认拷贝构造函数实现的是“浅拷贝”,下列关于浅拷贝的说法中正确的是( )。A.当一个类中有指针成员变量时,浅拷贝有可能会导致一片内存被重复释放B.当一个类中有指针成员变量时,浅拷贝有可能导致一个对象中保存的数据不正确C.如果一个类中只有int型和double型的成员变量,则浅拷贝不会出现任何问题D.如果一个类中有一个成员变量是char型数组,则使用浅拷贝会存在问题答案:ABC30.不论派生类以何种方法继承基类,都可以使用基类的( )。A.public成员B.private成员C.protected成员D.所有成员答案:AC31.已知Circle类定义如下所示,则下列说法正确的是( )。 c

11、lass 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.将doubl

12、e m_radius;改为double m_radius=1;,则表示m_radius成员变量的初值为1答案:AB32.下面选项中,是类的成员函数为( )。A.构造函数B.析构函数C.友元函数D.缺省参数的构造函数答案:ABD33.下面描述中,正确的是( )。A.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序相反B.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序一致C.多重继承中创建派生类对象时各基类构造函数的调用顺序与基类构造函数在初始化列表中的出现顺序一致D.多重继承中,如果派生类的初始化列表中没有某个基类构造函数

13、的调用语句,则表示调用该基类的无参构造函数答案:AD34.下列函数中,可以作为虚函数的是( )。A.普通成员函数B.构造函数C.静态成员函数D.析构函数答案:AD35.下列成员中,不能被派生类继承的包括()。A.公有成员B.构造函数C.保护成员D.析构函数答案:BD三、判断题 (共 15 道试题,共 30 分)36.类模板可以生成若干个模板类,每个模板类又可定义若干个对象。答案:正确37.n个结点的无向图,若它有n(n-1)/2条边,则它一定是连通图。答案:正确38.一个结点的后继的数目称为该结点的度;树中各结点度的最大值称为树的度。答案:正确39.可以在队列的任意位置插入元素。答案:错误40

14、.非线性结构即可以用顺序存储结构存储、也可以用非顺序存储结构存储。答案:错误41.线性表中的一个结点可以有多个前驱和多个后继答案:错误42.强连通图的各顶点间均可达。答案:正确43.二叉树就是结点度为小于等于2的树。答案:正确44.二叉树就是结点度都是为2的树。答案:错误45.运算符重载实际上是对已有的运算符重新定义其功能。答案:正确46.图说的是数据的逻辑结构。答案:正确47.构造函数和析构函数都不能重载。答案:错误48.多继承情况下,派生类的构造函数中基类构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。答案:正确49.在私有继承中,基类中所有成员对派生类的对象都是不可见的。答案:正确50.二叉树指的是数据的逻辑结构。答案:错误

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号