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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句:TC1:0TC2注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。试题程序:#includestructTC1{TCl(inti=0){m_i=i;}voidprint(){cout<<"TCl:"<<m_i<}intm_i;};classTC2{public:TC2(){}voidprint(){cout<<"TC2"<}//********error********private:~TC2(){}};intmain(){//********error********TC1obj1();//********error********TC20bj2();obj1.print();obj2.print();return0;}[18分]
  • 2. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成fun函数,使其功能为将两个按小到大排序的数组a和b,复制合并成一个有序整数序列c,其中形参n和m分别是数组a和b的元素个数。注意:不能修改程序的其他部分,只能修改fun函数。试题程序:#includevoidfun(inta[],intn,intb[],intm,int*c){}voidmain(){intA[]={3,5,7,9,11,18,21);intB[]={6,15,19,21,39};intC[25],i;for(i=0;i<25;i++)C[i]=0;cout<<"A[]=";for(i=0;i<7;i++)cout<<a[i]<<',';eout<cout<<"B[]=";for(i=0;i<5;i++)coul<<b[i]<<',';cout<fun(A,7,B,5,C);cout<<"C[]=";for(i=0;i<12;i++)cout<cout<return:}[24分]
  • 3. (1)应添加“intseta(intx)”。(2)应添加“classTC3:publicTC1,privateTC2”。(3)应添加“intC;”。(4)应添加“seta(x);”。[18分]

    A(1)应添加“intseta(intx)”。

    B(2)应添加“classTC3:publicTC1,privateTC2”。

    C(3)应添加“intC;”。

    D(4)应添加“seta(x);”。[18分]

  • 4. 有如下类定义:classMyClass(public:____private:intdata;};若要为Myclass类重载流输入运算符>>,使得程序中可以“cin>>obj;”形式输入MyClasS类的对象obj,则横线处的声明语句应为()。[1分]

    Afriendistream&operator>>(istream&is,MyClass&a);

    Bfriendistream&operator>>(istream&is,MyClassa);

    Cistream&operalor>>(istream&is,MyClass&a);

    Distream&operator>>(istream&is,Myclassa);

  • 5. 下列关于虚函数与函数重载区别的叙述中不正确的是()。[1分]

    A函数说明形式上不同

    B函数允许非成员函数重载,虚函数只能是成员函数

    C函数重载的调用依据参数和类型的差别,虚函数则依据对象

    D函数重载的本体可以在类外定义,虚函数不可以

  • 6. 有如下类定义:classB{public:voidfunl(){}privace:voidfun2(){}protected:voidfun3(){}};classD:publicB{protected:voidfun4(){}};若obj是类D的对象,则下列语句中不违反访问控制权限的是()。[1分]

    Aobj.fun1();

    Bobj.fun2();

    Cobj.fun3();

    Dobj.fun4();

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

    Aa[2][!1]

    Ba[2][3]

    Ca[0][3]

    Da[1>2][!1]

  • 8. 有如下语句序列:intx=100,&r=x;cout<<x<<'一'<<r<已知其中变量x的地址为0012FF2C,则执行该语句序列的输出结果为()。[1分]

    A100—100

    B100—0012FF7C

    C0012FF7C一100

    D0012FF7C一0012FF7C

  • 9. 有如下程序:ClassBase{public:intdata;};ClassDerived1:publicBase{};ClassDerived2:protectedBase{};intmain(){Derived1d1;Derived2d2;d1.data=0;//①d2.data=0;//②return0;}下列关于程序编译结果的描述中,正确的是()。[1分]

    A①②皆无编译错误

    B①有编译错误,②无编译错误

    C①无编译错误,②有编译错误

    D①②皆有编译错误

  • 10. 下列有关拷贝构造函数的描述中错误的是()。[1分]

    A拷贝构造函数是一种构造函数

    B拷贝构造函数与一般的构造函数一样,可以设置多个形参

    C每一个类中都必须有一个拷贝构造函数

    D拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象

  • 11. 下列关于数据库设计的叙述中,正确的是()。[1分]

    A在需求分析阶段建立数据字典

    B在概念设计阶段建立数据字典

    C在逻辑设计阶段建立数据字典

    D在物理设计阶段建立数据字典

  • 12. 以下函数值的返回值类型是()。fun(floatx){floaty;y=3*x-4;returny;}[1分]

    Aint

    B不确定

    Cvoid

    Dfloat

  • 13. 关于纯虚函数,下列表述中正确的是()。[1分]

    A纯虚函数是没有给出实现版本(即无函数体定义)的虚函数

    B纯虚函数的声明总是以“=0”结束

    C派生类必须实现基类的纯虚函数

    D含有纯虚函数的类不可能是派生类

  • 14. Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。[1分]

    Acpp

    Bexe

    Cobj

    Dlik

  • 15. 有如下两个类定义:classXX{private:doublex1;protected:doublex2;public:doublex3;};claseYY:protectedXX{private:doubley1;protected;doubley2;public:doubley3;};在类YY中保护成员变量的个数是()。[1分]

    A1

    B2

    C3

    D4

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

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

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

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

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

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

    AFUN(9)(int)

    BFUN

    CFUN(9)

    DFUN(double)

  • 18. 有如下程序:#includeusingnamespacestd;classA{public:A(inti):rl(i){)voidprint(){cout<<'E'<<r1<<'-';)voidprint()const{cout<<'C'<<r1*r1<<'-';}private:intr1:};intmain(){Aal(2);constAa2(4);,al.print();a2.print();return0;}运行时的输出结果是()。[1分]

    A运行时出错

    BE2一C16一

    CC4一Cl6一

    DE2一E4—

  • 19. 下列关于文件流的描述中,正确的是()。[1分]

    A文件流只能完成针对磁盘文件的输入、输出

    B建立一个文件流对象时,必须同时打开一个文件

    C若输入流要打开的文件不存在。将建立一个新文件

    D若输出流要打开的文件不存在,将建立一个新文件

  • 20. 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。[1分]

    A一对一

    B一对多

    C多对一

    D多对多

  • 21. 有下列程序段:inta,b,c;a=10.b=50;c=30;if(a>b)a=b;b=C;c=a;printf("a=%db=%dc=%d\n",a,b,c);程序的输出结果是()。[1分]

    Aa=10b=50C=10

    Ba=10b=50c=30

    Ca=10b=30c=10

    Da=50b=30c=50

  • 22. 在软件设计中,不属于过程设计工具的是()。[1分]

    APDL(过程设计语言)

    BPAD图

    CN-S图

    DDVD图

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

    A笛卡儿积

    B

    C

    D自然连接

  • 24. 有如下程序段:inti=1:while(1){i++:if(i==10)break:if(i%2==0)cout<<'*':}执行这个程序段输出字符*的个数是()。[1分]

    A10

    B3

    C4

    D5

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

    A线性链表的各元素在存储空间中的位置必须是连续的

    B线性链表的头元素一定存储在其他元素的前面

    C线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面

    D线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的

  • 26. 在数据库设计中,将E-R图转换为关系模式的过程属于()。[1分]

    A需求分析阶段

    B逻辑设计阶段

    C概念设计阶段

    D物理设计阶段

  • 27. 设有以下类和对象的定义:ClaSSA{public:intm;};Ak1,k2,*p1,*p2;则下面针对成员变量m的引用,错误的是()。[1分]

    Ak1.m=1

    Bk2→m=2

    Cp1→m=3

    D(*p2).m=4

  • 28. 下述关于数据库系统的叙述中,正确的是()。[1分]

    A数据库系统减少了数据冗余

    B数据库系统避免了一切冗余

    C数据库系统中数据的一致性是指数据类型一致

    D数据库系统比文件系统能管理更多的数据

  • 29. 数据库系统的核心是()。[1分]

    A数据模型

    B数据库管理系统

    C数据库

    D数据库管理员

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

    A一种数据的逻辑结构可以有多种存储结构

    B数据的存储结构与数据的处理效率无关

    C数据的存储结构与数据的处理效率密切相关

    D数据的存储结构在计算机中所占的空间不一定是连续的

  • 31. 有如下语句序列:intk=0:do{k+=5;coutO)cout<<'*';执行上面的语句序列输出字符“$”和“*”的个数分别是()。[1分]

    A4和20

    B5和20

    C4和21

    D5和21

  • 32. 下面不正确的描述为()。[1分]

    A调用函数时,实参可以是表达式

    B调用函数时,实参与形参可以共用内存单元

    C调用函数时,将为形参分配内存单元

    D调用函数时,实参与形参的类型必须一致

  • 33. 下列关于派生类和基类的描述中,正确的是()。[1分]

    A派生类成员函数只能访问基类的公有成员

    B派生类成员函数只能访问基类的公有和保护成员

    C派生类成员函数可以访问基类的所有成员

    D派生类对基类的默认继承方式是公有继承

  • 34. 假定MyClass为一个类,则执行MyClassa,b(2),*p;语句时,自动调用该类构造函数()次。[1分]

    A2

    B3

    C4

    D5

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

    A学生成绩管理系统

    BC语言编译程序

    CUNIX操作系统

    D数据库管理系统

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

    A12

    B10

    C8

    D6

  • 37. 若是对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是()。[1分]

    Aoperatorlong()const;

    Boperatorlong(BigNumber);

    C10ngoperatorlong()const;

    Dlongoperatorlong(BigNumber);

  • 38. 有如下类声明:classXA(intX;public:XA(intn){x=n;}};classXB:publicXA{inty;public:XB(inta,intb);];在构造函数XB的下列定义中,正确的是()。[1分]

    AXB::XB(inta,intb):x(a),y(b){)

    BXB::XB(inta,intb):XA(a),y(b){)

    CXB::XB(inta,intb):x(a),XB(b)(}

    DXB::XB(inta,intb):XA(a),XB(b){)

  • 39. 有如下类定义:classSample{public:Sample(intx):ref(x){}//①private:Sample():ref(0){}//②staticintva1=5;//③constintref;//④};上述程序段中,错误的语句是()。[1分]

    A

    B

    C

    D

  • 40. 判断char型变量c是否为小写字母的正确表达式是()。[1分]

    A'a'<=c<='z'

    B(c>=A)&&(c<=z)

    C('a'>=c)‖('z'<=c)

    D(c>='a')&&(c<='z')

  • 41. 若有下列定义intx[10],*pt=x;则对x数组元素的正确引用是()。[1分]

    A*&*[10]

    B*(x+3)

    C*(pt+10)

    Dpt+3

  • 42. 同一概念在一处为实体而在另一处为属性或联系的冲突在视图集成中称为()。[1分]

    A命名冲突

    B概念冲突

    C域冲突

    D约束冲突

  • 43. 设有定义:classperson{inthum;charname[10];public:voidinit(intn,char*m);};personstd[30]则以下叙述不正确的是()。[1分]

    Astd是一个含有30个元素的对象数组

    Bstd数组中的每个元素都是person类的对象

    Cstd数组中的每个元素都有自己的私有变量num和name

    Dstd数组中的每个元素都有各自的成员函数init

相关试卷
相关题库