【计算机类职业资格】计算机二级考试C++模拟题四2014年及答案解析.doc

上传人:syndromehi216 文档编号:1338471 上传时间:2019-10-17 格式:DOC 页数:16 大小:95KB
下载 相关 举报
【计算机类职业资格】计算机二级考试C++模拟题四2014年及答案解析.doc_第1页
第1页 / 共16页
【计算机类职业资格】计算机二级考试C++模拟题四2014年及答案解析.doc_第2页
第2页 / 共16页
【计算机类职业资格】计算机二级考试C++模拟题四2014年及答案解析.doc_第3页
第3页 / 共16页
【计算机类职业资格】计算机二级考试C++模拟题四2014年及答案解析.doc_第4页
第4页 / 共16页
【计算机类职业资格】计算机二级考试C++模拟题四2014年及答案解析.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、计算机二级考试 C+模拟题四 2014 年及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(每小题 1 分,共 40 小题,共 40 分(总题数:40,分数:40.00)1.设计程序时,应采纳的原则之一是( )。(分数:1.00)A.程序的结构应有助于读者的理解B.限制 goto 语句的使用C.减少或取消注释行D.程序越短越好2.需求分析阶段的任务是确定( )。(分数:1.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能3.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。(分数:1.00)A.对象B.数据结构C.数据流D.目标4.下列叙述

2、中,不属于软件需求规格说明书的作用的是( )。(分数:1.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析5.对下列二叉树 (分数:1.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG6.SQL 语言又称为( )。(分数:1.00)A.结构化定义语言B.结构化控制语言C.结构化查询语苦D.结构化操纵语言7.下列叙述中正确的是( )。(分数:1.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的

3、各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的8.有下列二叉树,对此二叉树中序遍历的结果县( )。 (分数:1.00)A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ9.最简单的交换排序方法是( )。(分数:1.00)A.快速排序B.选择排序C.堆排序D.冒泡排序10.数据库设计包括两个疗面的设计内容,他们是( )。(分数:1.00)A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计11.下列关

4、于类和对象的叙述中,错误的是( )。(分数:1.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系12.在函数中,可以用 aut0、extern、register 和 static 这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。(分数:1.00)A.autoB.externC.registerD.static13.若变量已正确定义并赋值,以下符合 C语言语法的表达式是( )。(分数:1.00)A.a:=b1B.a=b=c2C.intl853D.a=a7=cb14.以下叙述中正确的是

5、( )。(分数:1.00)A.构成 C语言程序的基本单位是类B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义15.定义如下枚举类型 enumMonday,Tuesday,Wednesday,Thrusday,Friday=2;则下列选项正确的是( )。(分数:1.00)A.表达式 Wednesday=Friday 的值是 trueB.Dayday;day=3;C.Dayday;day=Monday3;D.Daydayday=Tuesday10;16.下列有关模板的叙述中,正确的是( )。(分数:1.00)A.函数模板不能含有

6、常规形参B.函数模板的一个实例就是一个函数定义C.类模板的成员函数不能是模板函数D.用类模板定义对象时,绝对不能省略模板实参17.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是( )。(分数:1.00)A.intoperator-(FunNumber);B.FunNumberoperator-();C.FunNumberoperator-(int);D.intoperator-(FunNumber,FunNumber);18.下列各组类型声明符中,含义相同的一组是( )。(分数:1.00)A.unsignedlongint 和 longB.signedshort 和 shor

7、tC.unsignedshort 和 shortD.shortint 和 int19.关于纯虚函数,下列表述中正确的是( )。(分数:1.00)A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类20.若已定义: inta=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中 0i9,则对 a 数组元素不正确的引用是( )。(分数:1.00)A.ap-aB.*(ai)C.piD.a1021.派生类的成员函数不能访问基类的( )。(分数:1.00)A.公有成员和保护成员B.公有成员C.

8、私有成员D.保护成员22.函数定义为 Fun(inti),变量定义 n=100,则下面调用正确的是( )。(分数:1.00)A.Fun(20);B.Fun(20n);C.Fun(n);D.Fun(n);23.有如下四个语句: coutfun();29.有以下程序: #include usingnamespacestd; classsample private: intn; public: sample() sample(intm) n=m: sampleadd(samplesl,samples2) this-n=s1ns2n; return(*this); voiddisp() cout(3,

9、5L);C.plus(3,5L);D.plus(3,5L);31.有以下程序; #include usingnamespacestd; classComplex public: Complex(doubler=0,doublei=O):re(r),im(i) doublereal()constreturnre; doubleimag()constreturnim; Complexoperator(Complexc)const returnComplex(reCre,imCim); private: doublere,im; ; intmain() Complexa=Complex(1,1)Co

10、mplex(5); coutshow(); voidfun2(Bref)refshow(); voidfun3(BB)bshow(); intmain() Bb,*p=newD; Dd; funl(p); fun2(b); fun3(d); return0; 程序的输出结果是( )。(分数:1.00)A.BBBB.BBDC.DBBD.DBD34.下面程序的输出结果是( )。 #include #include voidmain() charp110,p210; strcpy(p1,“abc“); strcpy(p2,“ABC“); charstr50=“xyz“: strcpy(str2,st

11、rcat(p1,p2); coutnext=b;D.(*p)next=q;36.设有程序段: intk=10。 while(k=O)k=k-1; 则下面描述中正确的是( )。(分数:1.00)A.循环执行 10 次B.无限循环C.循环体语句一次也不执行D.循环体语句执行一次37.有如下程序: #include usingnamespacestd; classA public: A()cout*、:、?:五个运算符不能重载。25.有如下的程序: #include #include usingnamespacestd; classMyString public: MyString(constcha

12、r*s); MyString()deletedata; protected: unsignedlem char*data; MyStrin9:MyString(constchar*s) len=strlen(s); data=newcharlen1; strcpy(data,s); intmain() MyStringa(“CPrograming“); MyStringb(a); return0; 在运行上面的程序时出错,出错的原因是( )。(分数:1.00)A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制的复制构造函数 C.构造对象 a 时实参与形参类型不符D.系统不能生成默认的

13、复制构造函数解析:【解析】C语言中当一个新对象被另一个已存在的同类型对象初始化时要调用复制构造函数,语句“MyStringb(a);“符合此条件,将调用类 MyString 的复制构造函数,但是类 MyString 没有定义此复制构造函数,所以会出错。26.有如下程序: #include usingnamespacestd; classMyClass public: MyClass()count;) MyClass()-count;) staticintgetCount()returncount; private: staticintcount; ; intMyClass:count=0; i

14、ntmain() MyClassobj; coutfun();解析:【解析】如果在子类中要访问父类的函数应用:运算符。29.有以下程序: #include usingnamespacestd; classsample private: intn; public: sample() sample(intm) n=m: sampleadd(samplesl,samples2) this-n=s1ns2n; return(*this); voiddisp() cout(3,5L);C.plus(3,5L);D.plus(3,5L); 解析:【解析】C中对函数模板的调用有时候只使用了函数实参,而没有使

15、用模板实参,模板实参都被省略了,但模板实参的省略并不是必然的,而是有条件的:从模板函数实参表获得的信息有矛盾;需要莸得特定类型的返回值,而不管参数的类型如何;虚拟类型参数不出现在模板函数的形参中;函数模板含有常规形参。题中定义的函数模板中虚拟类型参数 T2 没有出现在模板数的形参列表中,所以在调用时不能省略,D 选项的调用省略了 T3,这是允许的。31.有以下程序; #include usingnamespacestd; classComplex public: Complex(doubler=0,doublei=O):re(r),im(i) doublereal()constreturnre

16、; doubleimag()constreturnim; Complexoperator(Complexc)const returnComplex(reCre,imCim); private: doublere,im; ; intmain() Complexa=Complex(1,1)Complex(5); coutshow(); voidfun2(Bref)refshow(); voidfun3(BB)bshow(); intmain() Bb,*p=newD; Dd; funl(p); fun2(b); fun3(d); return0; 程序的输出结果是( )。(分数:1.00)A.BB

17、BB.BBDC.DBB D.DBD解析:【解析】本题考查的知识点是虚函数与多态性。在成员函数声明的前面加上 virtual 修饰,即把该函数声明为虚函数。在 C中,一个基类指针(或引用)可以用于指向它的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象类的那个重定义版本。故本题最终输出结果为 DBB。34.下面程序的输出结果是( )。 #include #include voidmain() charp110,p210; strcpy(p1,“abc“); strcpy(p2,“ABC“); charstr50=“xyz“: strcpy(str2

18、,strcat(p1,p2); coutnext=b;D.(*p)next=q; 解析:【解析】要把结点 b 连接到结点 a 之后,必须把 b 的地址给 a 的 next 指针,选项 A 中,指针变量q 保存的就是变量 b 的地址,选项 B 中的 P 是指针变量,应该是 P-next=b;在选项 D 中,用*运算符取出结构体变量,并且保存的就是 b 的地址,所以正确。36.设有程序段: intk=10。 while(k=O)k=k-1; 则下面描述中正确的是( )。(分数:1.00)A.循环执行 10 次B.无限循环C.循环体语句一次也不执行 D.循环体语句执行一次解析:【解析】while 中

19、表达式值一直为 0,故循环一次也不执行。37.有如下程序: #include usingnamespacestd; classA public: A()cout0是指 pij中的字符只要不是字符串结束标志0就继续循环,语句 j=2;是使下标 j 每次增加 2,即一个隔一个地从 pi所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从 p0所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从 p1所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果 s 中的值应该是 6385。二、程序改错题(18 分)(总题

20、数:1,分数:18.00)41.使用 VC60 打开考生文件夹下的源程序文件 1cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: member:1 member:10 member:100 注意:错误的语句在*error*的下面,修改该语句即可。其他的语句不能修改。 试题程序: #include inti=100; classTC public: TC(inti) couti=i9;(*this)i=i_9;或 TC:i=i9;”。 (2)“TCobj;”应改为“TCobj(1);”。 (3)“cout=MaxData) MaxData=datai; MaxPos=i: retu

21、rnMaxPos; )解析: 【解析】本题考查的是查找最大值算法。根据题意,首先检查传入参数的合法性,如不合法或为空串,则返回-1,然后通过 for 循环遍历整个字符串,将最大值字符保存到 MaxData 内,并将最大位置保存给 MaxPos,最后返回 Max-Pos。四、综合应用题(18 分)(总题数:1,分数:18.00)43.用 VC60 打开考生文件夹下的源程序文件 3cpp,这个工程完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化 Num2 的值为 j,请在注释 1 后添加适当的语句。 (2)补充全局函数 fun 使之能够调用类 TC 的成员变量,

22、请在注释 2 后添加适当的语句。 (3)初始化静态变量,请在注释 3 后添加适当的语句。 (4)修改注释 4 后的语句。使得程序输出以下内容: Num1=7 Num2=12 Num3=-7 Num1=6 Num2=9 Num3=-17 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 试题程序: #include classTC public: *1* TC(inti,intj) Num1=i: Num3-=i: voidPrint() cout“Numl=“ cout“Num2=“ cout“Num3=“ voidAdd(inti) Num3-=i: private: intNu

23、ml; constintNum2; staticintNum3; *2*; *3*voidfun( ) TCobj(5,9); objNuml=6; *4*objAdd( ); objPrint( ); voidmain( ) TCobj(7,12); objPrint( ); fun( ); return; (分数:18.00)_正确答案:( (1)“TC(inti,intj)”应改为“TC(inti,intj):Num2(j)”。 (2)应添加“friendvoidfun();”。 (3)应添加“intTC:Num3=0;”。 (4)“objAdd();”应改为“0bjAdd(5);”。)

24、解析: 【解析】本题考查了构造函数初始化列表、声明友元函数、初始化静态成员变量。第 1 处应该添加初始化 Num2 成员的语句,由于该成员为常成员,所以只能通过初始化列表初始化。第 2 处应添加将fun 函数声明为 TC 类友元的语句。静态成员变量需要在类外初始化,就像定义类的成员函数一样。可以将静态成员变量看成全局变量。Add 函数需要一个 int 型参数,从 Add 函数的定义来看,它将增加形参 i的值。由于 main 函数中先调用了一次 Print 成员函数,已经输出了 3 行数据,然后再调用 fun 函数的,所以 fun 函数中调用 Print 是输出后 3 行数据。Num3 在第 1 次输出时值为 10,fun 函数中创建 obj 对象时,又让其增加 1,而希望它最终的值是 16,所以不难得知,Add()中应传入 5 才能达到目的。

展开阅读全文
相关资源
猜你喜欢
  • FORD WSS-M1H837-A-2008 FABRIC MARTRE PATTERN WOVEN JACQUARD UNLAMINATED  TO BE USED WITH FORD WSS-M99P1111-A  《MARTRE图案的提花机织织物  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSS-M1H837-A-2008 FABRIC MARTRE PATTERN WOVEN JACQUARD UNLAMINATED TO BE USED WITH FORD WSS-M99P1111-A 《MARTRE图案的提花机织织物 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • FORD WSS-M1H838-A-2008 FABRIC BUSSAC PATTERN PILE KNITTED UNLAMINATED  TO BE USED WITH FORD WSS-M99P1111-A  《BUSSAC图案的不分层长毛绒针织织物  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSS-M1H838-A-2008 FABRIC BUSSAC PATTERN PILE KNITTED UNLAMINATED TO BE USED WITH FORD WSS-M99P1111-A 《BUSSAC图案的不分层长毛绒针织织物 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • FORD WSS-M1H839-A-2008 FABRIC KARINE FLAT WOVEN UNLAMINATED  TO BE USED WITH FORD WSS-M99P1111-A  《KARINE图案的不分层平织织物  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSS-M1H839-A-2008 FABRIC KARINE FLAT WOVEN UNLAMINATED TO BE USED WITH FORD WSS-M99P1111-A 《KARINE图案的不分层平织织物 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • FORD WSS-M1H841-A-2008 FABRIC HARLEQUIN II PATTERN WOVEN JACQUARD UNLAMINATED  TO BE USED WITH FORD WSS-M99P1111-A  《HARLEQUIN II图案的提花机织织物  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSS-M1H841-A-2008 FABRIC HARLEQUIN II PATTERN WOVEN JACQUARD UNLAMINATED TO BE USED WITH FORD WSS-M99P1111-A 《HARLEQUIN II图案的提花机织织物 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • FORD WSS-M1H842-A-2008 FABRIC BRONTE PATTERN PILE KNITTED  TO BE USED WITH FORD WSS-M99P1111-A  《BRONTE图案的长毛绒针织织物  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSS-M1H842-A-2008 FABRIC BRONTE PATTERN PILE KNITTED TO BE USED WITH FORD WSS-M99P1111-A 《BRONTE图案的长毛绒针织织物 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • FORD WSS-M1H844-A-2008 FABRIC KOMPASS PATTERN WOVEN JACQUARD UNLAMINATED  TO BE USED WITH FORD WSS-M99P1111-A  《KOMPASS图案的提花机织织物  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSS-M1H844-A-2008 FABRIC KOMPASS PATTERN WOVEN JACQUARD UNLAMINATED TO BE USED WITH FORD WSS-M99P1111-A 《KOMPASS图案的提花机织织物 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • FORD WSS-M1H845-A-2008 FABRIC MIRAGE PATTERN WOVEN JACQUARD UNLAMINATED  TO BE USED WITH FORD WSS-M99P1111-A  《海市蜃楼(MIRAGE)图案的提花机织织物  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSS-M1H845-A-2008 FABRIC MIRAGE PATTERN WOVEN JACQUARD UNLAMINATED TO BE USED WITH FORD WSS-M99P1111-A 《海市蜃楼(MIRAGE)图案的提花机织织物 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • FORD WSS-M1H846-A-2008 FABRIC INVER PETITE PATTERN WOVEN JACQUARD UNLAMINATED  TO BE USED WITH FORD WSS-M99P1111-A  《INVER PETITE图案的提花机织织物  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSS-M1H846-A-2008 FABRIC INVER PETITE PATTERN WOVEN JACQUARD UNLAMINATED TO BE USED WITH FORD WSS-M99P1111-A 《INVER PETITE图案的提花机织织物 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • FORD WSS-M1H847-A-2008 FABRIC INTRO PATTERN WOVEN JACQUARD UNLAMINATED  TO BE USED WITH FORD WSS-M99P1111-A  《INTRO图案的提花机织织物  与标准FORD WSS-M99P1111-A一起使用 》.pdf FORD WSS-M1H847-A-2008 FABRIC INTRO PATTERN WOVEN JACQUARD UNLAMINATED TO BE USED WITH FORD WSS-M99P1111-A 《INTRO图案的提花机织织物 与标准FORD WSS-M99P1111-A一起使用 》.pdf
  • 相关搜索

    当前位置:首页 > 考试资料 > 职业资格

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