2013年9月全国计算机等级《二级C++》上机模考试卷(1)

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

试卷介绍: 2013年9月全国计算机等级《二级C++》上机模考试卷(1)

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错。请改正程序中的错误,使程序输出的结果为1003732注意:错误的语句在//******error******的下面,修改该语句即可。试题程序:#include//******error******voidmain{//******error******intm=0142://******error******intn=0X27:intq=32;cout<<m<cout<<n<cout<<q<return;}[18分]
  • 2. 使用VC++6.0打开考生文件夹下的源程序文件3.cpp。请完成以下部分,实现在屏幕上输出为C3C2这个程序需要修改的部分,请按照以下部分实现。(1)类C0不能被实例化,请定义一个纯虚函数print,在注释1后添加适当的语句。(2)类C1私有虚继承类C0,请在注释2后添加适当的语句。(3)类C2公有继承于C0,请在注释3后添加适当的语句。(4)类c3公有继承于C2与C1,请在注释4后添加适当的语句。注意:增加代码或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。试题程序:#include(iostream.h)classCO{//********1********};//********2********classC1:{public:voidprint(){cout<"”C1"<}};//********3********classC2:{public:voidprint(){cout<<"C2"<}};//********4***x****classC3:{public:voidprint(){cout<<"C3"<}};voidmain(){C30bj3;C20bj2;obj3.print();obj2.print();return;}[18分]

    A(1)类C0不能被实例化,请定义一个纯虚函数print,在注释1后添加适当的语句。

    B(2)类C1私有虚继承类C0,请在注释2后添加适当的语句。

    C(3)类C2公有继承于C0,请在注释3后添加适当的语句。

    D(4)类c3公有继承于C2与C1,请在注释4后添加适当的语句。注意:增加代码或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。试题程序:#include(iostream.h)classCO{//********1********};//********2********classC1:{public:voidprint(){cout<"”C1"<}};//********3********classC2:{public:voidprint(){cout<<"C2"<}};//********4***x****classC3:{public:voidprint(){cout<<"C3"<}};voidmain(){C30bj3;C20bj2;obj3.print();obj2.print();return;}[18分]

  • 3. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intn),使其实现以下功能:当i等于3时,则打印如下内容。AAAAAA注意:不能修改程序的其他部分,只能修改fun函数。试题程序:#includevoidfun(intn){}voidmain(){intn;cout>n;if(n<1){cout<<"输入的行数必须大于0"<return;}fun(n);return;}[24分]
  • 4. C++语言中关于构造函数的说法正确的是()。[1分]

    A构造函数的函数名不必和类名相同

    B构造函数只能有一个

    C每个类必定有构造函数

    D构造函数必有返回值

  • 5. 下列描述中,错误的是()。[1分]

    A公有继承时基类中的公有成员在派生类中仍是公有成员

    B公有继承时基类中的保护成员在派生类中仍是保护成员

    C保护继承时基类中的公有成员在派生类中仍是公有成员

    D保护继承时基类中的保护成员在派生类中仍是保护成员

  • 6. 结构化程序所要求的基本结构不包括()。[1分]

    A顺序结构

    BGOTO跳转

    C选择(分支)结构

    D重复(循环)结构

  • 7. 在E—R图中,用来表示实体联系的图形是()。[1分]

    A椭圆图

    B矩形

    C菱形

    D三角形

  • 8. 下列程序的运行结果是()。#includeintx=5;intfun(inta){intc:c=X*a:</year<<"."<(month<<"."<<day<returnC;}voidmain(){intx=3,a=4;x=x+fun(a);cout<<"x="<<x<}[1分]

    Ax=15

    Bx=17

    Cx=23

    Dx=25

  • 9. 数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。[1分]

    ADB包含DBS和DBMS

    BDBMS包含DB和DBS

    CDBS包含DB和DBMS

    D没有任何关系

  • 10. 在软件开发中,需求分析阶段产生的主要文档是()。[1分]

    A软件集成测试计划

    B软件详细设计说明书

    C用户手册

    D软件需求规格说明书

  • 11. 有如下程序:#includeusingnamespacestd;classXA{inta;public:staticintb;XA(intaa):a(aa){b++;}~XA(){}intget(){returna;}};intXA::b=0intmain(){XAd1(1),d2(3);cout<<return0;}运行时的输出结果是()。[1分]

    A5

    B6

    C7

    D8

  • 12. 是()。[1分]

    A2*a*b/c/d

    Ba*b/c/d*2

    Ca/c/d*b*2

    D2*a*b/c*d

  • 13. 算法的空间复杂度是指()。[1分]

    A算法在执行过程中所需要的计算机存储空间

    B算法所处理的数据量

    C算法程序中的语句或指令条数

    D算法在执行过程中所需要的临时工作单元数

  • 14. 有以下结构体说明和变量的定义,且指针P指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是()。structnode{chardata;structnode*next;}a,b,*p=&a,*q=&b;[1分]

    Aa.next=q;

    BP.next=&b;

    Cp->next=&b;

    D(*p).next=q;

  • 15. 有如下函数模板声明:templateTMax(Ta,Tb){return(a>b)?a:b;}下列对函数模板Max()的调用中错误的是()。[1分]

    AMax(3.5,4.5)

    BMax(3.5,4)

    CMax(35,4.5)

    DMax(3.5,45)

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

    A循环队列

    B带链队列

    C二叉树

    D带链栈

  • 17. 下面程序的运行结果为()。#includevoidswap(int&a,intb){inttemp;temp=a++;a=b:b=temp:}voidmain(){inta=2,b=3;swap(a,b);cout<<a<<","<<b<}[1分]

    A2,3

    B3,2

    C2,2

    D3,3

  • 18. 有以下程序:classDate{public:Date(inty,intm,intd);{year=Y:month=m;day=d;}Date(inty=2000){year=y;month=10;day=1;}Date(Date&d){year=d.year;month=d.month;day=d.day;}voidprint(){cout<<year<<"."<(month<<"."<<day<}private:intyear,month,day;};Datefun(Dated){Datetemp;temp=d;returntemp;}intmain(){Datedatel(2000,1,1),date2(0,0,0);Datedate3(datel);date2=fun(date3);return0;}程序执行时,Date类的拷贝构造函数被调用的次数是()。[1分]

    A2

    B3

    C4

    D5

  • 19. 软件设计中划分模块的一个准则是()。[1分]

    A低内聚低耦合

    B高内聚低耦合

    C低内聚高耦合

    D高内聚高耦合

  • 20. 下面程序的运行结果为()。#includeClassA{public:A(){cout<<"1";}~A(){cout<<"2";}};ClassB:public:A{public:B(){cout<<"3";}~B(){cout<<"4";}};Voidmain(){Bb;}[1分]

    A1234

    B1324

    C1342

    D3142

  • 21. 若有以下程序:#includeusillgnamespacestd;classA{private:inta;public:A(inti){a=i;}voiddisp(){cout<<a<<",";}};classB{private:intb;public:B(intj){b=j;}voiddisp(){COUt<<b<<",";}};classC:publicB,publicA{private:intC;public:C(intk):A(k-2),B(k+2)(c=k;)voiddisp(){A::disp();B::disp();cout<<c<intmain(){Cobj(10);obj.disp();return0;}程序执行后的输出结果是()。[1分]

    A10,10,10

    B10,12,14

    C8,10,12

    D8,12,10

  • 22. 负责数据库中查询操作的数据库语言是()。[1分]

    A数据定义语言

    B数据管理语言

    C数据操纵语言

    D数据控制语言

  • 23. 每个C++程序中都必须有且仅有一个()。[1分]

    A

    B预处理命令

    C主函数

    D语句

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

    A快速排序

    B冒泡排序

    C直接插入排序

    D堆排序

  • 25. 数据库系统的三级模式不包括()。[1分]

    A概念模式

    B内模式

    C外模式

    D数据模式

  • 26. SQL语言又称为()。[1分]

    A结构化定义语言

    B结构化控制语言

    C结构化查询语苦

    D结构化操纵语言

  • 27. 数据处理的最小单位是()。[1分]

    A数据

    B数据元素

    C数据项

    D数据结构

  • 28. 下列选项中不合法的标识符是()。[1分]

    Aprint

    BFOR

    C&a

    D-00

  • 29. 考虑函数原型voidtest(inta,intb=7,charz='*'),下面的函数调用中,属于不合法调用的是()。[1分]

    Atest(5);

    Btest(5,8);

    Ctest(6,'#');

    Dtest(0,0,'*');

  • 30. 当需要将一个函数boolisnunlber(charc)声明为内联函数时,此内联函数的函数原型为()。[1分]

    Aenumboolisnumber(charc);

    Bdefineboolisnumber(charc);

    Cinlineboolisnumber(charc);

    Dextemboolisnumber(charc);

  • 31. 有如下程序:#includeusingnamespacestd;intmain(){inta[6]={23,l5,64,33,40,58};ints1,s2;s1=s2=a[0];for(int*p=a+1;p*p)s1=*P;if(s2<*p)s2=*p;}cout<<s1+s2<return0;}运行时的输出结果是()。[1分]

    A23

    B58

    C64

    D79

  • 32. 若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。[1分]

    Aa

    BA

    Ca{}

    DAA::a{}

  • 33. 静态成员函数没有()。[1分]

    A返回值

    Bthis指针

    C指针参数

    D返回类型

  • 34. 下列程序的运行结果是()。#includeintx=5:intfun(inta){intC;C=X*a:returnC;}voidmain(){intx=3,a=4;x=x+fun(a);cout<<"x="<<x<}[1分]

    Ax=15

    Bx=17

    Cx=23

    Dx=25

  • 35. 面向对象的没计方法与传统的面向过程的方法有本质不同,它的基本原理是()。[1分]

    A模拟现实世界中不同事物之间的联系

    B强调模拟现实世界中的算法而不强调概念

    C使用现实世界的概念抽象地思考问题从而自然地解决问题

    D鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

  • 36. 假定MyClass为一个类,那么下列的函数说明中,()为该类的析构函数。[1分]

    Avoid~MyClass();

    B~MyC|ass(intn);

    CMyClass();

    D~MyClass();

  • 37. 若有表达式“(w)?(--x):(++y)”,则其中与w等价的表达式是()。[1分]

    Aw==1

    Bw==0

    CW!=1

    DW!=0

  • 38. 对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。[1分]

    Alog2n

    Bn/2

    Cn

    Dn+1

  • 39. 若有以下程序:#includeusingnamespacestd;classBase{public:Base(){x=0;}intx;};classDerivedl:virtualpublicBase{public:Derivedl(){x=10;}};classDerived2:virtua11publicBase{public:Derived2(){x=20;}};classDerived:publicDerivedl,protectedDerived2{};intmain(){Derivedobj;cout<<obj.x<return0;}该程序运行后的输出结果是()。[1分]

    A20

    B30

    C10

    D0

  • 40. 以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误的原因是()。#include(iostream.h)voidmain(){int*P,*q,a,b;p=&a;cout>P;}[1分]

    A*P表示的是指针变量P的地址

    BP表示的是变量a的地址,而不是变量a的值

    C*P表示的是指针变量p的值

    D*P只能用来说明P是一个指针变量

  • 41. 下面程序的输出结果是()。#includeUsingnamespacestd;ClassBase{public:Base(intx=O){count<}};ClassDerived:publicBase{public:Derved(intx=0{count<}private;Baseval;};intmina(){Derivedd(1);retrun0;}[1分]

    A0

    B1

    C01

    D001

  • 42. 对于模板定义关键字class和typename说法不正确的是()。[1分]

    A程序中的class并不能都替换为typename

    Bclass和typename都可互相替换

    C程序中的typename都能替换为class

    D程序中的部分class可以替换为typename

  • 43. 有如下程序:#includeusingnamespacestd;classPublication{//出版物类charname[30];public:Publication(char*name=”未知名称”){~strcpy(this一>name,name);}constchar*getName()const{returnname;}virtualconstchar*getType()const{return”未知类型”;}};classBook:publicPublication{//书类public:Book(char*name):Publication(name){}virtualconstchar*getType()const{return"书";}};voidshowPublication(Publication&p){cout<<<":"<<<endl;}intmain(){Bookbook(”精彩人生”);showPublication(book);return0;}运行时的输出结果是()。[1分]

    A未知类型:未知名称

    B未知类型:精彩人生

    C书:未知名称

    D书:精彩人生

相关试卷
相关题库