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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出为10TC1注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。试题程序:#includeclassTC1{public:TC1(){}//********error********private:virtual~TC1(){usingnamespacestd;coutm_i=i;}voidprint(){//********error********cout<<m_j<}private:intm_i;};voidfun(TC2C1){C1.print();}intmain(){fun(TC2(10));return0;}[18分]
  • 2. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intx)的定义,该函数功能是判定x的所有约数,并且在函数中调用写函数WriteFile将结果输出到2.txt文件中。例如:x=100的约数为124510202550100。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<iostream)#include(fstream)#include(cmath)usingnamespacestd;voidWriteFile(intc){ofstreamout1;out1.open("2.txt",ios_base::binary|ios_base::app);out1<<c<<'';’out1.close();}voidfun(intx){}voidClearFile(){ofstreamout1;out1.open("2.txt");out1.close();}intmain(){ClearFile();fun(100);return0;}[24分]
  • 3. 使用VC++6.0打开考生文件廷下的源程序文件3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使其输出的结果为TCATCBTCC(1)完成类B虚继承于A,请在注释1后添加适当的语句。(2)完成类C虚继承于A,请在注释2后添加适当的语句。(3)完成类D继承于B,C,请在注释3后添加适当的语句。(4)函数fun通过调用基类的fun,完成所输出的内容,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。试题程序:#includeclassTCA{public:voidfun(){cout<<"TCA"<}};//********1********classTCB{public:voidfun(){cout<<"TCB"<}};//********2********classTCC{public:voidfun(){cout<<"TCC"<}};//********3********classTCD{public:voidfun(){//********4********}};voidmain(){TCDtest;test.fun();return;};[18分]

    A(1)完成类B虚继承于A,请在注释1后添加适当的语句。

    B(2)完成类C虚继承于A,请在注释2后添加适当的语句。

    C(3)完成类D继承于B,C,请在注释3后添加适当的语句。

    D(4)函数fun通过调用基类的fun,完成所输出的内容,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。试题程序:#includeclassTCA{public:voidfun(){cout<<"TCA"<}};//********1********classTCB{public:voidfun(){cout<<"TCB"<}};//********2********classTCC{public:voidfun(){cout<<"TCC"<}};//********3********classTCD{public:voidfun(){//********4********}};voidmain(){TCDtest;test.fun();return;};[18分]

  • 4. 将E-R图转换到关系模式时,实体与联系都可以表示成()。[1分]

    A属性

    B关系

    C

    D

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

    AC程序的基本组成单位是语句

    BC程序中的每一行只能写一条语句

    C简单C语句必须以分号结束

    DC语句必须在一行内写完

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

    A1_1

    B1-j

    C_11

    D1__

  • 7. 在C++语言中函数返回值的类型是由()决定的。[1分]

    A调用该函数时系统临时

    Breturn语句中的表达式类型

    C定义该函数时所指定的函数类型

    D调用该函数时的主调函数类型

  • 8. 关于类和对象描述错误的是()。[1分]

    A对象(Object)是现实世界中的客观事物,对象具有确定的属性

    B类是具有相同属性和行为的一组对象的集合

    C对象是类的抽象,类是对象的实例

    D类是对象的抽象,对象是类的实例

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

    A一个逻辑数据结构只能有一种存储结构

    B数据的逻辑结构属于线性结构,存储结构属于非线性结构

    C一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率

    D一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率

  • 10. 字符串“a+b=12\n\t”的长度为()。[1分]

    A12

    B10

    C8

    D6

  • 11. 有如下程序:#includeusingnamespacestd;classPair{intm,n;public;Pair(intj,intk):m(j),n(k){}intget(){returnIn;}intget()const{returnm+n;}};intmain(){Paira(3,5);constPairb(3,5);cout<<return0;}运行时的输出结果是()。[1分]

    A33

    B38

    C83

    D88

  • 12. 下列不是软件工程基本目标的照()。[1分]

    A付出较低的维护费用

    B达到要求的功能

    C不管时间限制,只要最终把用户要求的产品交出来

    D产品的性能比较好

  • 13. 有如下程序:#include#includeusingnamespacestd;intmain()(cout<<setfill('*')<<setw(6)<<123<return0;}运行时的输出结果是()。[1分]

    A***123***456

    B***123456***

    C***123456

    D123456

  • 14. 要定义一个引用变量P,使之引用类MyClass的一个对象,正确的定义语句是()。[1分]

    AMyClassp=MyClass;

    BMyClassp=newMyClass;

    CMyClass&p=newMyClass;

    DMyClassa,&p=a;

  • 15. 若有说明:inta[3][4];则对a数组元素的非法引用是()。[1分]

    Aa[0][2*1]

    Ba[1][3]

    Ca[4-2][0]

    Da[0][4]

  • 16. 继承机制的作用是()。[1分]

    A信息隐藏

    B数据封装

    C定义新类

    D数据抽象

  • 17. 有如下程序:#includeusingnamespacestd;classB{public:B(intxx):x(xx){++count;x+=10;}virtualvoidshow()const{coutshow();deleteptr;return0;}运行时的输出结果是()。[1分]

    A1_120

    B2_120

    C1_20

    D2_20

  • 18. 有下列程序:#includevoidfun(int*S,intn1,intn2){inti,j,t;i=n1;j=n2while(i--;}}voidmain(){inta[10]={1,2,3,4,5,6,7,8,9,0),k;fun(a,0,3);fun(a,4,9);fun(a,0,9);for(k=0;k<10;k++)printf(”%d”,a[k]);printf("\n");}程序的运行结果是()。[1分]

    A0987654321

    B4321098765

    C5678901234

    D0987651234

  • 19. 下面程序的运行结果为()。#includevoidmain(){chara='3':switch(a){case'3':cout<<"3";case'2':cout<<"2";break;default:cout<<"1";}}[1分]

    A3

    B321

    C31

    D32

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

    A设计测试用例

    B验证程序的正确性

    C发现程序中的错误

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

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

    A构成C++语言程序的基本单位是类

    B可以在一个函数中定义另一个函数

    Cmain()函数必须放在其他函数之前

    D所有被调用的函数一定要在调用之前进行定义

  • 22. 下列关于运算符重载的描述中,错误的是()。[1分]

    A::运算符不能重载

    B类型转换运算符只能作为成员函数重载

    C将运算符作为非成员函数重载时必须定义为友元

    D重载口运算符应完成“下标访问”操作

  • 23. 下列程序执行结果是()。#include(iostream.h)classA{public:inta;A():a(10){cout<<a<<endl;)};voidmain(){Aobj1;Aobj2(obj1);cout<<""<<obj2.a<}[1分]

    A1010

    B编译错误缺少拷贝构造函数

    C10随机数

    D随机数随机数

  • 24. 有如下程序#include(iostream.h>voidmain(){charch[2][5]={"6937","8254"),*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j])'\0';j+=2)s=10*s+p[i][j]一'0';cout<<s;}该程序的输出结果是()。[1分]

    A69825

    B63825

    C6385

    D693825

  • 25. 一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。[1分]

    A12345ABCDE

    BEDCABA54321

    CABCDE12345

    D54321EDCBA

  • 26. 下列关于析构函数的描述中,错误的是()。[1分]

    A析构函数可以重载

    B析构函数由系统自动调用

    C每个对象的析构函数只被调用一次

    D每个类都有析构函数

  • 27. 下列选项中不属于结构化程序设计原则的是()。[1分]

    A可封装

    B自顶向下

    C模块化

    D逐步求精

  • 28. 有以下程序:#includeusingnamespacestd;classsample{private:intX;public:sample(inta){X=a:}frienddoublesquare(samples);};doublesquare(samples){returnS.x*S.X:}intmain(){samples1(20),s2(30);cout<<square(s2)<return0;}执行结果是()。[1分]

    A20

    B30

    C900

    D400

  • 29. 下列数据模型中,具有坚实理论基础的是()。[1分]

    A层次模型

    B网状模型

    C关系模型

    D以上3个都是

  • 30. 有如下类定义:classAA{inta:public:AA(intn=0):a(n)()};classBB:publicAA{pubilc:BB(intn)____};其中横线处缺失部分是()。[1分]

    A:a(n){}

    B:AA(n){}

    C{a(n);}

    D{a=n;}

  • 31. 下列描述正确的是()。[1分]

    A表示m>n为true或mn&&m<n

    Bswitch语句结构中必须有default语句

    Cif语句结构中必须有else语句

    D如果至少有一个操作数为true,则包含‖运算符的表达式为true

  • 32. 若有定义“inta[2][3];”,下列选项中对a数组元素正确引用的是()。[1分]

    Aa[2][!1]

    Ba[2][3]

    Ca[0][3]

    Da[1>2][!1]

  • 33. 下列关于虚基类的描述中,错误的是()。[1分]

    A使用虚基类可以消除由多继承产生的二义性

    B构造派生类对象时。虚基类的构造函数只被调用一次

    C声明“classB:virtualpublicA”说明类B为虚基类

    D建立派生类对象时,首先调用虚基类的构造函数

  • 34. 结构化程序设计的基本原则不包括()。[1分]

    A多态性

    B自顶向下

    C模块化

    D逐步求精

  • 35. 有如下程序:#includedusingnamespacestd;classA{public:virtualvoidfuncl(){coutfunc1();P->func2();return0;}执行该程序,屏幕上将显示输出()。[1分]

    AB1B2

    BA1A2

    CB1A2

    DA1B2

  • 36. 下面是关于派生类声明的开始部分,其中正确韵是()。[1分]

    AclassvirtualB:publicA

    BvirtualclassB:publicA

    CclassB:publicAvirtual

    DclassB:virtualpublicA

  • 37. 在学生管理的关系数据库中,存取一个学生信息的数据单位是()。[1分]

    A文件

    B数据库

    C字段

    D记录

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

    Afalse是一个逻辑型常量

    B“b”'是一个字符型常量

    C365是一个int常量

    D3.1415926是一个double常量

  • 39. 树是结点的集合,它的根结点的数目是()。[1分]

    A有且只有1个

    B1或多于1

    C0或1

    D至少有2个

  • 40. 若有如下语句#includevoidmain(){intx=3:do{x=X-2:cout<}while(!(--x));}则上面程序段()。[1分]

    A输出的是1

    B输出的是1和-2

    C输出的是3和0

    D是死循环

  • 41. 有下列程序:#includevoidmain(){inta[]={1,2,3,4),y,*p=&a[3];--p;y=*p;printf("y=%d\n",y);}程序的运行结果是()。[1分]

    Ay=0

    By=1

    Cy=2

    Dy=3

  • 42. 有定义语句“chars[10];”,若要从终端给s输入5个字符,错误的输入语句是()。[1分]

    Agets(&sO);

    Bscanf("%s",s+1);

    Cgets(s);

    Dscanf("%s",s[1]);

  • 43. 要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是()。[1分]

    Afatream

    Bistream

    Costream

    Diomanip

相关试卷
相关题库