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

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

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

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

基本操作题

1.请使用VC6或使用【答题】菜单打开考生文件夹pmjl下的工程pmjl。其中有线段类Line的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:

End point 1=(1,8),End point 2=(5,2),length=7.2111。

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

#include

#include

using namespace std;

class Line;

double length(Line);

class Line{ //线段类

double x1,y1;//线段端点1

double x2,y2;//线段端点2

public:

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

Line(double x1,double yl,double

x2,double y2)const{

this->x1=x1;

this->y1=y1;

this->x2=x2;

this->y2=y2;

}

double getX1()const{return x1;}

double getYl()const{return y1;}

double getX2()const{return x2;}

double getY2()const{return y2;}

void show()const{

tout<<”End point 1=(”<<x1<<”,”

<<y1;

cout<<”),End point 2=(”<<x2

<<”,”<<y2;

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

cout<<”),length=”<<length

(this)

<<”o”<<endl;

}

};

double length(Line 1){

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

return sqrt((1.x1—1.x2)*(1.x1—

1.x2)+(1.y1—1.y2)*(1.y1一1.y2));

}

int main(){

Line r1(1.0,8.0,5.0,2.0);

r1.show();

return 0;

}

(1)Line(double x1,double y1,double x2,double y2){

(2)cout<<”),length=”<<length(*this)<<“。”

<<endl:

(3)return sqrt((1.getXl()一1.get)(2())*(1.getXl

()一1.getX2())+(1.getYl()一1.getY2())*(1.getYl

()一1.getY2()));

解析:(1)主要考查考生对构造函数的掌握,构造函数要给私有成员赋初始值,因此不能使用eonst来限制。

(2)主要考查考生对this指针的掌握,由函数length的声明double length(Line);可知,length函数的形参是Line类,在void show()const函数里,this指针指向的是当前Line类,因此可以用*this表示当前Line类。

(3)主要考查考生对成员函数的掌握,length函数是类外函数,不能直接调用类的私有成员,因此要通过成员函数取得对应的值。

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Tfiangle的成员函数和其他函数的定义;还包含程序文件proj2.cpp,其中包含测试类Shape、Point和Triangle的程序语句。请在程序中的横线处填写适当的代码并删除横线,以实现上述功能。此程序的正确输出结果应为:

此图形是一个抽象图形,周长=0,面积=0

此图形是一个三角形,周长=6.82843,面积=2

注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。

//shape.h

class Shape{

public:

virtual double perimeter()const{

return 0;) //返回形状的周长

virtual double area()const{re-

turn 0;} //返回形状的面积

virtual const char* name()const

{return\\

(1)X(x0),Y(y0)

(2)Point point1,point2,point3

(3)retum length(point1,point2)+length(point1,

point3)+length(point2,point3)

(4)void show(Shape&shape)

解析:(1)主要考查考生对构造函数的掌握,题目要求用x0、y0初始化数据成员x、y,因此在这里使用成员列表初始化,即Point(double x0,double y0):x(x0),y(y0){}。

(2)主要考查考生对构造函数的掌握,题目要求定义3个私有数据成员。由构造函数可知3个私有数据成员的类型都是Point,名称分别为point1、point2和point3,因此空格处填写:Point peint1,point2,point3。

(3)主要考查考生对成员函数的掌握,题目要求使用咖语句,利用length函数计算并返回三角形的周长。

length函数返回的是两点间的距离,因此return语句只要返回三角形三条边的距离和,即为三角形的周长。

(4)主要考查考生对成员函数的掌握,这里要定义show函数的函数头(函数体以前的部分)。由主函数main中show函数的使用情况Show(s)和show(tri)可知,S是Shape类,tri是Triangle类,因为Triangle是Shape类的派生类,所以可知show函数的参数是Shape类型,无返回值,得出语句void show(Shape&shape)。

3.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号