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

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

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

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

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

    1、二级 C+笔试-261 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于继承的描述中,错误的是( )。(分数:2.00)A.析构函数不能被继承B.派生类是基类的组合C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类保持不变2.静态数据成员是为( )的数据。(分数:2.00)A.私有B.保护C.所有对象共享D.类成员3.有如下类声明:class MyBASEint k;public:void set(int n)k=n;int get()constreturn k;class MyD

    2、ERIVED:protected MyBASEprotected:int j:public:void set(int m,int n)MyBASE:set(m);j=n;int get()constreturn MyBASE:get()+j;则类 MyDERIVED 中保护的数据成员和成员函数的个数是( )。(分数:2.00)A.4B.3C.2D.14.下列程序的输出结果是_。#includeiostreamusing namespace std;class Test(public:Test() cnt+;Test() cnt-;static int Count()return cnt;pri

    3、vate:static int cnt;int Test:cnt=0;int main()coutTest:Count()“;Test t1,t2;Test*pT3=new Test;Test*pT4=new Test;coutTest:Count()“;delete pT4;delete pT3;coutTest:Count()end1;return 0;(分数:2.00)A.024B.042C.420D.2405.在下列函数原型中,可以作为类 AA 构造函数的是( )。(分数:2.00)A.void AA(int);B.int AA();C.AA(int)const;D.AA(int);6

    4、.假定 a=3,下列程序的运行结果是( )。#includeiostream.hint fun(int n);void main()cout“Please input a number:“;int a,result=0;cina;result=fun((分数:2.00)A.;int fun()static int i=0;int s=1;s+=i;i+;return s;int main()int i,a=0;for(i=0;i5;i+)a+=fun();coutaend1;return 0;程序运行后,输出的结果是( )。(分数:2.00)A.20B.24C.25D.159.下列程序输出的结

    5、果是( )。#includestdio.hfun1(char a,char b) char c;c=a;a=b;b=c;fun2(char*a,char b) char c;c=*a;*a=b;b=c;fun3(char*a,char*b) char c;c=*a;*a=*b;*b=c;void main()char a,b;a=A;b=B; fun1 (a,b);putchar((分数:2.00)A.;putchar(B.;a=10.下列叙述中错误的是( )。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关C.数据的存储结构与数据的处理效率密切

    6、相关D.数据的存储结构在计算机中所占的空间不一定是连续的11.若有如下程序:#includeiostreamusing namespace std;class Apublic:A(int i,int j)a=i;b=j;void move(int x,int y)a+=x;b+=y;void show()couta“,“bend1;private:int a,b; class B:private Apublic:B(int i,int j):A(i,j) void fun()move(3,5);void f1()A:show();int main()B d(3,4);d.fun();d.f1(

    7、);return 0;程序执行后的输出结果是( )。(分数:2.00)A.3,4B.6,8C.6,9D.4,312.下列程序运行后的输出结果是( )。#includeiostream.hvoid fun(int,int,int*);void main()int x,y,z;fun(5,6,fun(7,x,fun(x,y,coutx“,“y“,“zend1;void fun(int a,int b,int *c)b+=a;*c=b-a;(分数:2.00)A.5, 5, 5B.6, 6, 6C.5, 6, 7D.7, 7, 713.下列程序的执行结果是_。#includeiostream.h#in

    8、cludestdlib.hclass TestClasspublic:int x,y;TestClass () x=y=0;TestClass (int a,int b)x=a;y=b;void disp()cout“x=“x“,y=“yend1;void main()TestClass s1(2,3);s1.disp();(分数:2.00)A.x=2,y=2B.x=2,y=3C.x=3,y=2D.x=3,y=314.如果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。(分数:2.00)A.变量 a 的值,即 3B.变量 a 的地址值C.变量 p 的地址值D.无意

    9、义15.对虚函数的调用( )。(分数:2.00)A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编16.函数 swap(a,n)可完成对 a 数组从第 1 个元素到第 n 个元素两两交换。其中 b0=1;b1=2;swap(b,2)。在运行调用函数中的语句后,b0和 b1的值分别为( )。(分数:2.00)A.1,1B.1,2C.2,2D.2,117.下列程序的运行结果是( )。#includeiostream.hint x=5;int fun(int(分数:2.00)A.class A public:A()cout“A“;classBpublic:B()cou

    10、t“B“;classC:public AB b;public:C()cout“C“;int main() C obj; return 0;执行后的输出结果是( )。(分数:2.00)A.CBAB.BACC.ACBD.ABC23.下列特征中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化24.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n 个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件D.线性表可以是空表25.下列字符串中,正确的 C+标识符是( )。(分数:2.00)A.foo-1B.2b

    11、C.newD.25626.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.nD.n+127.下列程序将 x、y 和 z 按从小到大的顺序排列,请将下面的函数模板补充完整。templateclass Tvoid fun (_)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)A.T x,T y,T zB.T x;y;zC.T class BASEpublic:BASE()cout“BASE“;class DERIVED:public BASE

    12、public:DERIVED()cout“DERIVED“;int main()DERIVED x;return 0;执行后的输出结果是( )。(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE34.关于在调用模板函数时模板实参的使用,下列表述正确的是( )。(分数:2.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任

    13、何情况下都不能省略35.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.N-SD.DFD二、填空题(总题数:15,分数:30.00)36.算法的复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_37.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 1。(分数:2.00)填空项 1:_38.树中度为零的结点称为 1。(分数:2.00)填空项 1:_39.在面向对象方法中,类之间共享属性和方法的机制称为 1。(分数:2.00)填空项 1:_40.软件是程序、数据和 1 的集合。(分数:2.00)填空项 1:_41.请将下列类定义补

    14、充完整。class Base(public:void fun()cout“Base:fun“end1;class Derived:public Basepublic:void fun()_/显式调用基类的 fun 函数cout“Derived:fun“end1;(分数:2.00)填空项 1:_42.有如下程序:#includeiostreamusing namespace std;class Conchar ID;public:Con():ID(A) cout1;Con(char ID) :ID(ID) cout2;Con(Con char get1D()constreturn ID;void

    15、 show(Con c) coutc.getID();int main()Con c1;show(c1);Con c2(B);show(c2);return 0;执行上面程序的输出是_。(分数:2.00)填空项 1:_43.将 x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为 1。(分数:2.00)填空项 1:_44.执行下列程序后,输出“*”号的个数是_。#includeiostream.hmain()int i,j;for(i=1;i5;i+)for(j=2;ji;j+)cout*;(分数:2.00)填空项 1:_45.指针变量所保存的不是一般的数据值,而是程序中另一个对象

    16、的 1。(分数:2.00)填空项 1:_46.阅读下面程序:#includeiostream.hvoid fun1(char a,char b)char c;c=a;a=b;b=c;void fun2(charc=a;a=b;b=c;void main()char a,b;a=x;b=y;fun1(a,b);coutab;a=x;b=y;fun2(a,b);coutab;则该程序的输出为_。(分数:2.00)填空项 1:_47.己知下列程序的输出结果是 42,请将横线处缺失的部分补充完整。#includeiostreamusing namespace std;class TestClassin

    17、t value;public:TestClass():value(0);void setValue(int value)_=value;/给 TestClass 的数据成员 value 赋值void print()coutvalue;int main()TestClass f;f.setValue(42);f.print();return 0;(分数:2.00)填空项 1:_48.若下列程序运行时输出结果为1,A,10.12,B,3.5请将程序补充完整。#includeiostreamusing namespace std;int main()void test(int,char,double

    18、_);test(1,A,10.1);test(2,B);return 0;void test(int a,char b,double c)couta,b,cend1;(分数:2.00)填空项 1:_49.非成员函数应声明为类的 1 函数才能访问这个类的 private 成员。(分数:2.00)填空项 1:_50.下列类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。class myClassprivate:int data;public:myClass(int value);/构造函数myClass(const_another Object);

    19、/拷贝构造函数(分数:2.00)填空项 1:_二级 C+笔试-261 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于继承的描述中,错误的是( )。(分数:2.00)A.析构函数不能被继承B.派生类是基类的组合C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类保持不变 解析:解析 派生类中继承的基类成员的访问权限到派生类会发生变化,例如:私有继承时,派生类不能访问基类的成员,所以选项 D) 错误,其他选项均正确。2.静态数据成员是为( )的数据。(分数:2.00)A.私有B.保护C.

    20、所有对象共享 D.类成员解析:解析 静态数据成员是一种特殊的数据成员。静态数据成员不属于某一个对象,在为对象所分配的空间中不包括静态数据成员所占的空间。所有对象共享这些静态数据成员,都可以引用它。3.有如下类声明:class MyBASEint k;public:void set(int n)k=n;int get()constreturn k;class MyDERIVED:protected MyBASEprotected:int j:public:void set(int m,int n)MyBASE:set(m);j=n;int get()constreturn MyBASE:get(

    21、)+j;则类 MyDERIVED 中保护的数据成员和成员函数的个数是( )。(分数:2.00)A.4B.3 C.2D.1解析:解析 因为在保护继承的情况下,基类中的公有成员 void set(int n)和 int get()const 在派生类中是保护成员,再加上派生类自身的保护成员 j,一共是 3 个保护成员。4.下列程序的输出结果是_。#includeiostreamusing namespace std;class Test(public:Test() cnt+;Test() cnt-;static int Count()return cnt;private:static int cn

    22、t;int Test:cnt=0;int main()coutTest:Count()“;Test t1,t2;Test*pT3=new Test;Test*pT4=new Test;coutTest:Count()“;delete pT4;delete pT3;coutTest:Count()end1;return 0;(分数:2.00)A.024B.042 C.420D.240解析:解析 此题考查的是类的构造函数与析构函数的调用。语句 coutTcst:Count()“;;输出“0”,因为 static 型变量 cnt 的默认值是 0;“T Test t1,t2;Test*pT3=new

    23、Test;Test*pT4=new Test;”调用 4 次类的构造函数,使得 cnt 的值增加到 4,并输出 4;然后 delete pT4;delete pT3;调用两次析构函数,cnt 的值变为 2,并输出 2。5.在下列函数原型中,可以作为类 AA 构造函数的是( )。(分数:2.00)A.void AA(int);B.int AA();C.AA(int)const;D.AA(int); 解析:解析 此题考查的是构造函数的概念。构造函数是类的一个特殊成员函数,它与类同名,并且没有返回值。选项 A)和选项 B)不符合要求。选项 C)中函数 AA 会更新对象的数据成员。6.假定 a=3,下

    24、列程序的运行结果是( )。#includeiostream.hint fun(int n);void main()cout“Please input a number:“;int a,result=0;cina;result=fun((分数:2.00)A.;result+=p;”语句。即执行 3 次 p=p*i,result=result+p, result 的结果为 9。返回的fun 函数结果为 9,即“coutresultend1;”输出 9。7.设计软件结构是在软件生命周期的( )。(分数:2.00)A.软件定义期B.软件开发期 C.软件维护期D.以上 3 个都不是解析:解析 设计软件结

    25、构,是在软件概要设计阶段进行的,而概要设计属于软件开发期。8.若有如下程序:#includeiostreamusing namespaee std;int fun()static int i=0;int s=1;s+=i;i+;return s;int main()int i,a=0;for(i=0;i5;i+)a+=fun();coutaend1;return 0;程序运行后,输出的结果是( )。(分数:2.00)A.20B.24C.25D.15 解析:解析 由主函数入手,在 for 循环中调用 fun 函数,其中调用次数为 5 次。fun 中 i 为静态变量,有效到文件结束。第一次调用 f

    26、un 后为 s=1,a=1;第二次调用后 s=2,a=3;第三次 s=3,a=6;第四次 s=4,a=10;第五次 s=5,a=15。9.下列程序输出的结果是( )。#includestdio.hfun1(char a,char b) char c;c=a;a=b;b=c;fun2(char*a,char b) char c;c=*a;*a=b;b=c;fun3(char*a,char*b) char c;c=*a;*a=*b;*b=c;void main()char a,b;a=A;b=B; fun1 (a,b);putchar((分数:2.00)A.;putchar(B.;a= 解析:解析

    27、 由程序中的主函数 main 入手,分别调用 fun1,fun2, fun3 函数,得出输出结果。其中,3 个函数都是实现的两个形参的交换功能,只是值传递的方式不同,有的是引用,有的是传值。第一个函数中参数采用的是值传递的方式,形参的变化不影响实参。所以 d 调用 fun1 后,实参 a 和 b 并没有交换,仍然是 AB。第二个调用中,实参 a 采用的是地址,即传递的是地址,所以形参 a 的改变会影响实参 a 的值,即 BB。同理,调用 fun3 后为 BA10.下列叙述中错误的是( )。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关 C.数据

    28、的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的解析:解析 数据的存储结构分为顺序结构和链式结构,一个数据的逻辑结构可以有多种存储结构顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素所占的存储空间不一定是连续的。数据的存储结构与数据的处理效率密切相关11.若有如下程序:#includeiostreamusing namespace std;class Apublic:A(int i,int j)a=i;b=j;void move(int x,int y)a+=x;b+=y;void show()couta“,“bend1;private

    29、:int a,b; class B:private Apublic:B(int i,int j):A(i,j) void fun()move(3,5);void f1()A:show();int main()B d(3,4);d.fun();d.f1();return 0;程序执行后的输出结果是( )。(分数:2.00)A.3,4B.6,8C.6,9 D.4,3解析:解析 此题的执行过程如下:首先 B d(3,4);语句调用 B 类的构造函数,B(int i,int j),B 的构造函数中调用基类 A 的构造函数,使得 a=3,b=4;d.fun()会调用函数 move(3,5),使得(3,4

    30、)和(3,5)的对应部分分别相加,最后输出 6,9。12.下列程序运行后的输出结果是( )。#includeiostream.hvoid fun(int,int,int*);void main()int x,y,z;fun(5,6,fun(7,x,fun(x,y,coutx“,“y“,“zend1;void fun(int a,int b,int *c)b+=a;*c=b-a;(分数:2.00)A.5, 5, 5B.6, 6, 6C.5, 6, 7D.7, 7, 7解析:解析 由程序中的 main 函数入手,分别调用 fun 函数,第一个调用中 x 参数为引用地址,调用后x 的值为 6,因为参

    31、数为地址,所以第二个调用中的 x 参数值为 6,调用后 y 的计算结果为 6。同理, z在第三个函数调用后 z 的值为 6。13.下列程序的执行结果是_。#includeiostream.h#includestdlib.hclass TestClasspublic:int x,y;TestClass () x=y=0;TestClass (int a,int b)x=a;y=b;void disp()cout“x=“x“,y=“yend1;void main()TestClass s1(2,3);s1.disp();(分数:2.00)A.x=2,y=2B.x=2,y=3 C.x=3,y=2D.

    32、x=3,y=3解析:解析 由主函数入手,定义了类 TestClass 的对象 s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应读是调用具有参数的“TestClass(int a,int b)x=a;y=b;)”。然后引用成员函数disp(),则输出为“cout”x=“x”,y=“yend1;”。即 x=2,y=3。14.如果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。(分数:2.00)A.变量 a 的值,即 3 B.变量 a 的地址值C.变量 p 的地址值D.无意义解析:解析 题目中的定义初始化是定义一个整型变量 a,初始化为 3。而“int*p

    33、=”是定义一个整型指针变量 p,将变量 a 的地址作为指针变量 p 的初值。*p 是指针变量 P 指向的存储单元,即变量值。所以*p 指向 a 的值 3。15.对虚函数的调用( )。(分数:2.00)A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编 解析:解析 虚函数在运行阶段和类的对象绑定在一起,这样成为动态联编。虚函数声明只能出现在类声明的虚函数原型中,而不能在成员的函数体实现时。必须由成员函数来调用成员函数来调用或者通过指针、引用来访问虚函数。如果通过对象名来访问虚函数,则联编在编译过程中认为是静态联编。16.函数 swap(a,n)可完成对 a 数组从

    34、第 1 个元素到第 n 个元素两两交换。其中 b0=1;b1=2;swap(b,2)。在运行调用函数中的语句后,b0和 b1的值分别为( )。(分数:2.00)A.1,1B.1,2C.2,2D.2,1 解析:解析 如果函数实参是数组名,形参也应为数组名,函数 swap 中形参进行了交换,实际上也是实参进行了交换。而且数组名代表数组首元素的地址,并不代表数组的全部元素。所以,swap(b,2)是数组b 第一个元素与第二个元素进行交换,即 b0与 b1,根据题干,知道答案为 2,1。17.下列程序的运行结果是( )。#includeiostream.hint x=5;int fun(int(分数:

    35、2.00)A.class A public:A()cout“A“;classBpublic:B()cout“B“;classC:public AB b;public:C()cout“C“;int main() C obj; return 0;执行后的输出结果是( )。(分数:2.00)A.CBAB.BACC.ACBD.ABC 解析:解析 此题考查的是类的继承和派生。系统首先要通过派生类的构造函数调用基类的构造函数,对基类成员初始化:然后对派生类中的新增成员初始化。23.下列特征中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化 解析:解析 面向对象

    36、设计方法与面向过程设计方法有本质的不同,其基本原理:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括分类性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。24.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n 个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件 D.线性表可以是空表解析:解析 线性表是一种线性结构,由 n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项 C) 是错误的。25.下列字符串中,正确的 C+

    37、标识符是( )。(分数:2.00)A.foo-1B.2bC.newD.256 解析:解析 此题考查的是 C+语言中标识符的定义。标识符由字母、数字或下划线构成,但第一个字符必须是字母或下划线:标识符中大小写字母是不同的;用户定义标识符时,不允许采用系统的关键字。26.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.n D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情

    38、况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。27.下列程序将 x、y 和 z 按从小到大的顺序排列,请将下面的函数模板补充完整。templateclass Tvoid fun (_)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)A.T x,T y,T zB.T x;y;zC.T class BASEpublic:BASE()cout“BASE“;class DERIVED:public BASEpublic:DERIVED()cout“DERIVED“;int main()DERI

    39、VED x;return 0;执行后的输出结果是( )。(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE 解析:解析 此题考查的是派生类的定义和使用。当对象被删除时,派生类的析构函数就被执行。由于析构函数不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相反。34.关于在调用模板函数时模板实参的使用,下列表述正确的是( )。(分数:2.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚

    40、拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略 解析:解析 此题考查的是模板实参的省略。模板实参在以下几种情况中不能省略,从模扳函数实参表获得的信息有矛盾;需要获得特定类型的返回值,而不管参数的类型如何;虚拟类型参数没有出现在模板函数的形参表中;函数模板含有常规形参。35.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.N-SD.DFD 解析:解析 需求分析常用的工具有数据流图(DFD) 、数据字典 (DD) ,判定树

    41、和判定表。PAD(问题分析图),PFD(程序流程图)、 N-S(盒式图)都是详细设计的常用工具,不是需求分析的工具。二、填空题(总题数:15,分数:30.00)36.算法的复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_ (正确答案:空间)解析:解析 衡量一个算法的复杂度有两个指标:时间复杂度和空间复杂度。前者用来衡量执行算法时所需要的计算工作量,而后者用来衡量执行算法所需要的存储空间。37.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 1。(分数:2.00)填空项 1:_ (正确答案:线性结构)解析:解析 数据的逻辑结构是指数据元素之间的逻辑关系,分为线

    42、性结构和非线性结构。常见的线性结构有线性表、栈和队列等,常见的非线性结构有树、二叉树等。38.树中度为零的结点称为 1。(分数:2.00)填空项 1:_ (正确答案:叶子结点)解析:解析 树中度为零的结点,也就是没有后件的结点,称为叶子结点。39.在面向对象方法中,类之间共享属性和方法的机制称为 1。(分数:2.00)填空项 1:_ (正确答案:继承)解析:解析 在面向对象的程序设计方法中,某些属性和方法是可以共享的,由子类从父类中继承而来,这样提高了软件的可重用性。40.软件是程序、数据和 1 的集合。(分数:2.00)填空项 1:_ (正确答案:相关文档)解析:解析 计算机软件是计算机系统

    43、中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。41.请将下列类定义补充完整。class Base(public:void fun()cout“Base:fun“end1;class Derived:public Basepublic:void fun()_/显式调用基类的 fun 函数cout“Derived:fun“end1;(分数:2.00)填空项 1:_ (正确答案:Base:fun();)解析:解析 此题考查的是成员函数的调用。因为横线处的作用是调用基类的 fun 函数,又因为派生类中也有 fun()函数,所以必须对 fun()函数加以限定,即 Base:fun()

    44、;。42.有如下程序:#includeiostreamusing namespace std;class Conchar ID;public:Con():ID(A) cout1;Con(char ID) :ID(ID) cout2;Con(Con char get1D()constreturn ID;void show(Con c) coutc.getID();int main()Con c1;show(c1);Con c2(B);show(c2);return 0;执行上面程序的输出是_。(分数:2.00)填空项 1:_ (正确答案:13A23B)解析:解析 Con c1 定义 c1 对象,

    45、调用 Con 的无参数构造函数,输出 1,ID 值变为 A,执行 show(c1)时会调用拷贝构造函数,将 c1 对象的值拷贝给 show()函数的形参,此时输出 3,然后在 show()中输出 c1 的 ID 值 A,Con c2(B)定义 c2 对象,调用 Con(char ID) 构造函数,输出 2,c2 的 ID 值为B,show(c2)执行时先调用拷贝构造函数输出 3,然后输出 B。因此程序输出结果为“13A23B”。43.将 x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为 1。(分数:2.00)填空项 1:_ (正确答案:x.operator+(operator*

    46、(y,z))解析:解析 运算符重载为成员函数的形式:函数类型 operator 运算符(形参表)函数体;运算符重载为友元函数的形式:friend 函数类型 operator 运算符(形参表)函数体;。一般来讲,单目运算符最好重载为成员函数,双目运算符最好重载为友元函数。运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即 y.operator*(z)或者 operator*(y,z);另一种是通过运算符构成表达式,即y*z。44.执行下列程序后,输出“*”号的个数是_。#includeiostream.hmain()int i,j;for(i=1;i5;i+)for(j=2;ji;j+)cout*;(分数:2.00)填空项 1:_ (正确答案:6)解析:解析 外层 for 循环“for(i=1;i5;i+)”是由 1 到 4,一共是 4 次循环。内层循环“for(j=2;j=i;j+)”是 j 初始等于 2,当 j 小于等于 i 那么 j 就加 1。所以只有当 i 等于 2 时才进入内层循环,当 i 等于 2 时,内层循环进行一次,输出一个“*”,同理 i=3 时,输出两个“*”, i=4 时,输


    注意事项

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




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

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

    收起
    展开