南开《程序设计基础(下)》20春期末考核答案

上传人:you7****5932 文档编号:143948563 上传时间:2020-09-03 格式:DOCX 页数:13 大小:16.24KB
返回 下载 相关 举报
南开《程序设计基础(下)》20春期末考核答案_第1页
第1页 / 共13页
南开《程序设计基础(下)》20春期末考核答案_第2页
第2页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《南开《程序设计基础(下)》20春期末考核答案》由会员分享,可在线阅读,更多相关《南开《程序设计基础(下)》20春期末考核答案(13页珍藏版)》请在金锄头文库上搜索。

1、程序设计基础(下)20春期末考核 -00001试卷总分:100 得分:70一、单选题 (共 20 道试题,共 40 分)1.类模板的静态数据成员由( )共享。A.一个类模板的所有模板类B.一个模板类的所有对象C.一个模板类的一个对象D.一个类模板的所有对象答案:B2.设线性表有n个元素,以下算法中,( )在顺序表上实现比在链表上实现效率更高。A.输出第i(0in1)个元素值B.交换第0个元素与第1个元素的值C.顺序输出这n个元素的值D.输出与给定值x相等的元素在线性表中的序号答案:A3.在一个无向图中,若两顶点之间的路径长度为k,则该路径上的顶点数为( )。A.kB.k+1C.k+2D.2k答

2、案:B4.在一个链接队列中,假设f和r 分别是队头和队尾指针,则删除一个结点的运算时( )。A.r=f-next;B.r=r-next;C.f=f-next;D.f=r-next;答案:C5.下列( )不是构造函数的特征。A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定类型说明答案:D6.在一个长度为n的顺序存储的线性表中,向第i个元素(1in+1)位置插入一个新元素时,需要将( )个元素向后移动一个位置。A.n-iB.n-i+1C.n-i-1D.i答案:B7.在二叉树的第i层上至多有( )个结点(i1)。A.2的i次方减1B.2的i-1次方C

3、.2的i次方加+1D.2的i+1次方答案:B8.对于任意一个类,析构函数的个数最多为( )。A.0B.1C.2D.3答案:B9.若让元素1,2,3依次进栈,则出栈次序不可能出现( )的情况。A.3,2,1B.2,1,3C.1,3,2D.3,1,2答案:D10.类模板的模板参数( )。A.只可作为数据成员的类型B.只可作为成员函数的返回类型C.只可作为成员函数的参数类型D.以上三者皆可答案:D11.在一棵完全二叉树中,根结点的编号为1,按照由上到下由左到右的顺序为二叉树结点编号。若编号为5的结点存在右孩子,则右孩子结点的编号为( )。A.9B.10C.11D.12答案:C12.在下述结论中,正确

4、的是( )。A.在树中,互为堂兄弟的结点拥有相同的双亲B.二叉树的度为2C.二叉树的左右子树可任意交换D.深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树答案:D13.包含类fstream定义的头文件是( )。A.fstreamB.ofstreamC.ifstreamD.iostream答案:A14.基类和派生类可以分别叫做( )。A.“大类”和“小类”B.“父类”和“子类”C.“小类”和“大类”D.“子类”和“父类”答案:B15.撤消对象时,系统自动调用( )函数。A.成员函数B.构造函数C.析构函数D.普通函数答案:C16.关于对象成员的构造函数的调用顺序,说法正确的是( )。A

5、.与它们在成员初始化列表中给出的顺序相同B.与析构函数的调用顺序相同C.与它们在类中说明顺序相同D.以上说法都不对答案:C17.有关类和对象的说法不正确的是( )。A.对象是类的一个实例B.一个类只能有一个对象C.任何一个对象只能属于一个具体的类D.类与对象的关系和数据类型和变量的关系相似答案:B18.关于类和对象不正确的说法是( )。A.类是一种类型,它封装了数据和操作B.对象是类的实例C.一个类的对象只有一个D.一个对象必属于某个类答案:C19.在C+中,要实现动态联编,可以使用( )调用虚函数。A.类名B.派生类指针C.对象名D.基类指针答案:D20.下面描述中,错误的是( )。A.在基

6、类定义的public成员在公有继承的派生类中可见,也能在类外被访问B.在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问C.在基类定义的public和protected成员在保护继承的派生类中可见D.在派生类中不可见的成员要变成可访问的,需要进行访问声明答案:B二、多选题 (共 5 道试题,共 10 分)21.已知Circle类定义如下所示,则下列说法正确的是( )。 class Circle public: double m_x,m_y; double m_radius; void setCenter(double x,double y) m_x=x;

7、 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答案:AB22.对静态成员的错误描述是( )。A.静态成员不属于对象,是类的共享成

8、员B.静态数据成员要在类外定义和初始化C.调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针D.静态成员函数可以操作非静态数据成员答案:CD23.下列关于函数模板的描述中,正确的是( )。A.函数模板和普通函数重载时,函数调用会优先调用符合要求的普通函数B.函数模板和普通函数重载时,函数调用会优先调用符合要求的函数模板C.函数模板的主要作用是减少可执行程序文件的尺寸D.函数模板的主要作用是简化程序编写答案:AD24.下面对析构函数的正确描述是( )。A.系统可以提供默认的析构函数B.析构函数必须由用户定义C.析构函数没有参数D.析构函数可以设置默认参数答案:AC25.当类的

9、继承方式为公有继承时,基类的()成员的访问属性在派生类中不变A.公有成员B.保护成员C.私有成员D.友元成员答案:AB三、判断题 (共 10 道试题,共 20 分)26.在线性表的链式存储结构中,插入和删除操作时,元素移动次数与插入和删除元素的位置有关。答案:错误27.线性表中的元素可以是任意类型的,但同一线性表中的数据元素必须具有相同的类型。答案:正确28.getline()函数从流中提取终止字符,但终止字符被丢弃。答案:正确29.在面向对象程序设计中,每个对象可以单独设置属性值。答案:正确30.在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。答案:正确31.对链表进行插入和删除

10、操作时不必移动链表中的结点。答案:正确32.一个类的构造函数中可以不包含对其子对象的初始化。答案:错误33.对象成员的访问与结构变量成员的访问相同,使用运算符.或-。答案:正确34.对于树中的任一结点,如果其各棵子树的相对次序被用来表示数据之间的关系,即交换子树位置会改变树所表示的内容,则称该树为有序树;否则称为无序树。答案:正确35.线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻。答案:正确四、主观填空题 (共 2 道试题,共 20 分)36.下面的程序是在SHUZU类中重载运算符,程序的运行结果为“B4=6”,请将程序补充完整。#include using name

11、space std;class SHUZU private: int *v; int s;public: SHUZU( int a, int n ); SHUZU( ) delete v; int size() return s; int;SHUZU:SHUZU(int a, int n) if( n=0 ) v=NULL;s=0;return; s=n; v= new ints ; for(int i=0; in; i+)vi=ai;int& SHUZU:operator(int i)return vi;int main()int b7=0,2,3,4,6,7,10;SHUZU B(b,7)

12、;coutB4=#;return 0;答案:operator、B437.下面的程序是在str类中重载运算符=,请将程序补充完整,使程序的输出结果为:heshehehe#include using namespace std;class strprivate: char *st;public: str(char *a) set(a); str & operator=(# ) delete st; set(a.st); return *this; void show() coutstendl; str() delete st; void set(char *s) st=new charstrlen

13、(s)+1; strcpy(st,s); ;int main()str s1(he),s2(she);s1.show();s2.show();#;s1.show();s2.show();答案:operator=、s2=s1五、问答题 (共 1 道试题,共 10 分)38.读程序写结果题,具体题目内容如下:已知顺序表类模板的C+描述如下:templateclass LinearListpublic: LinearList(int LLMaxSize); /构造函数,创建空表 LinearList(); /析构函数,删除表 LinearList& Insert(int k,const T& x);/在第k个位置插入元素x,返回插入后的线性表 bool IsEmpty() const; /判断表是否为空,表空返回true,表非空返回false int GetLength() const; /返回表中数据元素的个数 bool GetData(int k,T& x); /将表中第k个元素保存到x中,不存在则返回false bool ModifyData(in

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

最新文档


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

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