欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C++笔试-54及答案解析.doc

    • 资源ID:1324682       资源大小:88KB        全文页数:29页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C++笔试-54及答案解析.doc

    1、二级 C+笔试-54 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.重载输入流运算符必须使用的原型为( )。(分数:2.00)A.istreamoperator(istream,类名);B.istreamoperator(istream,类名);C.istream operator(istream,类名);D.类名operator(istream,类名);2.需求分析阶段的任务是确定( )。(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能3.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间

    2、的关系是( )。(分数:2.00)A.DB 包括 DBS 和 DBMSB.DBMS 包括 DB 和 DBSC.DBS 包括 DB 和 DBMSD.没有任务关系4.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流D.目标5.有如下程序:#includeiostreamusing namespqce std;class TestClassprivate;char c;public;TestClass(char n):c(n)TestClass()coutc;class TestClass1:public TestClasspriva

    3、te:char c;public:TestClass1(char n):TestClass(n+1),c(n)TestClass1()coutc;int main()TestClass1 obj(x);return 0;执行上面的程序将输出( )。(分数:2.00)_6.有如下的程序:#includestring.h#includeiostream.husing namespace std;class MyStringpublic:MyString(const char *s);MyString()deletedata;protected:unsigned len;char *data;MyS

    4、tring:MyString(const char *s)len=strlen(s);data=new eharlen+1;strcpy(data,s);int main()MyString a(“C+ Programing“):MyString b(a);return 0;在运行上面的程序时出错,出错的原因是( )。(分数:2.00)A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制的拷贝构造函数C.构造对象 a 时实参与形参类型不符D.系统不能生成默认的拷贝构造函数7.关于纯虚函数,下列表述中正确的是( )。(分数:2.00)A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函

    5、数B.纯虚函数的声明总是以“=0”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类8.派生类对象对其基类中的什么成员是可访问的?( )(分数:2.00)A.公有继承的私有成员B.私有继承的公有成员C.私有继承的保护成员D.保护继承的保护成员9.有以下程序:#includeiostreamusing namespace std;class Aprivate:int a;public:A(int i)a=i;void disp()couta“,“;class Bprivate:int b;public:B(int j)b=j;void disp()coutb“,“;class

    6、 C:public B,public Aprivate:int c;public:c(int k):A(k-2),B(k+2)c=k;void disp()a:disp();B:disp();coutcendl;int main()C obj(10);obj.disp();return 0;程序执行后的输出结果是( )。(分数:2.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,1010.有如下程序:#includeiostreamusing namespace std;class Testpublic:Test() n+=2;Test() n-=3;static

    7、 int getNum()return n;private:static int n;int Test:n=1;int main()Test *p=new Test;delete p;cout“n=“Test:getNum()endl;return 0;执行该程序的输出结果是( )。(分数:2.00)A.n=0B.n=1C.n=2D.n=311.若有以下定义:int a=1,2,3,4,5,6,7;char c1=b,c2=2;则数值不为 2 的表达式是( )。(分数:2.00)A.a1B.d-c1C.a3-c2D.c2-012.有如下语句序列:int k=0;dok+=5;cout$;whi

    8、le(k19);while(k-0)cout*;执行上面的语句序列输出字符“$”和“*”的个数分别是( )。(分数:2.00)_13.下列程序的输出结果是( )。#includeiostream.hvoid main()char *str=“12123434“;int x1=0,x2=0,x3=0,x4=0,i;for(i=0;stri!=/0;i+)switch(stri)case1:x4+;case2:x3+;case3:x2+;case4:x1+;coutx1“,“x2“,“x3“,“x4;(分数:2.00)A.8,6,4,1B.8,6,3,2C.8,8,4,1D.8,6,4,214.若

    9、变量已正确定义并赋值,以下符合 C+语言语法的表达式是( )。(分数:2.00)A.a:=b+1B.a=b=c+2C.int 18.5 % 3D.a=a+7=c+b15.针对数组定义 int data10;,下列表述中错误的是( )。(分数:2.00)A.用*data 可访问到数组的首元素B.用 data9可访问到数组的末元素C.用 data10访问数组元素会超出数组边界D.data 共有 10 个元素,其首元素是 data-116.以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是( )。(分数:2.00)A.ofstream myfile;myfile.open(“d:ofile.

    10、txt“);B.ofstream *myfile=new ofstream;myfile-open(“d:ofile.txt“);C.ofstream myfile(“d:ofile.txt“);D.ofstream *myfile=new(“d:ofile.txt“);17.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序18.已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为 90的元素时,查找成功的比较次数为( )。(分数:2.00)A.1B.2C.3D.919.下列对于软件测试的

    11、描述正确的是( )。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能地多发现程序中的错误D.软件测试的目的是使程序符合结构化原则20.有如下程序:#includeiostreamusing namespace std;class BASEpublic:BASE()cout“BASE“;);class DERIVED:public BASEpublic:DERIVED()cout“DERIVED“;int main()DERIVED x;return 0;执行后的输出结果是( )。(分数:2.00)A.BASEB.DERIVE

    12、DC.BASEDERIVEDD.DERIVEDBASE21.已知 int m=10;在下列定义引用的语句中,正确的是( )。(分数:2.00)A.int xm;B.int y=m;C.int z;D.int t=m;22.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性B.可行性C.有穷性D.拥有足够的情报23.下列叙述中正确的是( )。(分数:2.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间

    13、中的位置不一定是连续的,且各元素的存储顺序也是任意的24.有如下程序:#includeiostream.husing namespace std;class Basepublic:Base()cout“BB“;f();void f()cout“BF“;class Derived:public Basepublic:Derived()cout“DD“;void f()cout“Df“;int main()Derived d;return 0;)执行上面的程序将输出( )。(分数:2.00)A.BBBfDDB.BBDfDDDfC.DDD.DDBBBf25.下列符号中可以用做 C+标识符的是( )。

    14、(分数:2.00)A._radiusB.foobarC.elseD.3room26.下列关于运算符重载不正确的是( )。(分数:2.00)A.运算符重载不能改变运算符的操作数个数B.运算符重载不能改变运算符的优先级C.运算符重载不能改变运算符的结合性D.运算符重载能改变对预定义类型数据的操作方式27.类模板的使用实际上是将类模板实例化成一个具体的( )。(分数:2.00)A.类B.对象C.函数D.模板类28.已知枚举类型定义语句为:enum TokenNAME,NUMBER,PLUS=5,MINUS,PRINT=10);则下列叙述中错误的是( )。(分数:2.00)A.枚举常量 NAME 的值

    15、为 1B.枚举常量 NUMBER 的值为 1C.枚举常量 MINUS 的值为 6D.枚举常量 PRINT 的值为 1029.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以无返回值C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参30.有如下程序:#includeiostreamusing namespace std;class Apublic:virtual void func1()cout“A1“;void func2()cout“A2“;class B:public Apublic:vo

    16、id func1()cout“B1“;void func2()cout“B2“;int main()A *p:=new B;P-func1();p-func2();return 0;执行该程序,屏幕上将显示输出( )。(分数:2.00)A.B1B2B.A1A2C.B1A2D.A1B231.设计程序时,应采纳的原则之一是( )。(分数:2.00)A.程序的结构应有助于读者的理解B.限制 goto 语句的使用C.减少或取消注释行D.程序越短越好32.以下类定义中可能会引起错误的语句是( )。class Apublic:A()/1int i;/2private:int j;/3A(int i)i+;

    17、/4;(分数:2.00)A.1B.2C.3D.433.有下列二叉树,对此二叉树中序遍历的结果是( )。(分数:2.00)A.B.C.D.34.设有定义:class personint num;char name10;public:void init(int n,char *m);person std30则以下叙述不正确的是( )。(分数:2.00)A.std 是一个含有 30 个元素的对象数组B.std 数组中的每个元素都是 person 类的对象C.std 数组中的每个元素都有自己的私有变量 num 和 nameD.std 数组中的每个元素都有各自的成员函数 init35.有如下程序:#in

    18、cludeiostreamusing namespace std;class TestClasspublic:virtual void fun1()cout“fun1TestClass“;virtual void fun2()cout“fun2TestClass“;class TestClass1:public TestClassvoid fun()cout“fun1TestClass1“;int main()TestClass obj1,*p;TestClass1 obj2;p=obj2;p-fun1();p-fun2();return 0;该程序执行后的输出结果是( )。(分数:2.00)

    19、A.funITestClass1 fun2TestClassB.fun1TestClass1 fun2TestClass1C.fun1TestClass fun2TestClassD.fun1TestClass fun2TestClass1二、填空题(总题数:15,分数:30.00)36.在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,且每一个 1 实际上对应一个处理模块。(分数:2.00)填空项 1:_37.数据库的逻辑模型设计阶段的任务是将 1 转换成关系模式。(分数:2.00)填空项 1:_38.在面向对象程序设计中,从外面只能看到对象的外部特征,而无需知道数据的具体结构

    20、以及实现操作的算法,这称为对象的 1。(分数:2.00)填空项 1:_39.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于 1 中的一个阶段。(分数:2.00)填空项 1:_40.树中度为零的结点称为 1。(分数:2.00)填空项 1:_41.在任何类中都有三种访问权限的数据成员,分别是 public、private 和 1。(分数:2.00)填空项 1:_42.虚函数必须是类的 1。(分数:2.00)填空项 1:_43.内联函数是通过 1 来实现的,因此内联函数是真正的函数。(分数:2.00)填空项 1:_44.下列程序的运行结果是_。#includeiomanip.hin

    21、t Func(int *a,int n)int s=1;for(int i=0;in;i+)S*=*a+;return s;void main()int a=1,2,3,4,5,6,7,8;int b=Func(a,6)+Func(a5,2);cout“b=“bendl;(分数:2.00)填空项 1:_45.以下程序的执行结果为_。#includeiostream.hclass Apublic:A()cout“a“;A()cout“b“;class B:public Apublic:B()cout“c“;B()cout“d“;void main()B b;(分数:2.00)填空项 1:_46.

    22、请在下列程序中的横线处填写正确的语句。#includeiostreamusing namespace std;class Basepublic:void fun()cout“Base fun“endl;class Derivde:public Basepublic:void fun()_/ 调用基类的函数 fun()cout“Derived fun“endl;(分数:2.00)填空项 1:_47.在下面横线上填写适当的语句,完成程序。#includeiostreamusing namespace std;class Baseint x;public:Base(int i)x=i;Base();

    23、class Derived:public Basepublic:_/完成类 Derive 构造函数的定义;int main()Derived Obj;return 0;在横线处应填入的语句是_。(分数:2.00)_48.下列程序将 x、y 和 z 按从小到大的顺序排列,请将下面的函数模板补充完整。templateclass Tvoid order(_)T a;if(xy)a=x;x=y;y=a;if(yz)a=y;y=z;z=a;if(xy)a=x;x=y;y=a;(分数:2.00)填空项 1:_49.下列程序完成从文件读取、文件显示的同时写入第二个文件,则在程序中画线部分应该出现的语句是_。

    24、#includeiostream.h#includefstream.hvoid main()fstream file1,file2;char fn110,fn210,ch;cout“输入源文件名“;cinfn1;cout“输入目标文件名“;cinfn2;file1.open(fn1,ios:in);while(ch=file1.get()!=EOF)coutch;file2.put(ch);file1.close();file2.close();(分数:2.00)填空项 1:_50.operator 是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把

    25、该函数说明为 1 的。(分数:2.00)填空项 1:_二级 C+笔试-54 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.重载输入流运算符必须使用的原型为( )。(分数:2.00)A.istreamoperator(istream,类名); B.istreamoperator(istream,类名);C.istream operator(istream,类名);D.类名operator(istream,类名);解析:解析 C+流的输入运算符“”和输出运算符“”只能作为非成员函数重载。重载输入流运算符“”须使用的原型是 istream ope

    26、rator(istream ,类名);。2.需求分析阶段的任务是确定( )。(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能 解析:解析 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。3.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包括 DBS 和 DBMSB.DBMS 包括 DB 和 DBSC.DBS 包括 DB 和 DBMS D.没有任务关系解析:解析 数据库系统(DBS)由数

    27、据库(DBS)、数据库管理系统(DBMS)、数据库管理员、硬件平台和软件平台五个部分组成,可见 DB 和 DBMS 都是 DBS 的组成部分。4.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流 D.目标解析:解析 结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。5.有如下程序:#includeiostreamusing namespqce std;class TestClassprivate;char c;public;TestCla

    28、ss(char n):c(n)TestClass()coutc;class TestClass1:public TestClassprivate:char c;public:TestClass1(char n):TestClass(n+1),c(n)TestClass1()coutc;int main()TestClass1 obj(x);return 0;执行上面的程序将输出( )。(分数:2.00)_解析:解析 本题中 TestClass 为基类,TestClass1 为派生类。在主函数中定义 TestClass1 对象obj(x),“TestClass1(char n):TestClas

    29、s(n+1),c(n)6.有如下的程序:#includestring.h#includeiostream.husing namespace std;class MyStringpublic:MyString(const char *s);MyString()deletedata;protected:unsigned len;char *data;MyString:MyString(const char *s)len=strlen(s);data=new eharlen+1;strcpy(data,s);int main()MyString a(“C+ Programing“):MyString

    30、 b(a);return 0;在运行上面的程序时出错,出错的原因是( )。(分数:2.00)A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制的拷贝构造函数 C.构造对象 a 时实参与形参类型不符D.系统不能生成默认的拷贝构造函数解析:解析 C+语言中当一个新对象被另一个已存在的同类型对象初始化时要调用拷贝构造函数,语句”MyString b(a);”符合此条件,将调用类 MyString 的拷贝构造函数,但是类 MyString 没有定义此拷贝构造函数,所以会出错。7.关于纯虚函数,下列表述中正确的是( )。(分数:2.00)A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数

    31、B.纯虚函数的声明总是以“=0”结束 C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类解析:解析 纯虚函数是在声明虚函数时被“初始化”为 0 的虚函数。纯嘘函数没有函数体,纯虚函数的作用是在基类中为其派生类保留一个函数名称。8.派生类对象对其基类中的什么成员是可访问的?( )(分数:2.00)A.公有继承的私有成员B.私有继承的公有成员C.私有继承的保护成员D.保护继承的保护成员 解析:解析 本题考查关于 C+语言继承问题中派生类对基类的访问。C+语言中通常有三种继承修饰符,即 public、protected、private,限制依次严格,另外对类中的数据和函数也由这三种修

    32、饰符进行限制,有三种成员是不能继承的:公有继承基类的私有成员,私有继承基类的私有成员,保护继承基类的私有成员。9.有以下程序:#includeiostreamusing namespace std;class Aprivate:int a;public:A(int i)a=i;void disp()couta“,“;class Bprivate:int b;public:B(int j)b=j;void disp()coutb“,“;class C:public B,public Aprivate:int c;public:c(int k):A(k-2),B(k+2)c=k;void disp

    33、()a:disp();B:disp();coutcendl;int main()C obj(10);obj.disp();return 0;程序执行后的输出结果是( )。(分数:2.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,10 解析:解析 本题中,派生类 C 具有多重继承关系,所以在派生类 C 的构造函数中应该包含基类 A 和类B 的成员初始化列表。10.有如下程序:#includeiostreamusing namespace std;class Testpublic:Test() n+=2;Test() n-=3;static int getNum()

    34、return n;private:static int n;int Test:n=1;int main()Test *p=new Test;delete p;cout“n=“Test:getNum()endl;return 0;执行该程序的输出结果是( )。(分数:2.00)A.n=0 B.n=1C.n=2D.n=3解析:解析 本题考查静态数据成员和静态成员函数。静态数据成员是类中所有对象共享的成员,而不是某个对象的成员。题目中的静态数据成员 n 的运算具有叠加性,执行“n+=2”和“n-=3”后 n 的值为0。11.若有以下定义:int a=1,2,3,4,5,6,7;char c1=b,c

    35、2=2;则数值不为 2 的表达式是( )。(分数:2.00)A.a1B.d-c1C.a3-c2D.c2-0 解析:解析 字符在进行数学运算时取其 ASC码值,其中b的 ASC码值为 98,d的 ASC码值为100,字符2的 ASC码值为 50。可知 D 选项中表达式 c2-0 的值为 50。12.有如下语句序列:int k=0;dok+=5;cout$;while(k19);while(k-0)cout*;执行上面的语句序列输出字符“$”和“*”的个数分别是( )。(分数:2.00)_解析:解析 本题首先执行语句 dok+=5;cout$;13.下列程序的输出结果是( )。#includeio

    36、stream.hvoid main()char *str=“12123434“;int x1=0,x2=0,x3=0,x4=0,i;for(i=0;stri!=/0;i+)switch(stri)case1:x4+;case2:x3+;case3:x2+;case4:x1+;coutx1“,“x2“,“x3“,“x4;(分数:2.00)A.8,6,4,1B.8,6,3,2C.8,8,4,1D.8,6,4,2 解析:解析 本题考查循环的嵌套、for 和 switch 语句的应用、C+中各种条件判断,循环语句的用法。只要注意在 C+语言中,系统在字符指针的最后位置会增加一个字符串结束符/0,执行

    37、8 次 for 循环,再根据 switch 语句中的条件易知答案。14.若变量已正确定义并赋值,以下符合 C+语言语法的表达式是( )。(分数:2.00)A.a:=b+1B.a=b=c+2 C.int 18.5 % 3D.a=a+7=c+b解析:解析 本题考查 C+语言的正确赋值方法。a=b=c+2 实际上相当于 a=(b=c+2),进而可分解为两个表达式 b=c+2 和 a=b。选项 A 中包含一个不合法的运算符“:=“;选项 C 应改为(int)18.5%3;选项 D 可理解为两个表达式 a+7=c+b 和 a=a+7,其中第一个是错的,因为 C+语言规定赋值号的左边只能是单个变量,不能是

    38、表达式或常量。15.针对数组定义 int data10;,下列表述中错误的是( )。(分数:2.00)A.用*data 可访问到数组的首元素B.用 data9可访问到数组的末元素C.用 data10访问数组元素会超出数组边界D.data 共有 10 个元素,其首元素是 data-1 解析:解析 数组元素的下标是从 0 到数组长度-1,所以数组 data 的首元素是 data0,尾元素是data9。其他选项的描述都是正确的。16.以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是( )。(分数:2.00)A.ofstream myfile;myfile.open(“d:ofile.txt

    39、“);B.ofstream *myfile=new ofstream;myfile-open(“d:ofile.txt“);C.ofstream myfile(“d:ofile.txt“);D.ofstream *myfile=new(“d:ofile.txt“); 解析:解析 本题考查文件对象的创建方法。可以直接定义文件对象,也可以用。new 来动态生成。很明显,选项 D 中使用 new 的方式是错误的。17.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:解析 交换排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和

    40、快速排序。冒泡排序是一种最简单的交换排序方法,它通过相邻元素的交换,逐步将线性表变得有序。18.已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为 90的元素时,查找成功的比较次数为( )。(分数:2.00)A.1B.2 C.3D.9解析:解析 根据二分法查找法需要两次:(1)首先将 90 与表中间的元素 50 进行比较,由于 90 大于50,所以在线性表的后半部分查找。(2)第二次比较的元素是后半部分的中间元素,即 90,这时两者相等,即查找成功。19.下列对于软件测试的描述正确的是( )。(分数:2.00)A.软件测试的目的是证

    41、明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能地多发现程序中的错误 D.软件测试的目的是使程序符合结构化原则解析:解析 软件测试是为了尽可能多地发现程序中的错误,尤其是发现至今尚未发现的错误。20.有如下程序:#includeiostreamusing namespace std;class BASEpublic:BASE()cout“BASE“;);class DERIVED:public BASEpublic:DERIVED()cout“DERIVED“;int main()DERIVED x;return 0;执行后的输出结果是( )。(分数:2.00)A

    42、.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE 解析:解析 本题考查派生类的定义和使用。当对象被删除时,派生类的析构函数就被执行。由于析构函数不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相反。所以当 main 函数结束时,派生类 DERIVED 的对象 x 将被删除,那么派生类 DERIVED 的析构函数先被调用,输出 DERIVED,然后调用基类的析构函数输出 BASE。21.已知 int m=10;在下列定义引用的语句中,正确的是( )。(分数:2

    43、.00)A.int xm; B.int y=m;C.int z;D.int t=m;解析:解析 C+的引用是一种赋值、发送和返回复杂数据结构的方法,建立引用的格式为:类型-引用名=已定义的变量名。所以只有 A 选项是符合要求的。22.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性 B.可行性C.有穷性D.拥有足够的情报解析:解析 作为一个算法,一般应该具有下列四个特征:可行性,即考虑到实际的条件能够达到一个满意的结果;确定性,算法中的每一个步骤都必须是有明确定义的;有穷性,一个算法必须在有限的时间内完成;拥有足够的情报。23.下列叙述中正确的是( )。(分数:2.0

    44、0)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的 解析:解析 在线性链表中,各元素在存储空间中的位置是任意的,各元素的顺序也是任意的,依靠指针来实现数据元素的前后关系。24.有如下程序:#includeiostream.husing namespace std;class Basepublic:Base()cout“BB“;f();void f()cout“BF“;clas

    45、s Derived:public Basepublic:Derived()cout“DD“;void f()cout“Df“;int main()Derived d;return 0;)执行上面的程序将输出( )。(分数:2.00)A.BBBfDD B.BBDfDDDfC.DDD.DDBBBf解析:解析 本题考查类的继承和派生。派生类执行构造函数的一般次序为:首先调用基类构造函数;然后调用成员对象的构造函数;最后是派生类构造函数中的内容。题目中定义派生类对象 d 时,先调用基类 Base 的构造函数,输出:BBBf,然后调用派生类 Derired 的构造函数,输出 DD。25.下列符号中可以用做 C+标识符的是( )。(分数:2.00)A._radius B.foobarC.elseD.3room解析:解析 本题考查的是标识符。标识符由数字、字母以及下画线构成。其第一个字符必须是字母或下画线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过 31 个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。26.下列关


    注意事项

    本文(【计算机类职业资格】二级C++笔试-54及答案解析.doc)为本站会员(deputyduring120)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开