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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。试题程序:#include#include//********error********usingstd;voidWriteFile(char*s){ofstreamout1;//********error********out1.open("1.txt",binary|app);for(inti=0;s[i]!=0;i++){//********error********out1.puts(s[i]);}out1.close();}voidClearFile(){ofstreamout1;out1.open("1.txt");out1.close();}intmain(){chars[1024];ClearFile();cout<<"pleaseinputastrin9:"<cin.getline(s,1024);WriteFile(s);return0;}[18分]
  • 2. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*S,inta[]),其功能是把字符串S中的数字提取出来存储在a[]中,然后返回数字的个数。例如s="1234abcdef567",则a[]中存储着1234567,返回7。注意:不能修改程序的其他部分,只能修改fun函数。试题程序:#include(iostream.h>intfun(char*s,inta[]){}intmain(){inta[1024];intlen=fun("1234abedef567",a);for(inti=0;i<len;i++){COUt<<a[i]<<'';}cout<cout<<i<return0;}[24分]
  • 3. (1)“while()”应改为“while(infile.get(ch))”。(2)应添加“bur[len++]=ch;bur[len]=ch;len++;”。(3)应添加“outfile2<<bur[i++];”或“outfile2<(4)“TCobj();”应改为“TCobi("in.txt");”。[18分]

    A(1)“while()”应改为“while(infile.get(ch))”。

    B(2)应添加“bur[len++]=ch;bur[len]=ch;len++;”。

    C(3)应添加“outfile2<<bur[i++];”或“outfile2<

    D(4)“TCobj();”应改为“TCobi("in.txt");”。[18分]

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

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

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

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

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

  • 5. 下列程序的输出结果是()。#includevoidmain()(char*str="12123434";intx1=0,x2=0,x3=0,x4=0,i;for(i=0;str[i]!='\0';i++)switch(str[i]){case'1':x4++;case'2':x3++;case'3':x2++;case'4':x1++;}cout<<x1<<","<<x2<:<","<<x3<<","<}[1分]

    A8,6,4,1

    B8,6,3,2

    C8,8,4,1

    D8,6.4,2

  • 6. 在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是()。[1分]

    Aios_base::cur

    Bios_base::beg

    Cios_base::0ut

    Dios_base::end

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

    A可以通过运算符重载在C++中创建新的运算符

    B赋值运算符只能重载为成员函数

    C运算符函数重载为类的成员函数时,第一操作参数就是该类对象

    D重载类型转换运算符时不需要声明返回类型

  • 8. 如有以下程序:#include(iostream>usingnamespacestd;longfun(intn){if(n)2)return(fun(n-1)+fun(n-2));elsereturn2;}intmain(){cout<<fun(3)<return0;}则该程序的输出结果应该是()。[1分]

    A2

    B3

    C4

    D5

  • 9. 变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000,若要求将a的高4位取反,低4位不变,所要执行的运算是()。[1分]

    Aa*b

    Ba|b

    Ca&b

    Da<<4

  • 10. 有如下类声明:classXA{intx:public:XA(intn){x=n;}};classXB:publicXA{inty;oublic: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){}

  • 11. 下列程序的运行结果是()。#includeclassA{inta;public:A(){a=0;}A(){intaa}{a=aa;cout<}};voidmain(){Ax,y(2),z(3);cout<}[1分]

    A00

    B23

    C34

    D25

  • 12. 算法的有穷性是指()。[1分]

    A算法程序的运行时间是有限的

    B算法程序所处理的数据量是有限的

    C算法程序的长度是有限的

    D算法只能被有限的用户使用

  • 13. 下面排序算法中,平均排序速度最快的是()。[1分]

    A冒泡排序法

    B选择排序法

    C交换排序法

    D堆排序法

  • 14. 有如下程序:#includeusingnamespacestd;voidfunction2(intn);voidfunctionl(intn):{if(n<=0)return;function2(n-2);}voidfunction2(intn){if(n<=O)return;functionl(n-1);}intmain(){functionl(5);return0;}下列关于程序运行情况的描述中,正确的是()。[1分]

    Afunctionl运行1次,function2运行2次

    Bfunctionl运行2次,function2运行l次

    Cfunctionl运行2次,function2运行3次

    Dfunctionl运行2次,function2运行2次

  • 15. 下列关于模板的描述中,错误的是()。[1分]

    A类模板的成员函数都是模板函数

    B函数模板是一种参数化类型的函数

    C满足一定条件时可以省略模板实参

    D模板形参只能由关键字typename声明

  • 16. 以三级模式为框架形成的三种数据库中,真实存在于计算机外存的数据库是()。[1分]

    A概念数据库

    B用户数据库

    C物理数据库

    D逻辑数据库

  • 17. 实现运行时的多态性要使用()。[1分]

    A重载函数

    B析构函数

    C构造函数

    D虚函数

  • 18. 已知一函数的形参说明为intarr[5][6],则与此等效的形参说明为()。[1分]

    Aintarr[][]

    Bint[5][]

    Cint*a[6]

    Dint(*a)[6]

  • 19. 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是()。[1分]

    A控制流

    B加工

    C数据存储

    D源和潭

  • 20. 设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择存储类别是()。[1分]

    Aauto

    Bregister

    Cstatic

    Dauto或register

  • 21. 派生类对象对其基类中的什么成员是可访问的?()[1分]

    A公有继承的私有成员

    B私有继承的公有成员

    C私有继承的保护成员

    D保护继承的保护成员

  • 22. 下列选项中正确的语句是()。[1分]

    Achars[];s="BOOK!";

    Bchar*s;S={"BOOK!");

    Cchars[10];s="BOOK";

    Dchar*S;s="BOOK!";

  • 23. 下列关于继承方式的描述中,错误的是()。[1分]

    A如果不显式地指定继承方式,默认的继承方式是私有(private)

    B采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员

    C采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员

    D采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员

  • 24. 有3个关系R、S和T如下表所示:其中关系T由关系R和s通过某种操作得到,该操作为()。[1分]

    A选择

    B投影

    C

    D

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

    A虚函数是一个static类型的成员函数

    B虚函数是一个非成员函数

    C基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明

    D派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型

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

    A对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n

    B对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)

    C对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)

    D对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)

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

    A可以通过运算符重载在C++中创建新的运算符

    B赋值运算符只能重载为成员函数

    C运算符函数重载为类的成员函数时,第一操作参数就是该类对象

    D重载类型转换运算符时不需要声明返回类型

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

    A构造函数名与类名相同

    B构造函数可以有返回值

    C构造函数可以重载

    D每个类都有构造函数

  • 29. 实体是信息世界中广泛使用的一个术语,它用于表示()。[1分]

    A有生命的事物

    B无生命的事物

    C实际存在的事物

    D一切事物

  • 30. 可以用P.a的形式访问派生类对象P的基类成员a,其中a是()。[1分]

    A私有继承的公有成员

    B公有继承的私有成员

    C公有继承的保护成员

    D公有继承的公有成员

  • 31. 有如下程序:#includeusingnamespacestd;classBase{public:Base(intx=O){coutprivate:Baseval;};intmain(){Derivedd(1);return0;}程序执行后的输出结果是()。[1分]

    A100

    B000

    C010

    D001

  • 32. 下列程序的执行结果是()。#include(iostream.h>#includeclassTestClass{public:intX,y;TestClass(){x=y=0;}TestClass(inta,intb){x=a;y=b;}voiddisp(){cout<<"x="<<x<<",y="<y<}};voidmain(){TestClasss1(2,3);s1.disp();}[1分]

    Ax=2,y=2

    Bx=2,y=3

    Cx=3,y=2

    Dx=3,y=3

  • 33. 下列关于this指针的叙述中,正确的是()。[1分]

    A任何与类相关的函数都有this指针

    B类的成员函数都有this指针

    C类的友元函数都有this指针

    D类的非静态成员函数才有this指针

  • 34. 对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()。[1分]

    A并运算

    B交运算

    C差运算

    D积运算

  • 35. 已知chara;intb;floatC;doubled;则表达式a*b+c-d的结果为()。[1分]

    Adouble

    Bint

    Cfloat

    Dchar

  • 36. 设计数据库的存储结构属于()。[1分]

    A需求分析

    B概念设计

    C逻辑设计

    D物理设计

  • 37. 有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。[1分]

    A自然连接

    B

    C

    D

  • 38. 下列选项中正确的语句是()。[1分]

    Achars[3];s="BOOK!";

    Bchar*s;s={"BOOK!"};

    Cchars[10];s="BOOK";

    Dchar*S;s="BOOK!";

  • 39. 对于循环队列,下列叙述中正确的是()。[1分]

    A队头指针是固定不变的

    B队头指针一定大于队尾指针

    C队头指针一定小于队尾指针

    D队头指针可以大于队尾指针,也可以小于队尾指针

  • 40. 下列关于关系运算的叙述中正确的是()。[1分]

    A投影、选择、连接是从二维表的行的方向来进行运算

    B并、交、差是从二维表的列的方向来进行运算

    C投影、选择、连接是从二维表的列的方向来进行运算

    D以上三种说法都不对

  • 41. 打开文件时可单独或组合使用下列文件打开模式:①ios_base::aop②ios_base::binary③ios_base::④ios_base::out若要以二进制读方式打开一个文件,需使用的文件打开模式为()。[1分]

    A①③

    B①④

    C②③

    D②④

  • 42. 类MyClass的定义如下:classMvClass{public:MyClass(){value=0;}SetVariable(inti){value=i;}private:intvalue;};则对下列语句序列正确的描述是()。[1分]

    A语句p=&my;是把对象my赋值给指针变量P

    B语句MyClass*P,my;会调用两次类MyClass的构造函数

    C对语句*P.SetVariable(5)的调用是正确的

    D语句p->SetVariable(5)与语句my.SetVariable(5)等价

  • 43. 一个教师可讲多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是:()。[1分]

    A1:1联系

    B1:m联系

    Cm:1联系

    Dm:n联系

相关试卷
相关题库