2014年全国计算机等级《二级C++》考前押密试卷(2)

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

试卷介绍: 2014年全国计算机等级《二级C++》考前押密试卷(2)

开始答题

试卷预览

  • 1. 请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:ThereisawhitedognamedHoh0.ThereisablaCkdognamedHaha.ThereisamotleydognamedHihi.注意:只修改每个//ERROR****found****女料下的那一行,不要改动程序中的其他内容。#inCludeusingnamespaCestd;//狗的颜色:黑、白、黄、褐、花、其他enumDOGCOLOR{BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER};ClassDog{//狗类DOGCOLORColor;Charname[20];statiCintCount;publiC:Dog(CharnalTle[],DOGCOLORColor){strCpy(this一>name,name);//ERROR**********found**********、strCpy(this一>Color,Color);}1DOGCOLORgetColor()Const{retumColor;}//ERROR**********found**********ConstChar*9etName()Const{return*finin9;}ConstChar*9etColorString()Const{switCh(Color){CaseBLACK:return”blaCk“;CaseWHITE:return”white”:CaseYELLOW:return’"yellow”:CaseBROWN:return”brown”;easePIEBALD:return”piebald”:}return”motley”;}voidshow()Const{.Cout<<”Thereisa”<<GETCOLORSTRING()<}};intmain(){//ERROR**********found**********Dogdogl(”Hoh0”,WHITE),dog2(”Haha”,BLACK);d0g3(”Hihi”,0THER);d091.show();dos2.show();dos3.show();return0;}[18分]
  • 2. 请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2。此工程中包含一个源程序文件main.cpp,其中有“房间”类Room及其派生出的“办公室”类0ffice的定义,还有主函数main的定义。请在程序中“//****found****”下的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:办公室房间号:308办公室长度:5.6办公室宽度:4.8办公室面积:26.88办公室所属部门:会计科注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“///料料found??料”。#includeusingnamespaeestd;classRoom{//“房间”类introom_n0;//房间号doublelength;//房间长度(m)doublewidth;//房间宽度(n1)public:Room(intthe—room—n0,doublethe~length,doublethe—width):loom—no(the—room—no),length(the—length),width(the—width){}inttheRoomNo()eonst{returniDonl—n0;}//返回房间号doubletheLength()const{returnlength;}//返回房间长度doubletheWidth()const{returnwidth;}//返回房间宽度//**********found**********doubletheArea()const{_______________}//返回房间面积(矩形面积)};classOffice:publicRoom{//“办公室”类char*depart;//所属部门public:Office(intthe_room_n0,doublethe_length,doublethe_width,eonstchar木the_depart)//**********found**********:_______________{depart=newchar[strlen(thedepart)+1];//**********found**********strcpy(_______________);}~Office(){delete[]depart;}constchar*theDepartment()const{returndepart;}//返回所属部门};intmain(){//**********found**********Office_______________;cout<<”办公室房间号:”<<AU_OFFICE.THEROOMNO()<<ENDL<<”办公室长度:”<<<endl<<”办公室宽度:”<<<endl<<”办公室面积:”<<<endl<<”办公室所属部门:”<<ALL—OFFICE.THEDEPARTMENT()<return0;}[24分]
  • 3. 请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制c++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到文件out.dat中。文件in.dat的长度不大于1000字节。
  • 4. 程序流程图中带有箭头的线段表示的是()。[1分]

    A图元关系

    B数据流

    C控制流

    D调用关系

  • 5. 下列程序的执行结果为()。#includevoidmain(){inta=3,b=0;int*P=&a;b=+a++;cout<<*P<<”,”<<B<}[1分]

    A3,4

    B4,3

    C3,4

    D4,4

  • 6. 对长度为n的线性表排序,在最坏情况下,比较次数不是n(rt一1)/2的排序方法是()。[1分]

    A快速排序

    B冒泡排序

    C直接插入排序

    D堆排序

  • 7. 字面常量42、4.2、42L的数据类型分别是()。[1分]

    Along,double、int

    Blon9、float、int

    Cint、double、long

    Dint、float、long

  • 8. 下面程序的运行结果为()。#includevoidmain(){for(inta=0,x=0;!x&&a<=10;a++){a++:}cout<<A<}[1分]

    A10

    B1l

    C12

    D0

  • 9. 有如下程序:#includeusingnamespacestd;inti=1;classFun{public:staticinti;intvalue(){returni—l;}intvalue()const{returni+1;}};intFun::i=2;intmain(){inti=3;Funfunl;constFunfun2:__________________return0;}若程序的输出结果是:123则程序中下画线处遗漏的语句是()。[1分]

    Acout<<FUNL.VALUE()<<FUN::I<<FUN2.VALUE();

    Btout<<FUN::I<<FUNL.VALUE()<<FUN2.VALUE();

    Ccout<<FUNL.VALUE()<<FUIL2.VALUE()<<FUN::I:

    Deout<<FUN2.VALUE()<<FUN::I<

  • 10. 下列有关模板的叙述中,正确的是()。[1分]

    A函数模板不能含有常规形参

    B函数模板的一个实例就是一个函数定义

    C类模板的成员函数不能是模板函数

    D用类模板定义对象时,绝对不能省略模板实参

  • 11. 运算符重载时不需要保持的性质是()。[1分]

    A操作数个数

    B操作数类型

    C优先级

    D结合性

  • 12. 有如下类定义:classFoo{public:Foo(intv):value(V){}//①~Foo(){}//②private:Foo(){}//③intvalue=0://④};其中存在语法错误的行是()。[1分]

    A

    B

    C

    D

  • 13. 运算符重载是对已有的运算符赋予多重含义,因此()。[1分]

    A可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义

    B可以改变一个已有运算符的优先级和操作数个数

    C只能重载c++中已经有的运算符,不能定义新运算符

    DC++中已经有的所有运算符都可以重载

  • 14. 不能作为重载函数的调用的依据是()。[1分]

    A参数个数

    B参数类型

    C函数类型

    D函数名称

  • 15. 下列运算符中,在c++语言中不能重载的是()。[1分]

    A*

    B>=

    C::

    D/

  • 16. 以下叙述正确的是()。[1分]

    A函数可以嵌套定义但不能嵌套调用

    B函数既可以嵌套调用也可以嵌套定义

    C函数既不可以嵌套定义也不可以嵌套调用

    D函数可以嵌套调用但不可以嵌套定义

  • 17. 软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。[1分]

    A学生成绩管理系统

    BC语言编译程序

    CUNIX操作系统

    D数据库管理系统

  • 18. 下列程序的输出结果为()。#include{if(n<1)returnl;elsereturnn+time(n一1);return0;}voidmain(){cout<<FUNC(5)<}[1分]

    A0

    B10

    C15

    D16

  • 19. 在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。[1分]

    A外模式

    B内模式

    C概念模式

    D逻辑模式

  • 20. 有如下程序:#includeusingnamespacestd;classA{public:virtualvoidfancl(){coutfuncl();P—>func2();deletep;return0;}执行这个程序的输出结果是()。[1分]

    AB182

    BA1A2

    CB1A2

    DAIB2

  • 21. 关于运算符重载,下列表述中正确的是()。[1分]

    Ac++已有的任何运算符都可以重载

    B运算符函数的返回类型不能声明为基本数据类型

    C在类型转换符函数的定义中不需要声明返回类型

    D可以通过运算符重载来创建c++中原来没有的运算符

  • 22. 在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()。[1分]

    A友元函数

    B虚函数

    C构造函数

    D析构函数

  • 23. 软件设计中模块划分应遵循的准则是()。[1分]

    A低内聚低耦合

    B高内聚低耦合

    C低内聚高耦合

    D高内聚高耦合

  • 24. 如果类A被说明成类B的友元,则()。[1分]

    A类A的成员即类B的成员

    B类B的成员即类A的成员

    C类A的成员函数不得访问类B的成员

    D类B不一定是类A的友元

  • 25. 有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;则数值为9的表达式是()。[1分]

    A*P+9

    B木(P+8)

    C*P+=9

    DP+8

  • 26. 执行下列语句段后,输出字符“*”的个数是()。for(inti=50;i>1;i-=2)Cout<<'*':[1分]

    A24

    B25

    C26

    D50

  • 27. 算法的有穷性是指()。[1分]

    A算法程序的运行时间是有限的

    B算法程序所处理的数据量是有限的

    C算法程序的长度是有限的

    D算法只能被有限的用户使用

  • 28. 下面关于break语句的描述中,不正确的是()。[1分]

    Abreak可以用于循环体内

    Bbreak语句可以在for循环语句中出现多次

    Cbreak语句可以在switch语句中出现多次

    Dbreak语句可用于if条件判断语句内

  • 29. 有如下类定义:classPoint{intxx.yy;public:Point():xx(0),yy(0){}Point(intx,intY=0):xx(X),YY(Y){}};若执行语句Pointa(2),b[3],幸c[4];则Point类的构造函数被调用的次数是()。[1分]

    A2次

    B3次

    C4次

    D5次

  • 30. 以下程序中,错误的行为是()。①#include②classA③{④public:⑤intn=2;⑥A(intval){cout<<VAL<⑦-A(){};⑧};⑨voidmain()⑩{?Aa(0);?}[1分]

    A

    B

    C

    D?

  • 31. 下列数据结构中,属于非线性结构的是()。[1分]

    A循环队列

    B带链队列

    C二叉树

    D带链栈

  • 32. 有如下程序:#inCludeusingnamespaCestd;ClassA{publiC:statiCinta;voidinit(){。a=1;}A(inta=2){init();a++;}};intA::a:0:Aobj;intmain(){Cout<<OBJ.A:&NBSP;&NBSP;&NBSP;}运行时输出的结果是()。[1分]

    A0

    B1

    C2

    D3

  • 33. 软件详细设计产生的图如下:该图是()。[1分]

    AN—S图

    BPAD图

    C程序流程图

    DE—R图

  • 34. 下面关于数组的描述错误的是()。[1分]

    A在C++语言中数组的名字就是指向该数组第一个元素的指针

    B长度为n的数组,下标的范围是0~n-1

    C数组的大小必须在编译时确定

    D数组只能通过值参数和引用参数两种方式传递给函数

  • 35. 有如下类和对象的定义:classConstants{public:staticdoublegetPI(){return3.1416;}};Constantsconstants:下列各组语句中,能输出3.1416的是()。[1分]

    Acout<getPI();和cout<<CONSTANTS::GETPI();

    Bcout<<CONSTANTS.GETPI();和COUT<<CONSTANTS.GETPI();

    Ccout<getPI();和cout<getPI();

    Dcout<<CONSTANTS.GETPI();和COUT<

  • 36. 下列叙述中正确的是()。[1分]

    A栈是“先进先出”的线性表

    B队列是“先进后出”的线性表

    C循环队列是非线性结构

    D有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

  • 37. 下列语句中,错误的是()。[1分]

    Aconstintbuffer=256;

    Bconstdouble*point;

    Cintconstbuffer=256;

    Ddouble*eonstpoint:

  • 38. 有如下程序:#includeusingnamespacestd;classBasel{public:BaseI(intD.{cout<<D;}一Basel(){}};classBase2{public:Base2(intD.{tout<<D;}~Base2(){}};classDerived:publicBasel,Base2{public:Derived(inta,intb,intc,intD.:Basel(B.,Base2(A.,bl(D.,b2(C.{}private:intbl:intb2:};intmain(){Derivedd(1,2,3,4);return0;}执行这个程序的输出结果是()。[1分]

    A1234

    B2134

    C12

    D21

  • 39. 必须用一对大括号括起来的程序段是()。[1分]

    AswitCh语句中的Case标号语句

    Bif语句的分支

    C循环语句的循环体

    D函数的函数体

  • 40. 有如下程序:#includeusingnamespacestd;classMyClass{public:MyClass(inti=0){cout<<1;}MyClass(constMyClass&x){cout<<2;}MyClass&operator=(constMyClass&x){cout<<3;retum$this;}~MyClass()}cout<<4;}};intmain(){MyClassobjl(1),obj2(2),obj3(objl);retum0;{执行这个程序的输出结果是()。[1分]

    A112444

    B11114444

    C121444

    D11314444

  • 41. 有如下程序:#inCludeusingnamespaCestd;ClassBase{publiC:voidoutput(){Coutoutput();ptr一>Print();deleteptr;retum0;}执行这个程序的输出结果是()。[1分]

    A1B

    BlD

    C2B

    D2D

  • 42. 秘序调试的任务是()。[1分]

    A设计测试用例

    B验证程序的正确性

    C发现程序中的错误

    D诊断和改正程序中的错误

  • 43. 下列字符串中。不可以用做c++标识符的是()。[1分]

    Ay_2006

    B_EST_H

    CReturn

    Dswitch

相关试卷
相关题库