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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor,i=0,Destructor注意:错误的语句在//******error******的下面,修改该语句即可。试题程序:#include(iostream.h)classTC{inti;public:TC();voiddisplay();~TC();};//******error******TC:TC(){cout<<"Constructor"<<",";i=0;)//******error******TC:display(){tout<<"i="<<i<<","<}//******error******TC:TC(){COUI<<"Destructor"<}voidmain(){TCa;a.display();}[18分]
  • 2. 使用VC6打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数sum(intn)返回1,2,3,…,n的和。其中n大于0。程序要求使用递归实现上述功能。注意:不能修改程序的其他部分,只能补充sum函数。试题程序:#include#includeintsum(intn){}voidmain(){cout<<"1+2+3+…+100="<<sum(100)<<endl;return;}[24分]
  • 3. 使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。每卖出一个水果,则计算水果的重量,还要计算所有卖出水果的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整。(1)定义类TCFruit的私有静态数据成员float型变量AllWeight和int型变量AllN0,请在注释1后添加适当的语句。(2)完成类TCFruit的带一个float型变量w的构造函数,并把这个w加到AllWeight中,并且AllNo自加。请在注释2后添加适当的语句。(3)在析构函数中,在AllWeight中减去weight,然后AllNo自减,请在注释3后添加适当的语句。(4)完成静态成员变量的初始化为0,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。试题程序:#include(iostream.h>classTCFruit{private:floatWeight;//********1********staticintAllNo;public:TCFruit(floatw){//********2********AllWeight+=w:AllNo++:}~TCFruit(){//********3********AllWeight-=Weight:}voiddisplay(){cout<<"SellaFruitwith"<<weight<<"k9"<<endl;cout<<”Allsellnumber:"<<allno<cout<<"Allsellweight:"<<allweight<<"k9"<<endl<}};//********4********floatTCFruit::AllWeight=0.0;intmain(){TCFruitFruitl(1.2);Fruitl.display();TCFruitFruit2(2.3);Fruit2.display();return0;}[18分]

    A(1)定义类TCFruit的私有静态数据成员float型变量AllWeight和int型变量AllN0,请在注释1后添加适当的语句。

    B(2)完成类TCFruit的带一个float型变量w的构造函数,并把这个w加到AllWeight中,并且AllNo自加。请在注释2后添加适当的语句。

    C(3)在析构函数中,在AllWeight中减去weight,然后AllNo自减,请在注释3后添加适当的语句。

    D(4)完成静态成员变量的初始化为0,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。试题程序:#include(iostream.h>classTCFruit{private:floatWeight;//********1********staticintAllNo;public:TCFruit(floatw){//********2********AllWeight+=w:AllNo++:}~TCFruit(){//********3********AllWeight-=Weight:}voiddisplay(){cout<<"SellaFruitwith"<<weight<<"k9"<<endl;cout<<”Allsellnumber:"<<allno<cout<<"Allsellweight:"<<allweight<<"k9"<<endl<}};//********4********floatTCFruit::AllWeight=0.0;intmain(){TCFruitFruitl(1.2);Fruitl.display();TCFruitFruit2(2.3);Fruit2.display();return0;}[18分]

  • 4. 下面程序的运行结果是()。#includevoidmain(){inti=1:while(i<=8)if(++i%3!=2)continue;elsecout<}[1分]

    A25

    B36

    C258

    D369

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

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

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

    C循环链表是非线性结构

    D双向链表是非线性结构

  • 6. 有如下类定义:classFoo{public:Foo(intv):value(v){}//①~Foo(){}//②private:Foo(){}//③intvalue=0;//④};其中存在语法错误的行是()。[1分]

    A

    B

    C

    D

  • 7. 有下列程序:#includevoidf(int*P,int*q);voidmain()(intm=1,n=2,*r=&m;f(r,&n);printf("%d,%d",m,n);}voidf(int*P,int*q){p=p+1;*q=*q+1;}程序运行后的输出结果是()。[1分]

    A1,3

    B2,3

    C1,4

    D1,2

  • 8. 下列对重载函数的描述中,错误的是()。[1分]

    A重载函数中不允许使用默认参数

    B重载函数中编译是根据参数表进行选择的

    C不要使用重载函数来描述毫不相干的函数

    D构造函数重载将会给初始化带来多种方式

  • 9. 存取指针所指的值时,采用的运算符是()。[1分]

    A#

    B

    C

    D*

  • 10. 重载输人流运算符>>必须使用的原型为()。[1分]

    Aistream&operator>>(istream&,&);

    Bistream&operator>>(istream,);

    Cistreamoperator>>(istream,&);

    Doperator>>(istream&,&);

  • 11. 关于continue语句叙述不正确的是()。[1分]

    Acontinue语句用于循环体中,结束循环

    Bcontinue语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断

    Ccontinue可以用于if语句中

    Dcontinue语句不能代替break语句

  • 12. 若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是()。[1分]

    A*p

    Bx[5]

    C*(p+1)

    D*x

  • 13. 下列函数的运行结果是()。#includeintadd(inta,intb);voidmain(){externintX,y;cout<<add(x,y)<}intx(20),y(5);intadd(inta,intb){ints=a+b:returns;}[1分]

    A25

    B30

    C20

    D15

  • 14. 有下列程序:#includevoidfun(char*s){while(*s){if(*s%2==(1)printf("%C",*s);s+十:}}voidmain(){chara[]={"good");fun(a);printf("n");}注意:字母a的ASCIl码值为97,程序运行后的输出结果是()。[1分]

    Ad

    Bgo

    Cgod

    Dgood

  • 15. 执行下列程序后,w的值为()。intw='A',x=14,y=15;w=((x‖y)&&(w<'a'));[1分]

    A-l

    BNULL

    C1

    D0

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

    AtemplateclassA;

    BtemplateclassA;

    CtemplateclassA;

    DtemplateclassA;

  • 17. 结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法。[1分]

    A对象

    B数据结构

    C数据流

    D目标

  • 18. 有下列程序:#includevoidmain(){chara=4;printf("%d\n",a=a<<1);}程序的运行结果是()。[1分]

    A40

    B16

    C8

    D4

  • 19. 若有以下定义:inta[]={1,2,3,4,5,6,7};charc1='b',c2='2';则数值不为2的表达式是()。[1分]

    Aa[1]

    B'd'c1

    Ca['3'-c2]

    Dc2-0

  • 20. 若为Fraction类重裁前增1运算符++,应在类体中将其声明为()。[1分]

    AFraction&poerator++();

    BFraction&poeralor++(int);

    CfriendFraction&operator++():

    DfriendFraction&operator++(int);

  • 21. 关于静态数据成员的描述中正确的是()。[1分]

    A类的静态数据成员不是类的所有对象共享的数据

    B类的静态数据成员不能被类的成员函数调用

    C类的静态数据成员不能被类的构造函数调用

    D类的静态数据成员必须进行初始化

  • 22. 有如下程序:#include#includediomanip>usingnamespacestd;intmain(){ints[]={123,234);cout<<setfill('*')<for(inti=0;i<2;i++){cout<<s[i]<<endl;)return0;}运行时的输出结果是()。[1分]

    A123

    B***123234234

    C***123

    D***123***234234***

  • 23. 按照“后进先出”原则组织数据的数据结构是()。[1分]

    A队列

    B

    C双向链表

    D二叉树

  • 24. 有如下程序:#includeusingnamespacestd;intmain(){intf,f1=0,f2=1for(inti=3;i<=6;i++){f=f1+f2:f1=f2:f2=f}cout<<f<return0;}运行时的输出结果是()。[1分]

    A2

    B3

    C5

    D8

  • 25. 计算斐波那契数列第n项的函数定义如下:intfib(intn){if.(n==0)return1;elseif(n==1)return2:elsereturnfib(n-1)+fib(n-2);}若执行函数调用表达式fib(2),函数fib被调用的次数是()。[1分]

    A1

    B2

    C3

    D4

  • 26. 已知类MyClass的定义如下:classMyClass{public:voidfunctionl(MyClass&c){out<<c.data;}statievoidfunction2(MyClas&c){cout<<c.data;}voidfunction3(){out<<data;}statiCvoidfunction4(){COut<<data;}private:intdata;}:其中有编译错误的函数是()。[1分]

    Afunction1

    Bfunction2

    Cfunction3

    Dfunction4

  • 27. 有如下程序:#includeusingnamespacestd;classPair{intm,n;public;Pair(intj,intk):m(j),n(k){}intget(){returnm;}intget()const{returnm+n;}};intmain(){Paira(3,5);constPairb(3,5);cout<<a.get()<return0;}运行时的输出结果是()。[1分]

    A33

    B38

    C83

    D88

  • 28. 下列关于栈的描述正确的是()。[1分]

    A在栈中只能插入元素而不能删除元素

    B在栈中只能删除元素而不能插入元素

    C栈是特殊的线性表,只能在一端插入或删除元素

    D栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素

  • 29. 若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是()。[1分]

    Am[--i]

    Bm[2*2]

    Cm[m[o]]

    Dm[m[i]]

  • 30. 有定义语句“chars[10];”,若要从终端给S输入5个字符,错误的输入语句是()。[1分]

    Agets(&s0);

    Bscanf("%s",s+1);

    Cgets(s);

    Dscanf("%s",s[1]);

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

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

    B可以为类模板参数设置默认值

    C类模板描述了一组类

    D类模板中只允许有一个类型参数

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

    A软件工程只是解决软件项目的管理问题

    B软件工程主要解决软件产品的生产率问题

    C软件工程的主要思想是强调在软件开发过程中需要应用工程化原则

    D软件丁二程只是解决软件开发中的技术问题

  • 33. 有以下程序:#includeusingnamespacestd;#defineP13.14classPoint{private:intX,y;public:Point(inta,intb){x=a:y=b;}intgetx(){returnX;}intgety(){returny;}};classCircle:publicPoint{private:intr;public:Circle(inta,intb,intc):Point(a,b){r=C;}intgetr(){returnr;}doublearea(){returnPI*r*r;}};intmain()(Circlec1(5,7,10);cout<<c1.area()<return0;}程序执行后的输出结果是()。[1分]

    A314

    B157

    C78.5

    D153.86

  • 34. 下列工具中为需求分析常用工具的是()。[1分]

    APAD

    BPFD

    CN-S

    DD.DFD

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

    AP8一E4

    BP8一C16一

    CP0一E4一

    DP0一C16—

  • 36. 能正确表示逻辑关系”a≥10或a≤0”的C++语言表达式是()。[1分]

    Aa>=10ora<=0

    Ba)一01a(一10

    Ca>=10&&a<=0

    Da>=10||a(=0

  • 37. 下列程序的运行结果为()。#includetemplateclassFF{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<<x.sum()<<''<<<endl;}[1分]

    A6.115.2

    B615

    C615.2

    D6.115

  • 38. 某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。[1分]

    A10

    B8

    C6

    D4

  • 39. 定义如下枚举类型enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2};则下列选项正确的是()。[1分]

    A表达式Wednesday==Friday的值是true

    BDayday;day=3;

    CDayday;day=Monday+3;

    DDaydayday=Tuesday+10;

  • 40. 负责数据库中查询操作的数据库语言是()。[1分]

    A数据定义语言

    B数据管理语言

    C数据操纵语言

    D数据控制语言

  • 41. 有如下类模板定义:templateclassBigNumber{longn;public;BigNumber{Ti}:n(i){}BigNumberoperator+(BigNumberb){returnBigNumber{n+b.n);}};已知b1、b2是BigNumber的两个对象,则下列表达中踏误的是()。[1分]

    Ab1+b2

    Bb1+3

    C3+b1

    D3+3

  • 42. 下列关于栈的叙述正确的是()。[1分]

    A栈顶元素最先被删除

    B栈顶元素最后才能被删除

    C栈底元素永远不能被删除

    D以上三种说法都不对

  • 43. 数据库设计中,用E—R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的()。[1分]

    A需求分析阶段

    B逻辑设计阶段

    C概念设计阶段

    D物理设计阶段

相关试卷
相关题库