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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生交件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(intN[4])的功能是用4个数字,组成互不相同且无重复数字的3位数,并将满足所有条件的数字输出到屏幕,并且每输出一个3位数就换一行。程序分析:可填在百位、十位、个位的数字都是1、2、3、0。组成所有的排列后再去掉不满足条件的排列。如果判定第一个数字是0,则也去掉。试题程序:#includevoidfun(intN[4]){}intmain()intN[4]={1,2,3,0};fun(N):return0;}[24分]
  • 2. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正其中的错误,使得程序正确运行。程序输出:s1:n=20s2:n=10执行s3.add(s1,s2)s3:n=30s4:n=30注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。试题程序:#includen=s1.n+s2.n;//********error********return(this);}voiddisp(){cout<<"n一="<<n<}//********error********}voidmain(){TCs1(20),s2(10),s3,s4;cout<<"s1:";s1.disp();cout<<"s2:";s2.disp();s4=s3.add(s1,s2);cout<("执行s3.add(s1,s2)\ns3:";s3.disp();COUt<<"s4:";s4.disp();}[18分]
  • 3. 使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示雇员的Employee类,但类Em-ployee的定义并不完整。请按要求完成下列操作,将类TC的定义补充完整。(1)定义私有数据成员name、street、city、zipcode和age分别用于表示姓名、街道、城市、邮编、年龄,除年龄是整型外,其余都是char型的数据。请在注释1之后添加适当的语句。(2)完成默认构造函数TC的定义,使其把参数传递给私有数据成员name、streel、city、zipcode和age。请在注释2之后添加适当的语句。(3)完成成员函数aherName(char*newName)的定义。请在注释3之后添加适当的语句。(4)完成成员函数IsEqual(char*ename)的定义,实现当name相等时返回真,否则返回假的功能。请在注释4之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。试题程序:#include#include<string.h)#defineMAXLEN20classTC{private://********、********intage;public:TC(char*newName,char*newStreet,char*newCt,char*newZp,intnewAge);voidalterName(char*newName);voiddisplay();boolIsEqual(char*ename);};TC::TC(char*newName,char*newStreet,char*newCt,char*newZp,intnewAge){//********2********age=newAge;}voidTC::alterName(char*newName){//********3********}boolTC::IsEqual(char*ename){//********4********}voidTC::display(){cout<<name<<""<<street<<"";cout<<city<<""<<zipcode<<""<<age<}voidmain(void){TCemployee[4]={TC("张三","海淀区复兴路l号","北京","000001",18),TC("李四","海淀区复兴路2号","北京","000002",19),TC("王五","海淀区复兴路3号","北京","000003",20),TC("赵六","海淀区复兴路4号","北京","000004",21)};for(inti=0;i<4;i++)employee[i].display();cout<<"\n修改\"李四\"的名字为\"李小四\"\n"<for(intj=0;j<4;j++){if(employee[j].IsEqual("李四")){employee[j].aherName("李小四");employee[j].display();break;}}}[18分]

    A(1)定义私有数据成员name、street、city、zipcode和age分别用于表示姓名、街道、城市、邮编、年龄,除年龄是整型外,其余都是char型的数据。请在注释1之后添加适当的语句。

    B(2)完成默认构造函数TC的定义,使其把参数传递给私有数据成员name、streel、city、zipcode和age。请在注释2之后添加适当的语句。

    C(3)完成成员函数aherName(char*newName)的定义。请在注释3之后添加适当的语句。

    D(4)完成成员函数IsEqual(char*ename)的定义,实现当name相等时返回真,否则返回假的功能。请在注释4之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。试题程序:#include#include<string.h)#defineMAXLEN20classTC{private://********、********intage;public:TC(char*newName,char*newStreet,char*newCt,char*newZp,intnewAge);voidalterName(char*newName);voiddisplay();boolIsEqual(char*ename);};TC::TC(char*newName,char*newStreet,char*newCt,char*newZp,intnewAge){//********2********age=newAge;}voidTC::alterName(char*newName){//********3********}boolTC::IsEqual(char*ename){//********4********}voidTC::display(){cout<<name<<""<<street<<"";cout<<city<<""<<zipcode<<""<<age<}voidmain(void){TCemployee[4]={TC("张三","海淀区复兴路l号","北京","000001",18),TC("李四","海淀区复兴路2号","北京","000002",19),TC("王五","海淀区复兴路3号","北京","000003",20),TC("赵六","海淀区复兴路4号","北京","000004",21)};for(inti=0;i<4;i++)employee[i].display();cout<<"\n修改\"李四\"的名字为\"李小四\"\n"<for(intj=0;j<4;j++){if(employee[j].IsEqual("李四")){employee[j].aherName("李小四");employee[j].display();break;}}}[18分]

  • 4. 设R是一个二元关系,S是一个三元关系,则下列运算中正确的是()。[1分]

    AR-S

    BR×S

    CR∩S

    DR∪S

  • 5. 软件详细设计产生的如下图所示。该图是()。[1分]

    AN—S图

    BPAD图

    C程序流程图

    DE—R图

  • 6. 有以下程序:#includeusingnamespacestd;classA{public:A(){cout<<"A";}};classB{public:B(){cout<<"B";}};classC:publicA{Bb;public:C(){cout<<"C";}};intmain(){Cobj;return0;}执行后的输出结果是()。[1分]

    ACBA

    BBAC

    CACB

    DABC

  • 7. 有下列程序:#includevoidmain(){ints[12]={1,2,3,4,4,3,2,1,1,1,2,3),c[5]={0},i;for(i=0;i<12;i++)c[s[i]]++;for(i=1;i<5;i++)printf("%d",c[i]);printf("\n")}程序的运行结果是()。[1分]

    A1234

    B2344

    C4332

    D1123

  • 8. 有如下程序;#includeusingnamespacestd;clasBasel{public:Basel(intd){cout<<d;}-Basel(){}};classBase2{public:Base2(intd){out<<d;}~Base2(){}};classDerived:publicBase1,Base2{public:Derived(inta,intb,intC,intd):Basel(b),Base2(a),b1(d),b2(c){}private:intb1;intb2;};intmain(){Derivedd(1,2,3,4);return0;}运行时的输出结果是()。[1分]

    A1234

    B2134

    C12

    D21

  • 9. 对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为()。[1分]

    A125

    Bn/Z

    Cn

    Dn+1

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

    A1:1联系

    B1:m联系

    Cm:1联系

    Dm:n联系

  • 11. 将x+y*z中的“+”用成员函数重载,“*”是友元函数重载应写为()。[1分]

    Aoperator+(operator*(y,z))

    Bx.operator+(operator*(y,z))

    Cx.operator+(X*(y,z))

    Dx+(operator*(y,z))

  • 12. 定义无符号整数为Uint,下面可以作为类Uint实例化值的是()。[1分]

    A-369

    B369

    C0.369

    D整数集合

  • 13. 设有定义:classC{public:intvalue;…};intX,*P;则以下引用形式中,正确的是()。[1分]

    Ax=value;

    Bx=C::value;

    Cp=&value

    Dp=C::value

  • 14. 为了使模块尽可能独立,要求()。[1分]

    A模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强

    B模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱

    C模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱

    D模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强

  • 15. 支持子程序调用的数据结构是()。[1分]

    A

    B

    C队列

    D二叉树

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

    A耦合性

    B内聚性

    C复杂性

    D数据传输特性

  • 17. 下列叙述中,不属于测试的特征的是()。[1分]

    A测试的挑剔性

    B完全测试的不可能性

    C测试的可靠性

    D测试的经济性

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

    A构造函数名与类名相同

    B构造函数可以有返回值

    C构造函数可以重载

    D每个类都有构造函数

  • 19. 所有在函数中定义的变量及函数的形式参数,都属于()。[1分]

    A全局变量

    B局部变量

    C静态变量

    D常量

  • 20. 下列结构体类型说明和变量定义中正确的是()。[1分]

    Atypedefstruct;{intn;charC;}REC;RECt1,t2;

    BstructREC;{intn;charC;}RECt1,t2;

    CtypedefstructREC;{intn=0;charc='A';}t1,t2

    Dstruct{intn;charC;}REC;RECt1,t2

  • 21. 下列描述中,抽象类的特性是()。[1分]

    A可以说明虚函数

    B可以定义友元函数

    C可以进行构造函数重载

    D不能说明其对象

  • 22. 数据流图中带有箭头的线段表示的是()。[1分]

    A控制流

    B事件驱动

    C模块调用

    D数据流

  • 23. 有下列二叉树,对此二叉树中序遍历的结果是()。[1分]

    AABCDEF

    BBDAECF

    CABDCEF

    DABCDFE

  • 24. 将E-R图转换到关系模式时,实体与实体间的联系可以表示成()。[1分]

    A属性

    B关系

    C

    D

  • 25. 在下列程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD()。#includeusingnamespacestd;classA{public:A(){cout<<'A';}};classB:{public:B(){cout<<'B';}};classC:virtualpublicA{public:C(){cout<<'C';}};classD:publicB,publicD{public:D(){cout<<'D';}};voidmain(){D04;}[1分]

    ApublicA

    BprivateA

    CprotectedA

    DvirtualpublicA

  • 26. 以下定义语句中正确的是()。[1分]

    Ainta=b=0;

    BcharA=65+1,b='b';

    Cfloata=1,"b=&a,"c=&b;

    Ddoublea=0.0;b=1.1;

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

    A3

    B4

    C6

    D7

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

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

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

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

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

  • 29. 下面说法正确的是()。[1分]

    A内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方

    B内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方

    C类的内联函数必须在类体内定义

    D类的内联函数必须在类体外通过加关键字inline定义

  • 30. 使用白盒测试法时,确定测试数据应该根据()和指定的覆盖标准。[1分]

    A程序的内部逻辑

    B程序的复杂结构

    C使用说明书

    D程序的功能

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

    A不合法的运算符

    B一元运算符

    C无操作数的运算符

    D二元运算符

  • 32. 有以下程序:#includeusingnamespacestd;classA{public:A(){cout<<"A";}};classB{public:B(){cout<<"B";}};classC:publicA{Bb;public:C(){cout<<"C";}};intmain(){Cobj;return0;}执行后的输出结果是()。[1分]

    ACBA

    BBAC

    CACB

    DABC

  • 33. 下列选项中不符合良好程序设汁风格的是()。[1分]

    A源程序要文档化

    B数据说明的次序要规范化

    C避免滥用goto语句

    D模块设计要保证高耦合、高内聚

  • 34. 下列运算符函数中肯定不属于类FunNumber的成员函数的是()。[1分]

    Aintoperator-(FunNumber);

    BFunNumberoperator-();

    CFunNumberoperator-(int);

    Dintoperator-(FunNumber,FunNumber);

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

    A栈是“先进先出”的线性表

    B队列是“先进后出”的线性表

    C循环队列是非线性结构

    D有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

  • 36. 对于语句“cout<<setfill('*')<<setw(10)<<1<<setfill('*')<<setw(2)<[1分]

    A*********1*2

    B********12

    C*******1*2

    D12********

  • 37. 若有定义语句“doublex,y,*px,*Py;执行了px=&x;py=&y;”后,正确的输入语句是()。[1分]

    Ascanf("%f%f",x,y);

    Bscanf("%f%f"&x,&y);

    Cscanf("%If%le",px,py);

    Dscanf("%lf%If"x,y);

  • 38. 有如下程序:#includeusingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}staticintgetNum(){returnn;}private:staticintn;};intTest::n=1;intmain(){Test*p=neWTest;deletep;cout<<"n="<<test::getnum()<return0;}执行该程序的输出结果是()。[1分]

    An=0

    Bn=1

    Cn=2

    Dn=3

  • 39. 下面是类Shape的定义:classShape{public:virtualvoidDraw()=0;}下列关于Shape类的描述中,正确的是()。[1分]

    A类Shape是虚基类

    B类Shape是抽象类

    C类Shape中的Draw函数声明有误

    D语句“ShapeS;”能够建立Shape的一个对象S

  • 40. 数据库设计的根本目标是要解决()。[1分]

    A数据共享问题

    B数据安全问题

    C大量数据存储问题

    D简化数据维护

  • 41. 下列对于软件测试的描述中正确的是()。[1分]

    A软件测试的目的是证明程序是否正确

    B软件测试的目的是使程序运行结果正确

    C软件测试的目的是尽可能多地发现程序中的错误

    D软件测试的目的是使程序符合结构化原则

  • 42. 有如下程序:#includeusingnamespacestd;classConcharID;public:Con():ID('A){cout<<1;}Con(charID):ID(ID){eout<<2;}Con(Con&c):ID(c.getID()){cout<<3;}chargetID()corlst{returnID;}};voidshow(Conc)(cout<<c.getid();}intmain(){Conc1:show(c1);Conc2('B');show(c2);return0;}执行上面程序的输出是()。[1分]

    A13A23A

    B23A13B

    C13A23B

    D13823A

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

    A用户定义的函数中可以没有return语句

    B用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

    C用户定义的函数中若没有return语句,则应当定义函数为void类型

    D函数的return语句中可以没有表达式

相关试卷
相关题库