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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行,并且使程序输出的结果为0K注意:错误的语句在//******error******的下面,修改该语句即可。试题程序:#includeclassTC{public:TC(){a=b=0:}private:inta,b;};classTCl:publicTC{public:TC1(){}//******error******virtualvoidfunc();};classTC2:publicTCl{public:TC2(){a=0:b=0:}voidfunc(){//******error******coutfunc();}[18分]
  • 2. 使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。(1)定义私有成员变量year、month、day。分别表示年、月、日,类型为int。请在注释1后添加适当的语句。(2)完成构造函数,分别给year、month、day赋值,请在注释2后添加适当的语句。(3)完成重载符号“十=”的定义,请在注释3后添加适当的语句。(4)完成print打印函数,输出到屏幕和文件的格式相同,请在注释4后添加适当的语句。注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。程序正常运行,输出的结果为2008年11月813。试题程序:#include(iostream.h)#include(fstream)#include(iomanip)#include<cmath)usingnamespacestd;voidWriteFile(intc){ofstreamout1;out1.open("3.txt",ios_base::app);out1<<c<<'';out1.close();}voidWriteFile(char*str){ofstreamoutl;out1.open("3.txt",ios_base::app);out1<out1.close();}voidClearFile(){ofstreamout1;out1.open("3.txt");out1.close();}classDate{public:Date(inty,intm,intd){//********1********}voidprint();//********2********{month+=m;inti=month/12:intj=month%12;if(j==0){year+=(i-1);month=12;}else{year+=i:month=j;}return*this;}private://********3********};voidDate::print(){//********4********WriteFile(year):WriteFile("年");WriteFile(month);WriteFile("月");WriteFile(day);WriteFile("日");}intmain(){ClearFile();DateOly_day(2008,8,8);Olyday+=3:Oly_day.print();return0;}[18分]

    A(1)定义私有成员变量year、month、day。分别表示年、月、日,类型为int。请在注释1后添加适当的语句。

    B(2)完成构造函数,分别给year、month、day赋值,请在注释2后添加适当的语句。

    C(3)完成重载符号“十=”的定义,请在注释3后添加适当的语句。

    D(4)完成print打印函数,输出到屏幕和文件的格式相同,请在注释4后添加适当的语句。注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。程序正常运行,输出的结果为2008年11月813。试题程序:#include(iostream.h)#include(fstream)#include(iomanip)#include<cmath)usingnamespacestd;voidWriteFile(intc){ofstreamout1;out1.open("3.txt",ios_base::app);out1<<c<<'';out1.close();}voidWriteFile(char*str){ofstreamoutl;out1.open("3.txt",ios_base::app);out1<out1.close();}voidClearFile(){ofstreamout1;out1.open("3.txt");out1.close();}classDate{public:Date(inty,intm,intd){//********1********}voidprint();//********2********{month+=m;inti=month/12:intj=month%12;if(j==0){year+=(i-1);month=12;}else{year+=i:month=j;}return*this;}private://********3********};voidDate::print(){//********4********WriteFile(year):WriteFile("年");WriteFile(month);WriteFile("月");WriteFile(day);WriteFile("日");}intmain(){ClearFile();DateOly_day(2008,8,8);Olyday+=3:Oly_day.print();return0;}[18分]

  • 3. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数sum(intn)用于计算在n范围内,能被7和11整除的所有整数的和(包括n在内)。注意:不能修改程序的其他部分,只能补充sum函数。试题程序:#includedoublesum(intn){}voidmain(){cout<cout<cout<return;}[24分]
  • 4. 若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。[1分]

    Aa

    BA

    Ca{}

    DAA:a{}

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

    A算法程序的长度

    B算法程序中的指令条数

    C算法程序所占的存储空间

    D算法执行过程中所需要的存储空间

  • 6. 有下列程序:#includestructst{intx,Y,date[2]={1,10,2,20};voidmain(){structst*p=date;printf("%d,",p->y);printf("%d\n",(++p)->x);}程序的运行结果是()。[1分]

    A10,1

    B20,1

    C10,2

    D20,2

  • 7. 有如下程序:#includedusingnamespacestd;classTestClass{private:intX,y;public:TestClass(inti,intj){x=i;y=j;}voidprint(){cout<<"printl"<<endl;}voidprint()const{cout<<"print2"<intmain(){constTestClassa(1,2);print();return0;}该程序运行后的输出结果是()。[1分]

    Aprintl

    Bprint2

    Cprintlprint2

    D程序编译时出错

  • 8. 下列有关类继承的叙述中,错误的是()。[1分]

    A继承可以实现软件复用

    B虚基类可以解决由多继承产生的二义性问题

    C派生类构造函数要负责调用基类的构造函数

    D派生类没有继承基类的私有成员

  • 9. 下面程序输出的结果为()。#include"iostream.h"classA{public:A(){cOUt<<"CLASSA"<<endl;}~A(){}};ClaSSB:publicA{public:B(){cout<<"CLASSB"<<endl;}~B(){}};voidmain(){A*P;P=newB:B*q:q=newB;}[1分]

    ACLASSA

    BCLASSACLASSBCLASSBCLASSB

    CCLASSA

    DCLASSACLASSBCLASSBCLASSACLASSBCLASSBCLASSB

  • 10. 原因排除法属于()。[1分]

    A软件调试方法

    B黑盒测试方法

    C白盒测试方法

    D动态测试方法

  • 11. 下面程序的运行结果是()。#includeclassbase{protected:inta;public:base(){cout<<"0";}};classbasel:virtualbase{public:basel(){cout<<"1";}};classbase2:virtualbase{public:base2(){cout<<"2";}};classderived:publicbasel,publicbase2{public:derived(){cout<<"3";}};voidmain(){derivedobj;cout<}[1分]

    A0123

    B3120

    C0312

    D3012

  • 12. 源程序的文档化不包括()。[1分]

    A符号名的命名要有实际意义

    B正确的文档形式

    C良好的视觉组织

    D正确的程序注释

  • 13. 有如下函数模板定义:templateT1FUN(T2n){returnn*5,0;}若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为()。[1分]

    AFUN(9)

    BFUN

    CFUN(9)

    DFUN(double)

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

    A运算符重载可以改变操作数的个数

    B运算符重载可以改变操作数的优先级

    C运算符重载可以改变运算符的结合性

    D运算符重载可以使运算符实现特殊功能

  • 15. 有以下类定义:classMyClass{private:intid;chargender;char*phone;public:MyClass():id(0),gender('#'),phone(NULl){}MyClass(intn0,charge='#',char*ph=NULL){id=no;gender=ge;phone=ph;}};下列类对象定义语句中错误的是()。[1分]

    AMyClassmyObj;

    BMyClassmyObj(11,"13301111155");

    CMyClassmyObj(12,'m');

    DMyClassmyObj(12);

  • 16. 有3个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。[1分]

    A

    B自然连接

    C笛卡儿积

    D

  • 17. 有下列程序:#includevoidmain(){intx;scanf(”%d”,&x);if(x<=3);elseif(x!=10)printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果()。[1分]

    A不等于10的整数

    B大于3且不等10的整数

    C大于3或等于10的整数

    D小于3的整数

  • 18. 下列表示纯虚函数的成员函数是()。[1分]

    Avirtualintfunc(int);

    Bvoidfunc(int)=0;

    Cvirtualvoidfunc=0;

    Dvirtualvoidrune(int){}

  • 19. C++语言中在C语言的基础上增加的特性不包括()。[1分]

    A结构

    B引用

    C类和对象

    D静态成员函数

  • 20. 有下列程序:#includestructord{intx,y;}dt[2]={1,2,3,4};voidmain(){structord*p=dt;printf("%d,",++P->x);printf("%d,",++P->y);}程序的运行结果是().[1分]

    A1,2

    B2,3

    C3,4

    D4,1

  • 21. 4种基本结构中,能简化大量程序代码行的是()。[1分]

    A顺序结构

    B分支结构

    C选择结构

    D重复结构

  • 22. 已知数组arr的定义如下:intarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是()。[1分]

    Acout<<*arr+1<<endl;

    BCOUt<<*(art+1)<<endl;

    Ccout<<arr[1]<<endl;

    DCOUt<<*arr<

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

    A一个算法的空间复杂度大,则其时间复杂度必定大

    B一个算法的空间复杂度大,则其时间复杂度必定小

    C一个算法的时间复杂度大,则其空间复杂度必定小

    D上述三种说法都不对

  • 24. 下列排序方法中,最坏情况下比较次数最少的是()。[1分]

    A冒泡排序

    B简单选择排序

    C直接插入排序

    D堆排序

  • 25. 在面向对象方法中,不属于“对象”基本特点的是()。[1分]

    A一致性

    B分类性

    C多态性

    D标识唯一性

  • 26. 计算机能直接执行的程序是()。[1分]

    A源程序

    B目标程序

    C汇编程序

    D可执行程序

  • 27. 要定义整型数组x,使之包括初值为0的3个元素,下列语句中错误的是()。[1分]

    Aintx[3]={0,0,0};

    Bintx[]={0};

    Cstaticintx[3]={0);

    Dintx[]={0,0,0};

  • 28. 有下列程序:#includeintfun(intx,inyy){if(x==y)return(x);elsereturn((x+y)/2);}voidmain(){inta=4,b=5,C=6;printf("%d\n",fun(2*a,fun(b,c)));}程序运行后的输出结果是()。[1分]

    A3

    B6

    C8

    D12

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

    Agets函数用于从终端读入字符串

    Bgetchar函数用于从磁盘文件读入字符

    Cfputs函数用于把字符串输出到文件

    Dfwrite函数用于以二进制形式输出数据到文件

  • 30. 程序流程图中带有箭头的线段表示的是()。[1分]

    A图元关系

    B数据流

    C控制流

    D调用关系

  • 31. Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是()。Samplea[2],*p=newSample;[1分]

    A0

    B1

    C2

    D3

  • 32. 有下列程序段:charch:intk:ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCIl十进制代码为97,则执行上述程序段后输出结果是()。[1分]

    A因变量类型与格式描述符的类型不匹配输出无定值

    B输出项与格式描述符个数不符,输出为零值或不定值

    Ca,97,12k=12

    Da,97,k=12

  • 33. 有下列程序:#includevoidmain(){FILE*fp;inta[10]={1,2,3},i,n;fp=fopen("dl.dat","w");for(i=0;i<3;i++)fprintf(fp,"%d",a[i]);fprintf(fp,”\n”);fclose(fp);fp=open("dl.dat","r")fscanf(fp,"%d",&n);fclose(fp);printf(”%d\n”,n);}程序的运行结果是()。[1分]

    A12300

    B123

    C1

    D321

  • 34. 有以下程序:#includeusingnamespacestd;classsample{private:intn;public:sample(){}sample(intm){n=m:}sampleadd(samplesl,samples2){this->n=s1.n+s2.n;return(*this);}voiddisp(){cout<<"n="<<n<}};intmain(){samples1(10),s2(5),s3;s3.add(s1,s2);s3.disp();return0:}程序运行后,输出的结果是()。[1分]

    An=10

    Bn=5

    Cn=20

    Dn=15

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

    A在模块化程序设计中,一个模块应该尽量多地包括与其他模块联系的信息

    B在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节

    C在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则

    D在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法

  • 36. 已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为()。[1分]

    A1

    B2

    C3

    D9

  • 37. 有下列程序:#includevoidmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){Case0:a++;break;case1:b++break;}case2:a++;b++;break;case3:a++;b++;}printf(”a=%d,b=%d\n”,a,b);}程序的运行结果是()。[1分]

    Aa=1,b=0

    Ba=2,b=2

    Ca=1,b=1

    Da=2,b=1

  • 38. 若变量已正确定义并赋值,以下符合C++语言语法的表达式是()。[1分]

    Aa:=b+1

    Ba=b=c+2

    Cintl8.5%3

    Da=a+7=c+b

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

    AMax(3.5,4.5)

    BMax(3.5,4)

    CMax(3.5,4.5)

    DMax(3,4.5)

  • 40. 有以下程序: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<<endl;}private:intyear,month,day;};Datefun(Dated){Datetemp;temp=d;returntemp;}intmain(){Datedatel(2000,1,1),date2(0,0,O);Datedate3(date1);date2=fun(date3);return0;}程序执行时,Date类的复制构造函数被调用的次数是()。[1分]

    A2

    B3

    C4

    D5

  • 41. 有如下类定义:classA{char*a;public:A():a(O){}A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间a=__;strcpy(a,aa);}~A(){delete[]a;}};横线处应填写的表达式是()。[1分]

    ADewchar[strlen(aa)+1]

    Bchar[strlen(aa)+1]

    Cchar[strlen(aa)]

    Dnewchar[sizeof(aa)-1]

  • 42. 有下列程序:#includevoidfun(int*a,int*b){int*C;c=a;a=b;b=C;}voidmain(){intx=3,y=5,*p=&x,*q=&y;fun(p,q);printf("%d,%d,",*P,*q);fun(&x,&y);printf("%d,%d\n",*P,*q)}程序运行后的输出结果是()。[1分]

    A3,5,5,3

    B3,5,3,5

    C5,3,3,5

    D5,3,5,3

  • 43. 在数据库设计中,将E—R图转换成关系数据模型的过程属于()。[1分]

    A需求分析阶段

    B概念设计阶段

    C逻辑设计阶段

    D物理设计阶段

相关试卷
相关题库