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

    【计算机类职业资格】全国计算机等级考试二级C++真题2011年9月及答案解析.doc

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

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

    【计算机类职业资格】全国计算机等级考试二级C++真题2011年9月及答案解析.doc

    1、全国计算机等级考试二级 C+真题 2011年 9月及答案解析(总分:100.00,做题时间:90 分钟)一、(考试时间 90分钟,满分 100分)(总题数:35,分数:70.00)1.下列叙述中正确的是( )。 (分数:2.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对2.下列关于线性链表的叙述中,正确的是( )。 (分数:2.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三

    2、种说法都不对3.下列关于二叉树的叙述中,正确的是( )。 (分数:2.00)A.叶子结点总是比度为 2的结点少一个B.叶子结点总是比度为 2的结点多一个C.叶子结点数是度为 2的结点数的两倍D.度为 2的结点数是度为 1的结点数的两倍4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。 (分数:2.00)A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统5.某系统总体结构图如下图所示: (分数:2.00)A.7B.6C.3D.26.程序调试的任务是( )。 (分数:2.00)A.设计测试用例B.验证程序的正确性C.发现程序中的

    3、错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是( )。 (分数:2.00)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括( )。 (分数:2.00)A.概念模式B.内模式C.外模式D.数据模式9.有三个关系 R、S 和 T如下: (分数:2.00)A.自然连接B.差C.交D.并10.下列选项中属于面向对象设计方法主要特征的是( )。 (分数:2.00)A.继承B.自顶向下C.模块化D.逐步求精11.在对函数进行原型声明时,下列语法成分中,不需要的是( )。 (分数:2

    4、.00)A.函数返回类型B.函数参数列表C.函数名D.函数体12.下列关于 this指针的描述中,正确的是( )。 (分数:2.00)A.类的成员函数都有 this指针B.类的友元函数都有 this指针C.任何与类相关的函数都有 this指针D.类的非静态成员函数都有 this指针13.有如下类定义: class AA int a; public: AA(int n=0):a(n) ; class BB:public AA public: BB(intn)_ ; 其中横线处缺失部分是( )。 (分数:2.00)A.:a(n)B.:AA(n)C.a(n);D.a=n;)14.为类 Matrix重

    5、载下列运算符时,只能作为 Matrix类成员函数重载的运算符是( )。 (分数:2.00)A.+B.=C.D.+15.下列关于模板的描述中,错误的是( )。 (分数:2.00)A.类模板的成员函数都是模板函数B.函数模板是一种参数化类型的函数C.满足一定条件时可以省略模板实参D.模板形参只能由关键字 typename声明16.要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。 (分数:2.00)A.fstreamB.istrearaC.ostreamD.iomanip17.下列选项中,不是 C+关键字的是( )。 (分数:2.00)A.classB.functionC

    6、.friendD.virtual18.若有定义语句“int i=2, j=3;”,则表达式 i/j的结果是( )。 (分数:2.00)A.0B.0.7C.0.66667D.0.6666666719.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是( )。 (分数:2.00)A.if(a=B) n=0;B.if(aB) |(bC) )n=1; else n=0;C.if(aB) if(bC) n=h else n=0; else n=0;D.if(aB) n=1; else if(b=C) n=1; else if(bC) n=1; else n=0;20.有如下语句序列

    7、: int x=100, coutx-rend1: 己知其中变量 x的地址为0012FF7C,则执行该语句序列的输出结果为( )。 (分数:2.00)A.100-100B.100-0012FF7CC.0012FF7C-100D.0012FF7C-0012FF7C21.己知函数 f的原型是“void f(int*x, int ”,变量 v1、v2 的定义是“int v1, v2;”,下列调用语句中,正确的是( )。 (分数:2.00)A.f(v1, v2);B.f(v1, C.f(D.f(22.有如下类定义: class Sample public; Sample(int x):ref(x) /

    8、 private: Sample():ref(0) / static int va1=5; / const int ref; / ; 上述程序段中,错误的语句是( )。 (分数:2.00)A.B.C.D.23.有如下类定义: class B public: void fun1() private: void fun2() protected: void fun3() ; class D: public B protected: void fun4() ; 若 obj是类 D的对象,则下列语句中不违反访问控制权限的是( )。 (分数:2.00)A.obj. fun1();B.obj. fun2(

    9、);C.obj. fun3();D.obj. fun4();24.有如下类定义 class MyClass public: Private: int data; ; 若要为 MyClass类重载流输入运算符,使得程序中可以“cinobj;”形式输入 MyClass类的对象 obj,则横线处的声明语句应为( )。 (分数:2.00)A.friend istreamB.friend istreamC.istreamD.istream25.已知主函数中通过如下语句序列实现对函数模板 swap的调用: int a10, b10; swap(a, b, 10); 下列对函数模板 swap的声明中,会导致

    10、上述语句序列发生编译错误的是( )。 (分数:2.00)A.B.C.D.26.若目前 D盘根目录下并不存在 test. txt文件,则下列打开文件方式不会自动创建 test.txt文件的是( )。 (分数:2.00)A.ifstream fin; fin. open(“d:/test.txt“, ios_base:in);B.fstream fio; fio. open(“d:/test. txt”, ios_base:out);C.ofstream fout; fout. open(“d:/test. txt”, ios_base:out);D.ofstream fout; fout. op

    11、en(“d:/test. txt”, ios_base:app);27.已知类 Myclass的定义如下 class MyClass public: void function1(MyClass void function3()coutdata; staric void function4()coutdata; private: int data; ; 其中有编译错误的函数是( )。 (分数:2.00)A.function1B.function2C.function3D.function428.有如下程序: #includeiostream using namespace std; class

    12、 MyClass public: MyClass() cout*;) MyClass(MyClass) MyClass() cout;) ; int main(); MyClass a; Myclass b(A) ; return 0; 运行时的输出结果是( )。 (分数:2.00)A.*#B.#*C.*#D.#*29.已知类 Myclass的定义如下: class MyClass public: MyClass(int D) data=d; MyClass () private: int data; ; 下列对 Myclass类对象数组的定义和初始化语句中,正确的是( )。 (分数:2.00

    13、)A.MyClass arrays2;B.MyClass arrays2=MyClass(5);C.MyClass arrays2=MyClass(5), MyClass(6);D.MyClass*arrays=new MyClass2;30.有如下程序: class Base public: int data; ; class Derived1:public Base; class Derived2:protected Base; int main() Derived1 d1; Derived2 d2; d1. data=0; / d2. data=0; / return 0; 下列关于程序

    14、编译结果的描述中,正确的是( )。 (分数:2.00)A.皆无编译错误B.有编译错误,无编译错误C.无编译错误,有编译错误D.皆有编译错误31.有如下程序: #includeiostream using namespace std; class Base1 public: Base1(int D) coutd; Base1() ; class Base2 public: Base2(int D) coutd; Base2 () ; class Derived:public Base1, Base2 public: Derived(int a, int b, int c, int D) ; Ba

    15、se1(B) , Base2(A) , b1(D) , b2(C) Private: int b1; int b2; ; int main() Derived d(1, 2, 3, 4); return 0; 运行时的输出结果是( )。 (分数:2.00)A.1234B.2134C.12D.2132.有如下程序: #includeiostream using namespace std; class Base public: virtual void function1()cout0; void function2()cout1; ; class Derived:public Base pub

    16、lic: void function1()cout2; void function2()cout3; ; int main() Base*P=new Derived(); p-function1(); p-function2(); return 0; ; 运行时的输出结果是( )。(分数:2.00)A.01B.21C.03D.2333.若为 Fraction类重载前增 1运算符+,应在类体中将其声明为( )。 (分数:2.00)A.FractionB.FractionD.friend Fraction34.有如下程序: #includeiomanip #includeiostream usin

    17、g namespace std; int main() coutsetfill(*)setw(6)123456; return 0; 运行时的输出结果是( )。 (分数:2.00)A.*123*456B.*123456*C.*123456D.12345635.有如下程序: #includeiostream using namespace std; void function2(int n); void function1(int n) if(n=0)retum; function2(n-2); void function2(int n) if(n=0)return; function1(n-1

    18、); int main() function1(5); return 0; 下列关于程序运行情况的描述中,正确的是( )。 (分数:2.00)A.function1运行 1次,function2 运行 2次B.function1运行 2次,function2 运行 1次C.function1运行 2次,function2 运行 3次D.function1运行 2次,function2 运行 2次二、填空题(每空 2分,共 30分)(总题数:14,分数:30.00)36.数据结构分为线性结构与非线性结构,带链的栈属于_【1】 1。 (分数:2.00)填空项 1:_37.在长度为 n的顺序存储的线

    19、性表中插入一个元素,最坏情况下需要移动表中 1【2】 2 个元素。 (分数:2.00)填空项 1:_38.常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD) ,则应采用 1【3】 2 方法。 (分数:2.00)填空项 1:_39.数据库系统的核心是_【4】 1。 (分数:2.00)填空项 1:_40.在进行关系数据库的逻辑设计时,E-R 图中的属性常被转换为关系中的属性,联系通常被转换为_【5】 1。 (分数:2.00)填空项 1:_41.若有“intx=15, y=20;”,则执行表达式 y-=x+后,表达式 x+y的值为 1【6】 2。 (分数:2

    20、.00)填空项 1:_42.执行语句序列“int k=0; do k+; while(k*k20);”后,k 的值为 1【7】 2。(分数:2.00)填空项 1:_43.下列程序运行时的输出结果是 1【8】 2。 #includeiostream using namespace std; int Xfun(int*a, int n); int main3 int b6=-2, 6, 8, -3, 5, 4); coutXfun(b, 6)end1; return 0; int Xfun(int*a, int n) int x=0; for(int*p=a; pa+n; p+)if(*p0)x+

    21、=*p; return X; (分数:2.00)填空项 1:_44.下列程序运行时的输出结果是_【9】 1。 #includeiostream using namespace std; void Xfun(int int main2 int a=3, b=4; Xfun(a, B) ; couta*a+bend1; return 0; void Xfun(int x=y; y=z; (分数:2.00)填空项 1:_45.若 Xcs是一个类,该类中具有一个函数体为空的不带参数的构造函数,此构造函数的类外定义为 1【10】 2。(分数:2.00)填空项 1:_46.有如下程序: #includei

    22、ostream using namespace std; class Sac int n; public: Sac1:n(4)coutn; Sac(int k):n(k)coutn; Sac2contn+n; ; int main3 Sac s1,*s2; s2=new Sac(3); delete s2; return 0; 运行时的输出结果是 4【11】 5。 (分数:2.00)填空项 1:_有如下两个类声明 class AA public: int m; ; class BB: protected AA int n; ; 在类 BB中,数据成员 m的访问属性是_【12】_,数据成员 n的

    23、访问属性是_【13】_。 (分数:4.00)填空项 1:_填空项 1:_47.已知类 Ben中将二元运算符“/”,重载为友元函数,若 c1、c2 是 Ben的两个对象当使用运算符函数进行显式调用时,与表达式 c1/c2等价的表示为_【14】 1。(分数:2.00)填空项 1:_48.C+中的模板分为函数模板和_【15】 1。(分数:2.00)填空项 1:_全国计算机等级考试二级 C+真题 2011年 9月答案解析(总分:100.00,做题时间:90 分钟)一、(考试时间 90分钟,满分 100分)(总题数:35,分数:70.00)1.下列叙述中正确的是( )。 (分数:2.00)A.算法就是程

    24、序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对 解析:解析 所谓算法是指解题方案的准确而完整的描述。是一组严谨地定义运算顺序的规则 并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法不等于程序,也不等于计算方法。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。2.下列关于线性链表的叙述中,正确的是( )。 (分数:2.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素

    25、 D.以上三种说法都不对解析:解析 线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。3.下列关于二叉树的叙述中,正确的是( )。 (分数:2.00)A.叶子结点总是比度为 2的结点少一个B.叶子结点总是比度为 2的结点多一个 C.叶子结点数是度为 2的结点数的两倍D.度为 2的结点数是度为 1的结点数的两倍解析:解析 由二叉树的性质可以知道在二叉树中叶子结点总是比度为 2的结点多一个。4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于

    26、应用软件的是( )。 (分数:2.00)A.学生成绩管理系统 B.C语言编译程序C.UNIX操作系统D.数据库管理系统解析:解析 学生成绩管理系统为应用软件。5.某系统总体结构图如下图所示: (分数:2.00)A.7B.6C.3 D.2解析:解析 这个系统总体结构图是一棵树结构,在树结构中,根结点在第 1层,同一层上所有了结点都在下层,由系统总体结构图可知,这棵树共 3层。在树结构中,树的最大层次称为树的深度。所以这棵树的深度为 3。6.程序调试的任务是( )。 (分数:2.00)A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误 解析:解析 所谓程序调试,是将

    27、编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。其任务是诊断和改正程序中的错误。7.下列关于数据库设计的叙述中,正确的是( )。 (分数:2.00)A.在需求分析阶段建立数据字典 B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典解析:解析 数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。分别是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。数据字典是对系统中数据的详尽描述,是各类数据属性的清单。对数据设计来讲,数据字典

    28、是进行详细的数据收集和数据分析所获得的主要结果。8.数据库系统的三级模式不包括( )。 (分数:2.00)A.概念模式B.内模式C.外模式D.数据模式 解析:解析 数据库系统的三级模式包括概念模式、外模式和内模式(物理模式)。9.有三个关系 R、S 和 T如下: (分数:2.00)A.自然连接B.差 C.交D.并解析:解析 由三个关系 R、S 和 T的结构可以知道,关系 T是由关系 R、S 经过差运算得到的。10.下列选项中属于面向对象设计方法主要特征的是( )。 (分数:2.00)A.继承 B.自顶向下C.模块化D.逐步求精解析:解析 面向对象设计方法的主要特征有封装性、继承性和多态性。而结

    29、构化程序设计方法的主要原则有自顶向下,逐步求精,模块化,限制使用 goto语句。11.在对函数进行原型声明时,下列语法成分中,不需要的是( )。 (分数:2.00)A.函数返回类型B.函数参数列表C.函数名D.函数体 解析:解析 在 C+中函数在使用之前要预先声明,这种声明在标准 C+中称为函数原型。函数给出了函数名、返回类型以及在调用函数时必须指明参数个数和类型。12.下列关于 this指针的描述中,正确的是( )。 (分数:2.00)A.类的成员函数都有 this指针B.类的友元函数都有 this指针C.任何与类相关的函数都有 this指针D.类的非静态成员函数都有 this指针 解析:解

    30、折 this 是成员函数所属对象的指针,它指向类对象的地址。成员函数通过这个指针可以知道自己属于哪一个对象。它隐藏于每个类的非静态成员函数中。13.有如下类定义: class AA int a; public: AA(int n=0):a(n) ; class BB:public AA public: BB(intn)_ ; 其中横线处缺失部分是( )。 (分数:2.00)A.:a(n)B.:AA(n) C.a(n);D.a=n;)解析:解析 根据派生类构造函数的一般格式:派牛类名(总参数表):基类名 1(参数表1), 基类名 n(参数表 n), 成员对象名 1(参数表 n+1), 成员对象名

    31、 m(参数表 n+m)派生类构造函数体。在派生类 BB的构造函数总参数表后面应该接上基类名 AA和其参数。14.为类 Matrix重载下列运算符时,只能作为 Matrix类成员函数重载的运算符是( )。 (分数:2.00)A.+B.= C.D.+解析:解析 在 C+中,=、()、-以及所有的类型转换运算符只能作为成员函数重载。15.下列关于模板的描述中,错误的是( )。 (分数:2.00)A.类模板的成员函数都是模板函数B.函数模板是一种参数化类型的函数C.满足一定条件时可以省略模板实参D.模板形参只能由关键字 typename声明 解析:解析 同一模板的声明和定义中,模板形参的名字不必相同。

    32、每个模板类型形参前面必须带上关键字 typename/class,每个非类型形参前面必须带上类型名字。16.要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。 (分数:2.00)A.fstreamB.istrearaC.ostreamD.iomanip 解析:解析 要使用 setw、fixed 等操作符,须包含 iomanip这个文件。17.下列选项中,不是 C+关键字的是( )。 (分数:2.00)A.classB.function C.friendD.virtual解析:解析 class、friend、virtual 都足 C+的关键字,而 funtion是 VB

    33、的关键字。18.若有定义语句“int i=2, j=3;”,则表达式 i/j的结果是( )。 (分数:2.00)A.0 B.0.7C.0.66667D.0.66666667解析:解析 由于变量 i、j 都是整型变量,所以两者相除所得的商也是整型数据。19.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是( )。 (分数:2.00)A.if(a=B) n=0;B.if(aB) |(bC) )n=1; else n=0;C.if(aB) if(bC) n=h else n=0; else n=0; D.if(aB) n=1; else if(b=C) n=1; else i

    34、f(bC) n=1; else n=0;解析:解析 条件表达式(ab?(bc?1:0):0)的含义是,如果 ab 成立,则此表达式的值等于条件表达式(bc?1:0)的值,否则其值等于 0。而条件表达式(bc?1:0)的含义是,如果 bc 成立,其值等于1,否则其值等于 0。20.有如下语句序列: int x=100, coutx-rend1: 己知其中变量 x的地址为0012FF7C,则执行该语句序列的输出结果为( )。 (分数:2.00)A.100-100 B.100-0012FF7CC.0012FF7C-100D.0012FF7C-0012FF7C解析:解析 在语句 int x=100,

    35、中声明 r初始化对 x的引用,所以 x和”,变量 v1、v2 的定义是“int v1, v2;”,下列调用语句中,正确的是( )。 (分数:2.00)A.f(v1, v2);B.f(v1, C.f( D.f(解析:解析 在函数 f的形参表达式中第一个形参为整型指针变量,第二个为整型引用变量,所以用实参 v1的指针初始化第一个形参,用实参 v2初始化第二形参。22.有如下类定义: class Sample public; Sample(int x):ref(x) / private: Sample():ref(0) / static int va1=5; / const int ref; / ;

    36、 上述程序段中,错误的语句是( )。 (分数:2.00)A.B.C. D.解析:解析 静态整型数据不能定义为类的数据成员。23.有如下类定义: class B public: void fun1() private: void fun2() protected: void fun3() ; class D: public B protected: void fun4() ; 若 obj是类 D的对象,则下列语句中不违反访问控制权限的是( )。 (分数:2.00)A.obj. fun1(); B.obj. fun2();C.obj. fun3();D.obj. fun4();解析:解析 派生类

    37、D公有继承父类 B,所以 obj可以访问基类 B的公有,不能访问其它成员。24.有如下类定义 class MyClass public: Private: int data; ; 若要为 MyClass类重载流输入运算符,使得程序中可以“cinobj;”形式输入 MyClass类的对象 obj,则横线处的声明语句应为( )。 (分数:2.00)A.friend istream B.friend istreamC.istreamD.istream解析:解析 C+的输入运算符作为非类成员函数重载。在一个类中,可将输入运算符声明为友元函数,在类 MyClass重载输入运算符的形式如选项 A) 所示。

    38、25.已知主函数中通过如下语句序列实现对函数模板 swap的调用: int a10, b10; swap(a, b, 10); 下列对函数模板 swap的声明中,会导致上述语句序列发生编译错误的是( )。 (分数:2.00)A.B. C.D.解析:解析 由题目中函数 swap(a, b, 10)调用语句可知,在对函数模板 swap的声明语句中,应将第一、二个参数设为数组变量,第二个参数为整型变量。26.若目前 D盘根目录下并不存在 test. txt文件,则下列打开文件方式不会自动创建 test.txt文件的是( )。 (分数:2.00)A.ifstream fin; fin. open(“d

    39、:/test.txt“, ios_base:in); B.fstream fio; fio. open(“d:/test. txt”, ios_base:out);C.ofstream fout; fout. open(“d:/test. txt”, ios_base:out);D.ofstream fout; fout. open(“d:/test. txt”, ios_base:app);解析:解析 如果以 iso_base:in模式打开文件但文件又不存在时,可以通过 fail()测出文件打开失败,不会自动创建文件。27.已知类 Myclass的定义如下 class MyClass pub

    40、lic: void function1(MyClass void function3()coutdata; staric void function4()coutdata; private: int data; ; 其中有编译错误的函数是( )。 (分数:2.00)A.function1B.function2C.function3D.function4 解析:解析 funcyion4()函数作为类的静态成员函数,不能直接访问类中说明的非静态成员,即coutdata 在编译时会出错。28.有如下程序: #includeiostream using namespace std; class MyC

    41、lass public: MyClass() cout*;) MyClass(MyClass) MyClass() cout;) ; int main(); MyClass a; Myclass b(A) ; return 0; 运行时的输出结果是( )。 (分数:2.00)A.*#B.#*C.*# D.#*解析:解析 程序在执行时,先创建类对象 a,输出*,再创建类对象 b,输出#,然后再依次调用类对象b和 a的析构函数,输出两个。29.已知类 Myclass的定义如下: class MyClass public: MyClass(int D) data=d; MyClass () priv

    42、ate: int data; ; 下列对 Myclass类对象数组的定义和初始化语句中,正确的是( )。 (分数:2.00)A.MyClass arrays2;B.MyClass arrays2=MyClass(5);C.MyClass arrays2=MyClass(5), MyClass(6); D.MyClass*arrays=new MyClass2;解析:解析 在选项 C) 中定义了类 MyClass对象数组 arrays2,并用对象 MyClass(5)和 MyClass(6)对这个数组中的两个元素赋初值。30.有如下程序: class Base public: int data;

    43、 ; class Derived1:public Base; class Derived2:protected Base; int main() Derived1 d1; Derived2 d2; d1. data=0; / d2. data=0; / return 0; 下列关于程序编译结果的描述中,正确的是( )。 (分数:2.00)A.皆无编译错误B.有编译错误,无编译错误C.无编译错误,有编译错误 D.皆有编译错误解析:解析 保护继承的类 Dervied2不能访问基类 Base中的公共数据成员 data。31.有如下程序: #includeiostream using namespac

    44、e std; class Base1 public: Base1(int D) coutd; Base1() ; class Base2 public: Base2(int D) coutd; Base2 () ; class Derived:public Base1, Base2 public: Derived(int a, int b, int c, int D) ; Base1(B) , Base2(A) , b1(D) , b2(C) Private: int b1; int b2; ; int main() Derived d(1, 2, 3, 4); return 0; 运行时的输

    45、出结果是( )。 (分数:2.00)A.1234B.2134C.12D.21 解析:解析 程序在创建派生类对象 d时,分别调用基类 Base1和 Base1的构造函数。32.有如下程序: #includeiostream using namespace std; class Base public: virtual void function1()cout0; void function2()cout1; ; class Derived:public Base public: void function1()cout2; void function2()cout3; ; int main()

    46、Base*P=new Derived(); p-function1(); p-function2(); return 0; ; 运行时的输出结果是( )。(分数:2.00)A.01B.21 C.03D.23解析:解析 函数 function1()在基类 Base中定义为虚成员函数,而在派生类 Dervied中重新进行了定义,输出字符 2,函数 function2()在基类 Base中定义虚成员函数。在主函数中使用指向基类的指针变量p访问 function2()时,输出 1。33.若为 Fraction类重载前增 1运算符+,应在类体中将其声明为( )。 (分数:2.00)A.Fraction B.FractionD.friend Fraction解析:解析 在类 Fraction中重载前增 1运算符+时,其声明形式为 Fraction 在类Fraction中重载后增 1运算符+时,其声明形式为 Fraction 。34.有如下程序: #includeiomanip #includeiostream using namespace std; int main() coutsetfill(*)setw(


    注意事项

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




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

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

    收起
    展开