2013年9月全国计算机等级《二级C++》上机临考冲刺试卷(2)

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intx),该函数的功能是将X的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile将结果输出到2.txt文件中。例如x=6,6的二进制数为110,则输出到屏幕的数为110。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include(iostream)#include(fstream)#include(cmath)usingnamespacestd;voidWriteFile(char*str){ofstreamout1;out1.open("2.txt",ios—base::binary|ios_base::app);for(inti=0;str[i]!=0;i++)out1.put(str[i]);out1.close();}voidfun(intx){}voidClearFile(){ofstreamout1;out1.open("2.txt");out1.close();}intmain(){ClearFile();fun(13);return0;}[24分]
  • 2. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,但该程序运行有问题,请改正main()函数中的错误,使该程序的输出结果正确。程序输出:88注意:错误的语句在/********error********/的下面。修改该语句即可,其他的语句不能修改。试题程序:#include(iostream.h>classCO{public:/********error********/staticintn=0:CO(){n++:}~CO(){n--:}}:/********error********/intCO::n;voidmain(){COobj;COobj2[7];CO*C=NULL:c=&obj:/********error********/eout<cout<}[18分]
  • 3. 使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了类A、A1和A2,其中A1类由A类公有派生,A2类由A1类公有派生。(1)定义类A的构造函数,该构造函数有一个整型的参数x,在构造函数中请将x赋值给数据成员a。请在注释“//********1********”之后添加适当的语句。(2)定义类A1的构造函数,该构造函数有两个整型的参数x和y,在构造函数中请将x赋值给数据成员b,将y作为基类A构造函数的参数值传人。请在注释“//********2********”之后添加适当的语句。(3)定义类A2的构造函数,该构造函数有3个整型的参数x,y和z,在构造函数中请将x赋值给数据成员C,将y和z分别赋值给基类A1构造函数的参数x和y。请在注释“//********3********”之后添加适当的语句。(4)完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和b及类A2自身的数据成员C的值,上述3个值在输出时以空格隔开。请在注释“//********4********”之后添加适当的语句。程序输出结果如下:73738注意:除在指定的位置添加语句之外,请不要改动程序的其他部分。试题程序:#includeclassA{inta;public://********1********intgeta(){returna;}};classA1:publicA{intb;public://********2********intgetb(){returnb;}};classA2:publicA1{intC;public://****,****3********voidshow(){//********4********}};voidmain(){A2a(8.3.7):cout<<a.geta()<cout<<a.getb()<a.show();}[18分]

    A(1)定义类A的构造函数,该构造函数有一个整型的参数x,在构造函数中请将x赋值给数据成员a。请在注释“//********1********”之后添加适当的语句。

    B(2)定义类A1的构造函数,该构造函数有两个整型的参数x和y,在构造函数中请将x赋值给数据成员b,将y作为基类A构造函数的参数值传人。请在注释“//********2********”之后添加适当的语句。

    C(3)定义类A2的构造函数,该构造函数有3个整型的参数x,y和z,在构造函数中请将x赋值给数据成员C,将y和z分别赋值给基类A1构造函数的参数x和y。请在注释“//********3********”之后添加适当的语句。

    D(4)完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和b及类A2自身的数据成员C的值,上述3个值在输出时以空格隔开。请在注释“//********4********”之后添加适当的语句。程序输出结果如下:73738注意:除在指定的位置添加语句之外,请不要改动程序的其他部分。试题程序:#includeclassA{inta;public://********1********intgeta(){returna;}};classA1:publicA{intb;public://********2********intgetb(){returnb;}};classA2:publicA1{intC;public://****,****3********voidshow(){//********4********}};voidmain(){A2a(8.3.7):cout<<a.geta()<cout<<a.getb()<a.show();}[18分]

  • 4. 下列程序的运行结果为()。#include(iostream.h>template(classTT>classFF{TTa1,a2,a3;public:FF(TTb1,TTb2,TTb3){a1=b1;a2=b2.;a3=b3;)TTSum(){returna1+a2+a3;}};voidmain(){FFx(int(1.1),2,3),y(int(4.2),5,6);cout<<<''<<<endl;}[1分]

    A6.115.2

    B615

    C615.2

    D6.115

  • 5. 已知intm=10;在下列定义引用的语句中,正确的是()。[1分]

    Aint&x=m;

    Binty=&m;

    Cint&z;

    Dint&t=&m;

  • 6. 有以下程序:#include(iostream)usingnamespacestd;intmain(){intx=15:while(x>10&&x<50){x++;if(x/3){x++;break;}}cout<<x<return0;}执行后的输出结果是()。[1分]

    A15

    B16

    C17

    D18

  • 7. 函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是()。[1分]

    AFun(20);

    BFun(20+n);

    CFun(n);

    DFun(&n);

  • 8. 下列关于C++流的描述中,错误的是()。[1分]

    Acout>>'A'表达式中输出字符A

    Beof函数可以检测是否到达文件尾

    C对磁盘文件进行流操作时,必须包含头文件fstream

    D以ios_base::Out模式打开的文件不存在时,将自动建立一个新文件

  • 9. 下列关于完全二叉树的叙述中,错误的是()。[1分]

    A除了最后一层外,每一层上的结点数均达到最大值

    B可能缺少若干个左右叶子结点

    C完全二叉树一般不是满二叉树

    D具有结点的完全二叉树的深度为[log2n]+1

  • 10. 设有两个字符串p和q,求q在p中首次出现位置的运算称为()。[1分]

    A连接

    B模式匹配

    C求子串

    D求串长

  • 11. 有以下程序;#includeusingnamespacestd;classComplex{public:Complex(doubler=0,doublei=O):re(r),im(i){}doublereal()const{returnre;}doubleimag()const{returnim;}Complexoperator+(Complexc)const{returnComplex(re+C.re,im+C.im);}private:doublere,im;};intmain(){Complexa=Complex(1,1)+Complex(5);cout<<a.real()<<'+'<<a.imag()<<'i'<return0;}程序执行后的输出结果是()。[1分]

    A6+6i

    B6+1i

    C1+6i

    D1+1i

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

    AMyClassp=MyClass;

    BMyClassp=newMyClass;

    CMyClass&p=newMyClass

    DMyClassa,&p=a;

  • 13. 有下列程序:#includevoidmain(){inta=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=2‖c--!=3)printf("%d,%d,%d\n",a,b,c);elseprintf("%d,%d,%d\n",a,b,c);elseprintf("%d,%d,%d,%d\n",a,b,c);}程序运行后的输出结果是()。[1分]

    A1,2,3

    B1,3,2

    C1,3,3

    D3,2,1

  • 14. 若MyTemp是一个具有虚拟类型参数的类模板,且有如下语句序列:MyTempp2;MyTempp3[2];编译系统在处理上面的话句序列时,所生成的模板MyTemp的实例的个数是()。[1分]

    A1

    B2

    C3

    D4

  • 15. C源程序中不能表示的数制是()。[1分]

    A二进制

    B八进制

    C十进制

    D十六进制

  • 16. 有如下程序:#includeusingnamespacestd;classMyClass{public:MyClass(){++count;)~MyClass(){--count;)staticintgetCount(){returncount;}private:staticintcount;};intMyClass::count=0;intmain(){MyClassobj;cout<MyClass*ptr=newMyClass;cout<deleteptr;cout<return0;}程序的输出结果是()。[1分]

    A121

    B232

    C221

    D122

  • 17. 有下列程序:#includevoidfun(char*a,char*b){while(*a=='*')a++;while(*b=*a){b++;a++;}}voidmain(){char*s="*****a*b****",t[80];fun(s,t);puts(t)}程序的运行结果是()。[1分]

    A*****a*b

    Ba*b

    Ca*b****

    Dab

  • 18. 已知在一个类体中包含如下函数原型:VOLUMEOPERATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是()。[1分]

    A这是运算符一的重载运算符函数

    B这个函数所重载的运算符是一个一元运算符

    C这是一个成员函数

    D这个函数不改变类的任何数据成员的值

  • 19. 下面关于C++流的叙述中,正确的是()。[1分]

    Acin是一个输入流对象

    B可以用ifstream定义一个输出流对象

    C执行语句序列char*y="PQMN";cout<<y;将输出字符串pqmn的地址

    D执行语句序列charx[80];cin.getline(x,80);时,若输入Happynewyear,则X中的字符串是“Happy”

  • 20. 下面描述中错误的是()。[1分]

    A系统总体结构图支持软件系统的详细设计

    B软件设计是将软件需求转换为软件表示的过程

    C数据结构与数据库设计是软件设计的任务之一

    DPAD图是软件详细设计的表示工具

  • 21. 下列程序段中包含4个函数,其中具有隐含this指针的是()。intfunl();classTest{public:intfun2();friendintfun3();staticintfun4();};[1分]

    Afunl

    Bfun2

    Cfun3

    Dfun4

  • 22. 下列关于多态性的描述,错误的是()。[1分]

    AC++语言中的多态性分为编译时的多态性和运行时的多态性

    B编译时的多态性可通过函数重载实现

    C运行时的多态性可通过模板和虚函数实现

    D实现运行时多态性的机制称为动态绑定

  • 23. 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的()。[1分]

    A抽象和信息隐蔽

    B局部化和封装化

    C内聚性和耦合性

    D激活机制和控制方法

  • 24. 某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()。[1分]

    A3

    B4

    C6

    D7

  • 25. 有如下两个类定义:ClaSSAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一个成员变量的定义是错误的,这个变量是()。[1分]

    Av1

    Bv2

    Cv3

    Dv4

  • 26. 关系模型允许定义3类数据约束,下列不属于数据约束的是()。[1分]

    A实体完整性约束

    B参照完整性约束

    C属性完整性约束

    D用户自定义完整性约束

  • 27. ()既可重载为一元运算符,又可重载为二元运算符。[1分]

    A“*”

    B“=”

    C“=”和“*”

    D“*”和“*++”

  • 28. 有下列程序:#include#include”strin9.h”typedefstruct{charname[9];charsex;floatscore[2];}STU;voidf(STUa){STUb={"Zha0",'m',85.0,90.0);inti;strcpy(a.name,b.name);sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];}voidmain(){STUc={"Qian",'f',95.0,92.0);f(c);printf("%s,%c,%2.Of,%2.Of\n",C.name,C.sex,score[O],C.score[1]);}程序的运行结果是()。[1分]

    AQian,f,95,92

    BQian,m,85,90

    CZha0,f,95,92

    DZha0,m,85,90

  • 29. 下列选项中,不是一个算法的基本特征的是()。[1分]

    A完整性

    B可行性

    C有穷性

    D拥有有足够的情报

  • 30. 下列字符串中,正确的C++标识符是()。[1分]

    Afoo-1

    B2b

    Cnew

    D_256

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

    A编辑软件

    B操作系统

    C教务管理系统

    D浏览器

  • 32. 关于结构化程序设计原则和方法的描述错误的是()。[1分]

    A选用的结构只允许有一个入口和一个出口

    B复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现

    C不允许使用GOTO语句

    D语言中所没有的控制结构,应该采用前后一致的方法来模拟

  • 33. 有如下模板声明:templateclassA;下列声明中,与上述声明不等价的是()。[1分]

    AtemplateclassA;

    BtemplateclassAt

    CtemplateclassA;

    DtemplateclassA;

  • 34. 下列符号中可以用做C++标识符的是()。[1分]

    A_radius

    Bfoo~bar

    Celse

    D3room

  • 35. 以下循环体的执行次数是()。voidmain(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)cout<<i<}[1分]

    A3

    B2

    C1

    D0

  • 36. 以下for语句中不是死循环的是()。[1分]

    Afor(inti=0;i<1;++i);

    Bfor(inti=0;;++i);

    Cfor(inti=1;i>0;++i);

    Dfor(;;);

  • 37. 下列关于线性链表的叙述中.正确的是()。[1分]

    A各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致

    B各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续

    C进行插入与删除时,不需要移动表中的元素

    D以上三种说法都不对

  • 38. 若有如下程序:#includeusingnamespaeestd;classTestClass{public:voidwho(){coutwho();retum0;}则该程序运行后的输出结果是()。[1分]

    ATestClassl

    BTestClass

    C0

    D无输出

  • 39. 两个或两个以上模块之间关联的紧密程度称为()。[1分]

    A耦合度

    B内聚度

    C复杂度

    D数据传输特性

  • 40. 软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于()。[1分]

    A定义阶段

    B开发阶段

    C维护阶段

    D上述3个阶段

  • 41. 在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。[1分]

    Aauto和register

    Bextern和register

    Cauto和static

    Dstatic和register

  • 42. 将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是()。[1分]

    A不合法的运算符

    B一元运算符

    C无操作数的运算符

    D二元运算符

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

    A算法的执行时间

    B算法所处理的数据量

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

    D算法在执行过程中所需要的基本运算次数

相关试卷
相关题库