书签 分享 收藏 举报 版权申诉 / 15
上传文档赚钱

类型《程序设计基础(下)》20春期末考核答案.docx

  • 上传人(卖家):2023DOC
  • 文档编号:5762767
  • 上传时间:2023-05-06
  • 格式:DOCX
  • 页数:15
  • 大小:14.99KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《程序设计基础(下)》20春期末考核答案.docx》由用户(2023DOC)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    程序设计基础下 程序设计 基础 20 期末 考核 答案
    资源描述:

    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&#(int i);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;SHU

    12、ZU B(b,7);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 c

    13、harstrlen(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,con

    14、st T& x);/在第k个位置插入元素x,返回插入后的线性表 bool IsEmpty() const; /判断表是否为空,表空返回true,表非空返回false int GetLength() const; /返回表中数据元素的个数 bool GetData(int k,T& x); /将表中第k个元素保存到x中,不存在则返回false bool ModifyData(int k,const T& x);/将表中第k个元素修改为x,不存在则返回false int Find(const T& x); /返回x在表中的位置,如果x不在表中返回0 LinearList& DeleteByInde

    15、x(const int k, T& x);/删除表中第k个元素,并把它保存到x中,返回删除后的线性表 LinearList& DeleteByKey(const T& x,T& y);/删除表中关键字为x元素,返回删除后的线性表 void OutPut(ostream& out) const;/将线性表放到输出流out中输出private: int length; /当前数组元素个数 int MaxSize; /线性表中最大元素个数 T *element; /一维动态数组;int main() LinearList IntegerLList(10); int i,x; for(i=1;i11;i+) IntegerLList.Insert(i,i*5); for(i=2;i=3;i+) IntegerLList.DeleteByIndex(i,x); coutxendl; coutendl; return 0;请写出主函数main执行后在屏幕上的输出结果。答案:1020

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《程序设计基础(下)》20春期末考核答案.docx
    链接地址:https://www.163wenku.com/p-5762767.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库