首页 > 全部 > 二级C++ > 国家二级C++机试(操作题)模拟试卷376

国家二级C++机试(操作题)模拟试卷376

本单篇文档共6337字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 2525人下载
价格: 1.00 原价:¥8.80
收藏

国家二级C++机试(操作题)模拟试卷376

基本操作题

1.使用VC6打开考生文件夹pmjI下的工程pmjI,其中定义了一个CD类。程序中位于每个//ERROR************found**********下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是:

歌唱祖国30

义勇军进行曲95

注意:只能修改每个//ERROR**********found***********下的那一行,不要改动程序中的其他内容。

#include

#include

usinq namespace std;

clasS CD

{

char name[20],

int number;

public:

void init(char*aa,int bb)

{

//ERROR*****found*****

name=aa;

number=bb;

}

char*getName(){

//ERROR*****found*****

return*name;

}

int getNumber(){return number;)

void output(){

//ERROR*****found*****

cout<<name[20] <<’’<<num—

ber<<endl;

}

};

void main()

{

CD dx,dy;

dx.init(”歌唱祖国”,30);

dy.init(”义勇军进行曲”,3*dx.getNumber()+5);

dx.output();

dy.output();

}

(1)strcpy(name,aa);

(2)return name;

(3)cout<<name<<’’<<number<<end1:

解析:程序定义CD类,它包含两个数据成员:字符数组name和整型变量number;还包含四个公有成员函数,init()函数接收两个参数,用参数对数据成员进行赋值;getName()函数返回数据成员name;getNumber()函数返回数据成员number;output()函数将数据成员name和number输出。CD类的定义体中,有三个错误:

(1)init()函数将形参aa赋给name,由于n&rne是字符数组,所以不能通过简单的赋值运算符进行赋值,应该使用strcpy()函数将形参aa指向的字符串拷贝到name中。

(2)getName()函数的返回值为char*类型,所以函数体的return语句应该返回name,而不是name指向的字符串。

(3)output()函数需要输出两个数据成员,输出字符数组时,只需要给出数组名name即可。

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹pmj2下的工程proj2,其中在编辑窗口内显示的主程序文件中定义有类Base和Derived,以及主函数main。程序文本中位于每行 “//****found****”下面的一行内有一处或多处下画线标记,请在每个下画线标记处填写合适的内容,并删除下画线标记。经修改后运行程序,得到的输出应为:

sum=55.

注意:只在横线处填写适当的代码,不要改动程序中的其他内容。

#include

using namespace std;

ClaSS Base

{

public:

Base(int m1,int m2){

meta1=m1;mem2=m2;

}

int SLIm(){return mem1+mem2;)

private:

int mem1,mem2;//基类的数据成员

};

//派生类Derived从基类Base公有继承

//************* found**************

claSS Derived:

{

public:

//构造函数声明

Derived(int m1,int m2,int m3);

//sum函数定义,要求返回meml、mem2和

mem3之和

//************* found**************

int sum(){return________+mere3;}

private:

int mere3; //派生类本身的数据成员

};

//构造函数的类外定义,要求由m1和m2分别初始化mem1和mem2,由m3初始化mem3

//**********found**********

_______Derived(int m1,int m2,int

m3):

//**********found*********

______,mere3(m3){)

int main(){

Base a(4,6);

Derived b(10,15,20);

int sum=a.sum()+b.sum();

cout;<<”sum=”<<sum<<endl;

return 0;

}

(1)public Base

(2)Base::sum()

(3)Derived::

(4)Base(m1,m2)

解析:(1)主要考查考生对公有继承的掌握情况,根据题目要求:派生类Derived从基类Base公有继承,因此这里使用public来公有继承。

(2)主要考查考生对成员函数的掌握情况,根据题目对sum函数的要求:sum函数定义,要求返回meml、mem2和mem3之和,因此这里直接调用基类的sum函数,再加上merrr3就满足题目要求。

(3)主要考查考生对构造函数的掌握情况,由于Derived的构造函数在类外定义,因此要加上类名和作用域符,即Derived::。

(4)主要考查考生对构造函数的掌握情况,因为Deftved是Base类的派生类,所以其构造函数要使用成员列表初始化先给Base初始化。

综合应用题

3.请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,其中该工程中包含定义了用于表示姓名的抽象类Name、表示“先名后姓”的姓名类Name1(名、姓之间用空格隔开)和表示“先姓后名”的姓名类Name2(姓、名之间用逗号隔开);程序应当显示:

John Smith

Smith,John

本文档预览:3600字符,共6337字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(操作题)模拟试卷376

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号