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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。(1)定义类的公有数据成员函数N0、Name[32],其中N0是int型的数据,Name[32]为字符型。请在注释1后添加适当的语句。(2)完成函数Set的定义,分别设置N0和Name的值,请在注释2后添加适当的语句。(3)完成函数print,请在注释3后添加适当的语句,输出结果如下:N0=12345Name=HelloWorld!(4)添加默认构造函数,设置N0为0,Name为空,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。试题程序:#includeclassTC{public://********1********//********2********{No=no;for(inti=0;strName[i]!=0;i++){Name[i]=strName[i];Name[i+1]=0;}}voidprint(){//********3********}TC(){//********4********)};intmain(){TCstu:stu.Set(12345,"HelloWorld!");stu.print();return0;}[18分]

    A(1)定义类的公有数据成员函数N0、Name[32],其中N0是int型的数据,Name[32]为字符型。请在注释1后添加适当的语句。

    B(2)完成函数Set的定义,分别设置N0和Name的值,请在注释2后添加适当的语句。

    C(3)完成函数print,请在注释3后添加适当的语句,输出结果如下:N0=12345Name=HelloWorld!

    D(4)添加默认构造函数,设置N0为0,Name为空,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。试题程序:#includeclassTC{public://********1********//********2********{No=no;for(inti=0;strName[i]!=0;i++){Name[i]=strName[i];Name[i+1]=0;}}voidprint(){//********3********}TC(){//********4********)};intmain(){TCstu:stu.Set(12345,"HelloWorld!");stu.print();return0;}[18分]

  • 2. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include(iostream.h)voidfun(char*s1,char*s2){}voidmain(){charsi[100】,s2【1OO];cout<<"Pleaseenterstringstrin9:"<cin.getline(s1,100);fun(s1,s2);cout<<"Theresultis:"<<s2<<cndlreturn;}[24分]
  • 3. (1)应改为“catch(char*s)”。(2)应改为“cateh(inti)”。(3)应改为“catch(…)”。[18分]

    A(1)应改为“catch(char*s)”。

    B(2)应改为“cateh(inti)”。

    C(3)应改为“catch(…)”。[18分]

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

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

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

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

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

  • 5. 软件设计中模块划分应遵循的准则是()。[1分]

    A低内聚低耦合

    B高内聚低耦合

    C低内聚高耦合

    D高内聚高耦合

  • 6. 下列选项巾正确的定义语句是()。[1分]

    Adoublea;b;

    Bdoublea=b=7;

    Cdoublea=7,b=7;

    Ddouble,a,b;

  • 7. 有如下程序:#includeusingnamespacestd;intmain(){int*P;*P=9:cout<<"ThevalueatP:"<<*P;return0;}编译运行程序将出现的情况是()。[1分]

    A编译时出现语法错误,不能生成可执行文件

    B运行时一定输出ThevalueatP:9

    C运行时一定输出ThevalueatP:*9

    D运行时有可能出错

  • 8. 有如下程序:#includedusingnamespacestd;voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain(){intx=10,y=26;f1(X,y);f2(x,y);cout<<y<return0;}运行时的输出结果是()。[1分]

    A10

    B16

    C26

    D36

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

    A循环队列有队头和队尾两个指针,因此循环队列是非线性结构

    B在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

    C在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

    D循环队列中元素的个数是由队头指针和队尾指针共同决定

  • 10. 下列是if语句的基本形式:if(表达式)语句其中“表达式”()。[1分]

    A必须是逻辑表达式

    B必须是关系表达式

    C必须是逻辑表达式或关系表达式

    D可以是任意合法的表达式

  • 11. 以下程序的运行结果是()。#include(iostream.h>voidsub(intx,inty,int*z){*z=y-x;}voidmain(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);cout((a<<","<<b<<","<<c<<endl;}[1分]

    A5,2,3

    B-5,-12,-7

    C-5,-12,-17

    D5,-2,-7

  • 12. 下列定义中P指向的地址可更改,但*P不能够更改的是()。[1分]

    Aconstint*P;

    Bint*constP;

    Cconstint*constP;

    Dint*P;

  • 13. 有下列程序:#includevoidmain(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf(”%d”,i+j);printf("\n");}}程序的运行结果是()。[1分]

    A234

    B43234554334

    C23

    D4534342323

  • 14. 若变量已正确定义为int型,要通过语句“scanf(”%d,%d”,&a,&b,&c);”给a赋值l、给b赋值2、给c赋值3,[1分]

    A

    B

    C

    D

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

    A软件测试的目的是发现错误并改正错误

    B对被调试的程序进行“错误定位”是程序调试的必要步骤

    C程序调试通常也称为Debug

    D软件测试应严格执行测试计划。排除测试的随意性

  • 16. 已知函数f的原型是“voidf(int*x,int&y);”,变量v1、v2的定义是“intv1,v2;”,下列调用语句中,正确的是()。[1分]

    Af(v1,v2)

    Bt(v1,&v2)

    Cf(&v1,v2)

    Df(&v1,&v2);

  • 17. 下列函数的运行结果是()。#includeintf(inta,intb){intC;if(a>b)c=l;elseif(a==b)c=0;elsec=-1:return(c);}voidmain(){inti=2,j=3;intp=f(i,j);cout<<p;}[1分]

    A-1

    B1

    C2

    D编译出错,无法运行

  • 18. 如果表达式“--x/y”中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为()。[1分]

    Aoperator/(X.operator--(),y);

    Boperator/(operator--(x),y);

    CX.operator--().operator/(y);

    Dy.operator/operator--(x));

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

    Acpp

    Bexe

    Cobj

    D1ik

  • 20. 有下列程序:#includeintf(intx){inty;if(x==0‖x==1)return(3);y=x*x-f(X-2);returny;}voidmain(){intZ;z=f(3);printf("%d\n",z);}程序的运行结果是()。[1分]

    A0

    B9

    C6

    D8

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

    AFUN(9)

    BFUN

    CFUN(9)

    DFUN(double)

  • 22. 设有“intx=11;”,则表达式(x++*2/3)的值是()。[1分]

    A7

    B8

    C11

    D12

  • 23. 下列程序的输出结果是()。#includedusingnamespacestd;intmain(){chara[]="Hell0,Test";char*p=a;while(*p){if(*p>='a'&&*p<='z')cout<elsecout<<*P;p++;}return0;}[1分]

    Ahello,test

    BHello,Test

    CHELLO,TEST

    DhELLO,tEST

  • 24. 执行下列语句后,输出结果为()。cout.put('S');cout<<'C'<<'a';[1分]

    Aca

    Bsca

    CS

    Da

  • 25. 从工程管理角度,软件设计一般分为两步完成,它们是()。[1分]

    A概要设计与详细设计

    B数据设计与接口设计

    C软件结构设计与数据设计

    D过程设计与数据设计

  • 26. 已知类A有公用数据成员a,并重载了=运算符,且有Aobj2;constA*ptr=newA;,则下列语句错误的是()。[1分]

    Aptr->a=100;

    Bptr=&obj2;

    Cptr++;

    Dobj2=*ptr;

  • 27. 假定其中的x的单位是角度且不考虑π的值的精是()。[1分]

    Asqrt(cos(x))

    Bsqrt(abs(cos(X*3.14/180)))

    Csqrt(abs(cos(X*(/180)))

    Dsqrt(fabs(cos(x*3.14/180)))

  • 28. 以下选项中合法的实型常数是()。[1分]

    A5E2.0

    BE—3

    C2EO

    D1.3E

  • 29. 下列关于类和对象的叙述中,错误的是()。[1分]

    A一个类只能有一个对象

    B对象是类的具体实例

    C类是对某一类对象的抽象

    D类和对象的关系是一种数据类型与变量的关系

  • 30. 有下列程序:#includevoidmain(){inta=S,b=1,t;t=(a<<2)|b;printf("%d\n",t);}程序运行后的输出结果是()。[1分]

    A21

    B11

    C6

    D1

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

    Aauto

    Bxegister

    Cstatic

    Daut0或register

  • 32. 若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是()。[1分]

    Aa[p-a]

    B*(&a[i])

    Cp[i]

    Da[10]

  • 33. 有如下程序:#includeusingnamespacestd;classA{public:A(){cout<<"A";}~A(){cout<<"~A";}};classB{A*P:public:B(){cout<<"B";p=newA;}~B(){cout<<"~B";deleteP;}};intmain(){Bobi;return0;}执行这个程序的输出结果是()。[1分]

    ABAA~A~B~A

    BABA~B~A~A

    CBAA~B~A~A

    DABA~A~B~A

  • 34. 有如下函数模板定义:templateT2plus(T1t1,T3t3){returnt1+t3;}则以下调用正确的是()。[1分]

    Aplus(3,5L);

    Bplus(3,5L);

    Cplus(3,5L);

    Dplus(3,5L);

  • 35. 结构化程序设计的三种基本结构是()。[1分]

    A过程、子程序和分程序

    B顺序、选择和重复

    C递归、堆栈和队列

    D调用、返回和转移

  • 36. 若PAT是一个类,则程序运行时,语句“PAT(*ad){3};”调用PAT的构造函数的次数是()。[1分]

    A0

    B1

    C2

    D3

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

    A程序就是软件

    B软件开发不受计算机系统的限制

    C软件既是逻辑实体,又是物理实体

    D软件是程序、数据与相关文档的集合

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

    A有一个以上根结点的数据结构不一定是非线性结构

    B只有一个根结点的数据结构不一定是线性结构

    C循环链表是非线性结构

    D双向链表是非线性结构

  • 39. 有如下程序:#includeusingnamespacestd;classDemo{public:Demo(){cout<<"defaultconstructor\n";}Demo(constDemo&x){cont<<"copyconstruc-tor\n";}};DemouserCode(Demob){Democ(b);returnC;}intmain(){Demoa;d;cout<<"callinguserCode()\n";d=userCode(a):return0;}执行上面程序的过程中,构造函数Demo()和Demo(constDem0&x)被调用的次数分别是()。[1分]

    A1和1

    B1和2

    C2和3

    D2和4

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

    A算法的执行效率与数据的存储结构无关

    B算法的空间复杂度是指算法程序中指令(或语句)的条数

    C算法的有穷性是指算法必须能在执行有限个步骤之后终止

    D以上三种描述都不对

  • 41. 下面类的定义,有()处错误。classMyClass{public:voidMyClass();~MyClass(intvahle);private:inti=0;};[1分]

    A1

    B2

    C3

    D4

  • 42. 下列选项中不能作为C浯言合法常量的是()。[1分]

    A'cd'

    B0.1e+6

    C"\a"

    D'\011'

  • 43. 在对函数进行原型声明时,下列语法成分中,不需要的是()。[1分]

    A函数返回类型

    B函数参数列表

    C函数名

    D函数体

相关试卷
相关题库