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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,即使程序在屏幕输出以下类似内容:0012FF6810012FF3C50012FF6C20012FF4440012FF7030012FF4C30023FF7440012FF5420012FF7850012FF5C1006AFDCC~006AFDEF数据可能因为机器的不同,程序输出的内容会有差异。只要相差为4的连续地址即可。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。试题程序:#includeusingnamespacestd;intmain(){int*P,a[5]={1,2,3,4,5};double*q,b[5]={5.0,4.0,3.0,2.0,1.0);intx;P=a;q=b;//********error********for(x=0;x<=5;X++)//********error********cout<(p+x)<return0;}[18分]
  • 2. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码。函数sort(int&m,int&n,int&1)实现将3个整数m,n,1由大到小输出。m最大,1最小。程序实现时,可以把最大的数放到m上,先将m与n进行比较,如果m<n,则将m与n的值进行交换,然后再用m与1进行比较,如果m<1,则将m与1的值进行交换,这样能使m最大,然后再将n与1进行比较,若n将函数sort(int&m,int&n,int&1)补充完整,实现3个数的排序。注意:请勿改动主函数。试题程序:#includevoidsort(int8Lm,int&n,int&1){}intmain(){intx=9:inty=13;intz=-3:sort(X,y,z);cout<return0;}[24分]
  • 3. (1)将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。(2)应添加“friendvoidfunc();”。(3)应添加“intTC::Num3=4;”。(4)将“obi.AddNum()”补充完整为“obj.AddNum(2);”。[18分]

    A(1)将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。

    B(2)应添加“friendvoidfunc();”。

    C(3)应添加“intTC::Num3=4;”。

    D(4)将“obi.AddNum()”补充完整为“obj.AddNum(2);”。[18分]

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

    A运算符函数的名称总是以0perator为前缀

    B运算符函数的参数可以是对象

    C运算符函数只能定义为类的成员函数

    D在表达式中使用重载的运算符相当于调用运算符重载函数

  • 5. 下列函数按每行8个输出数组中的数据。voidfun(int*W.intn){inti;for(i=0;i<n;i++){____printf("%d",w[i]);}printf("\n")}下画线处应填入的语句是()。[1分]

    Aif(i/8==0)printf("\n");

    Bif(i/8=0)continue;

    Cif(i%8==0)printf("\n");

    Dif(i%8==0)continue;

  • 6. 下列对于软件测试的描述正确的是()。[1分]

    A软件测试的目的是证明程序是否正确

    B软件测试的目的是使程序运行结果正确

    C软件测试的目的是尽可能地多发现程序中的错误

    D软件测试的目的是使程序符合结构化原则

  • 7. 有如下程序:#ineludeusingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}staticintgetNum(){returnn;}private:staticintn;};intTest::n=1;intmain()Test*P=newTest:deleteP;cout<<"n="<<test::getnum()<return0;}执行后的输出结果是()。[1分]

    An=0

    Bn=1

    Cn=2

    Dn=3

  • 8. 在下面的运算符重载函数的原型中,错误的是()。[1分]

    AVolumeoperator-(double,double);

    BdoubleVolume::operator-(double);

    CVolumeVolume::operator-(Volume);

    DVolumeoperator-(Volume);

  • 9. 在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用()。[1分]

    A内联函数

    B重载函数

    C递归调用

    D嵌套调用

  • 10. 有以下程序:#include(iostream.h)voidfun(inta,intb,intc){a=456,b=567,C=678;}voidmain(){intx=10,y=20,z=30;fun(x,Y,z);cout<<x<<','<<y<<','<<z<}输出结果是()。[1分]

    A30,20,10

    B10,20,30

    C456,567,678

    D678,567,456

  • 11. 下面程序的结果是()。#include(iostream.h>classA{inta;public:A():a(1){}voidshowa()(cout<<a;}};classB{inta;public:B():a(2){}voidshowa(){cout<<a;}};classC:publicA,publicB{inta;public:C():a(3){}voidshowa(){cout<<a;}};voidmain(){CC;showa();}[1分]

    A1

    B2

    C3

    D程序有错误

  • 12. 在软件开发中,需求分析阶段可以使用的工具是()。[1分]

    AN—S图

    BDFD图

    CPAD图

    D程序流程图

  • 13. 下列控制格式输入输出的操作符中,能够设置浮点数精度的是()。[1分]

    Asetprecision

    Bsetw

    Csetfill

    Dshowpoint

  • 14. 有如下程序:#include(iostream>usingnamespacestd;classCon{charID;public:Con():ID('A){cout<<1;}Con(charID):ID(ID){cout((2;)Con(Con8Lc):ID(c.getlD()){cout<<3;}chargetID()const{returnID;}};voidshow(Conc){cout<intmain(){Conc1;show(c1);Conc2('B');show(c2);return0;执行上面程序的输出结果是()。[1分]

    A13A23A

    B23A13B

    C13A23B

    D13823A

  • 15. C++系统预定义了四个用于标准数据流的对象,下列选项中不属于此类对象的是()。[1分]

    Acout

    Bcin

    Ccerr

    Dcset

  • 16. 有以下程序:voidmain(){inta=5,b=4,c=3,d=2;if(a>b>c)cout=d)==1)cout<<d+1<elsecout<<d+2<}[1分]

    A2

    B3

    C4

    D编译时有错,无结果

  • 17. 有如下程序:#includeusingnamespacestd;classC1{public:~C1(){cout<<1;)};classC2:publicC1{public:~C2(){cout<<2;)};intmain(){C2cb2;C1*cb1:return0;}运行时的输出结果是()。[1分]

    A121

    B21

    C211

    D12

  • 18. 有如下程序:#includeusingnamespacestd;className{charname[20];public:Name(){strcpy(name,"");cout<<'?';}Name(char*fname){strcpy(name,fname);cout<<'?';}};intmain(){Namenames[3]={Name(”张三”),Name(”李四”));return0;}运行此程序输出符号?的个数是()。[1分]

    AO

    B1

    C2

    D3

  • 19. 有下列程序:#include#includeintfun(intn){int*P;p=(int*)malloc(sizeof(int));*P=n;return*P;}voidmain(){inta;a=fun(10);printf("%d\n",a+fun(10));}程序的运行结果是()。[1分]

    A0

    B10

    C20

    D出错

  • 20. 执行语句:cout<<setfill('*')<<setw(10)<<setrill('#')<<left<123<<"ok"<[1分]

    A123*******0K

    B123#######OK

    C123********0K********

    D123#######OK########

  • 21. 有下列程序:#includevoidfun(inta,intb){intt;t=a;a=b;b=t;voidmain(){intc[1O]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf(”%d,”,c[i]);printf("\n");}程序的运行结果是()。[1分]

    A1,2,3,4,5,6,7,8,9,0

    B2,1,4,3,6,5,8,7,0,9

    C0,9,8,7,6,5,4,3,2,1

    D0,1,2,3,4,5,6,7,8,9

  • 22. 下面程序的运行结果为()。#includeclassA{intnum;public:A(inti){num=i;)A(A&a){num=a.num++;}voidprint(){cout<<num;}};voidmain(){Aa(1),b(a);[1分]

    Aprint();

    Bprint();}

    C11

    D21D.22

  • 23. C++语言本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由两个类istreanl和()提供。[1分]

    Afstream

    Biostream

    Costream

    Dcin

  • 24. 有如下程序:#includeusingnamespacestd;classBase{public:virtualvoidfunctionl(){coutfunctionl();p->function2();return0;}运行时的输出结果是()。[1分]

    A01

    B21

    C03

    D23

  • 25. 已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()。[1分]

    AValueoperator+(Valuev,inti);

    BValueoperator+(Valuev=value,inti);

    CValueoperator+(Valuevinti=O);

    DValueoperator+(Valuev=value,inti=O);

  • 26. 语句ofstreamf("DATA.DAT",ios_base::app|ios_base::binary);的功能是建立流对象f,试图打开文件DA-TA.DAT并与之连接,而且()。[1分]

    A若文件存在,将文件指针定位于艾件首;若文件不存在,建立一个新文件

    B若文件存在,将其截为空文件;若文件不存在,打开失败

    C若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件

    D若文件存在,打开失败;若文件不杉在,建立一个新文件

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

    ADB包括DBS和DBMS

    BDBMS包括DB和DBS

    CDBS包括DB和DBMS

    D没有任何关系

  • 28. 下面程序的运行结果是()。#includeintfun(inta[],intn){intresult=1;for(inti=1;i(n;i++)result=result*a[i];returnresult;}voidmain(){inta[3]={3,4,5);coHt<<fun(a,3)<}[1分]

    A12

    B15

    C20

    D60

  • 29. 有如下数组声明:intnum[10】;,下标值引用错误的是()。[1分]

    Anum[10]

    Bnum[5]

    Cnum[3]

    Dnum[0]

  • 30. 数据库设计包括两个疗面的设计内容,他们是()。[1分]

    A概念设计和逻辑设计

    B模式设计和内模式设计

    C内模式设计和物理设计

    D结构特性设计和行为特性设计

  • 31. 有如下程序:#includeUsingnamespacestd;ClassMyClass{Public:MyClass(){cout<<'*';}MyClass(MyClass&a){cout<<'#';}~MyClass(){cout<<'@';}};intmain(){MyClassa;MyClassb(a);Return0;}运行时的输出结果是()。[1分]

    A*@#@

    B#@*@

    C*#@@

    D#*@@

  • 32. 若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。[1分]

    AData+(Data);

    BDataoperator+(Data);

    CData+operator(Data);

    Doperator+(Data.Data);

  • 33. 下列关于运算符重载不正确的是()。[1分]

    A运算符重载不能改变运算符的操作数个数

    B运算符重载不能改变运算符的优先级

    C运算符重载不能改变运算符的结合性

    D运算符重载能改变对预定义类型数据的操作方式

  • 34. 下面关于数组的初始化正确的是()。[1分]

    Acharstr[]={'a','b','e'}

    Bcharstr[2]={'a','b','e')

    Ccharstr[2][3]={{'a','b'},{'C','d'},{'e','f'}}

    Dcharstr()={'a','b','C'}

  • 35. 对于复制构造函数和赋值操作的关系,正确的是()。[1分]

    A复制构造函数和赋值操作是完全一样的操作

    B进行赋值操作时,会调用类的构造函数

    C当调用复制构造函数时,类的对象正在被建立并被初始化

    D复制构造函数和赋值操作不能在同一个类中被同时定义

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

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

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

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

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

  • 37. 生成派生类对象时,派生类构造函数调用基类构造函数的条件是()。[1分]

    A无需任何条件

    B基类中显式定义了构造函数

    C派生类中显式定义了构造函数

    D派生类构造函数明确调用了基类构造函数

  • 38. 使用ifstream流类定义流对象并打开磁盘文件时,文件的隐含打开方式为()。[1分]

    Aios::in

    Bios::out

    Cios::inlios::out

    D没有默认

  • 39. 有如下程序:#includeusingnamespacestd;intmain(){inta[6]={23,15,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

  • 40. C++系统预定义了3个用于标准数据流的对象,下列选项中不属于此类对象的是()。[1分]

    Acout

    Bcin

    Ccerr

    Dcset

  • 41. 设变量已正确定义,下列不能统计出一行中输入字符个数(不包含回车符)的程序段是()。[1分]

    An=0;while((ch=getchar())!='\n')n++;

    Bn=0;while(getchar()!='\n')n++;

    Cfor(n=0;getchar()!='\n';n++);

    Dn=0;for(ch=getchar();ch!='n';n++);

  • 42. 对如下二叉树进行后序遍历的结果为()。[1分]

    AABCDEF

    BDBEAFC

    CABDECF

    DDEBFCA

  • 43. 在C++中,cin是一个()。[1分]

    A

    B对象

    C模板

    D函数

相关试卷
相关题库