2010年全国计算机等级考试二级C++模拟试题(3)上机部分

考试总分:3分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

试卷介绍: 2010年全国计算机等级考试二级C++模拟试题(3)上机部分

开始答题

试卷预览

  • 1. 使用VC6打开考生文件夹下的工程kt4_3,此工程包含一个源程序文件kt4_3.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。(1)补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。请在注释“//**1**”之后添加适当的语句。(2)完成类vector的成员函数input(intx,inty)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句。(3)完成类vector的友元函数frienddoubleMultiply(vector&x,vector&y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值,将请在注释“//**3**”之后添加适当的语句。输出结果如下:(10,20)(2,3)80注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序如下:#includeclassvector{inta;intb;public://**1**voidinput(intx,inty){//**2**}voidoutput(){coutfrienddoubleMultiply(vector&x,vector&y);};doubleMultiply(vector&x,vector&y){//**3**c=x.a*y.a+x.b*y.b;returnc;}voidmain(){vectorx(10,20),y;doubled;y.input(2,3);d=Multiply(x,y);x.output();y.output();cout}[40分]

    A(1)补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。请在注释“//**1**”之后添加适当的语句。

    B(2)完成类vector的成员函数input(intx,inty)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句。

    C(3)完成类vector的友元函数frienddoubleMultiply(vector&x,vector&y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值,将请在注释“//**3**”之后添加适当的语句。输出结果如下:(10,20)(2,3)80注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序如下:#includeclassvector{inta;intb;public://**1**voidinput(intx,inty){//**2**}voidoutput(){coutfrienddoubleMultiply(vector&x,vector&y);};doubleMultiply(vector&x,vector&y){//**3**c=x.a*y.a+x.b*y.b;returnc;}voidmain(){vectorx(10,20),y;doubled;y.input(2,3);d=Multiply(x,y);x.output();y.output();cout}[40分]

  • 2. 使用VC6打开考生文件夹下的工程kt4_1,此工程包含一个源程序文件kt4_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:1:weight:5age:02:weight:7age:9源程序文件kt4_1.cpp清单如下:#includeclassanimal{public:/****************found*******************/friendvoidsetvalue(animal&,int);/****************found*******************/viodprint();protected:intitsweight;intitsage;};voidanimal::print(){coutcout}voidsetvalue(animal&ta,inttw){ta.itsweight=tw;ta.itsage=0;}voidsetvalue(animal&ta,inttw,inttn){ta.itsweight=tw;ta.itsage=tn;}voidmain(){/****************found*******************/animalpeppysetvalue(peppy,5);coutpeppy.print();setvalue(peppy,7,9);coutpeppy.print();}[30分]
  • 3. 请编写一个函数intSeqSearch(intlist[],intstart,intn,intkey),该函数从start开始,在大小为n的数组list中查找key值,返回最先找到的key值的位置,如果没有找到则返回-1。请使用for循环实现。注意:部分源程序已存在文件kt4_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数SeqSearch的花括号中填写若干语句。文件kt4_2.cpp的内容如下:#includeintSeqSearch(intlist[],intstart,intn,intkey){}voidmain(){intA[10];intkey,count=0,pos;cout>A[pos];}cout>key;pos=0;while((pos=SeqSearch(A,pos,10,key))!=-1){count++;pos++;}cout}[30分]
相关试卷
相关题库