欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】国家二级C++机试(操作题)模拟试卷338及答案解析.doc

    • 资源ID:1331836       资源大小:48KB        全文页数:5页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】国家二级C++机试(操作题)模拟试卷338及答案解析.doc

    1、国家二级 C+机试(操作题)模拟试卷 338 及答案解析(总分:8.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请使用 VC6 或使用【答题】菜单打开考生文件夹 pmjl 下的工程 pmjl。其中有线段类 Line 的定义。程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: End point 1=(1,8),End point 2=(5,2),length=72111。 注意:只修改每个“ERROR*found*”下的那一行,不要改动程序中的其他内容。#includeiostream#includecmat

    2、husing namespace std;class Line;double length(Line); class Line 线段类 double x1,y1;线段端点 1 double x2,y2;线段端点2public:ERROR*found* Line(double x1,double yl,doublex2,double y2)const this-x1=x1; this-y1=y1; this-x2=x2; this-y2=y2; double getX1()constreturn x1; double getYl()constreturn y1; double getX2()co

    3、nstreturn x2; double getY2()constreturn 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(1x11x2)*(1x11x2)+(1y11y2)*(1y1 一 1y2);int main() Line r1(10,80,50,20); r1show();retu

    4、rn 0;(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)2.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj2 下的工程 proj2,此工程中包含一个头文件shapeh,其中包含了类 Shape、Point 和 Triangle 的声明;包含程序文件 shapecpp,其中包含了类Tfiangle 的成员函数和其他函数的定义;还包含程序文件 proj2cpp,其中包含测试类 Shape、Point和 Triangle 的程序语句。请在程序中的横线处填写适当的代码并删除横线,以实现上述功能。此程序的正确输出结果应为: 此图形是一个抽象图形,周长=0,面积=0 此图形是

    5、一个三角形,周长=682843,面积=2 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。/shapeh class Shapepublic: virtual double perimeter()constreturn 0;) 返回形状的周长 virtual double area()constre-turn 0; 返回形状的面积 virtual const char* name()constreturn“抽象图形“;) 返回形状的名称;class Point表示平面坐标系中的点的类 double x; double Y;public:*foun

    6、d* Point (double x0,double y0):_用x0、y0 初始化数据成员 x、y double getX()constreturn x;) double getY()const ( return y;) ; class Triangle:public Shape *found* _:定义 3 个私有数据成员 public: Triangle(Point p1,Point p2,Point p3):pointl(p1),point2(p2),point3(p3) double perimeter()cons t; double area()const; const char*

    7、name()constreturn”三角形”;);shapecpp#include”shapeh”#includecmathdouble length(Point pl,Point p2) return sqrt(p1getX()一 p2getX()*(p1getX()一 p2getX()+(p1getY()一 p2getY()*(p1getY()一p2getY();double Triangle:perimeter()const一个 return 语句,它利用 length 函数计算并返回三角形的周长*found*_;double Triangle:area()const double s=

    8、perimeter()20; return sqrt(s*(slength(pointl,point2)* (slength(point2,point3)* (Slength(point3,pointl);proj2cpp#include”shapeh”#includeiostreamusing namespace std;*found*show 函数的函数头(函数体以前的部分) cout“此图形是一个“shapename()”,周长=”shapeperimeter()”,面积=”shapearea()endl;int main() Shape s; Triangle tri(Point(0,

    9、2),Point(2,0),Point(0,0); show(s); show(tri); return 0;(分数:2.00)_3.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj2 下的工程 proj2,此工程包含有一个源程序文件proj2cpp,其中定义了 Stack 类和 ArrayStack 类。 Stack 是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack 为抽象类,它只定义了栈的用户接口,如下所示: 公有成员函数 功能 push 入栈:在栈顶位置添加一个元素 pop 退栈:取出并返回栈顶元素 ArrayStack 是 Stack 的派生类,它实现了

    10、Stack 定义的接口。ArrayStack 内部使用动态分配的字符数组作为栈元素的存储空间。数据成员 maxSize 表示的是栈的最大容量,top 用于记录栈顶的位置。成员函数 push 和 poP 分别实现具体的入栈和退栈操作。 请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为: a,b,c c,b,a 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。proj 2cpp#includeiostreamusing namespace std;class Stackpublic: virtual void p

    11、ush(char c)=0; virtual char pop()=0;;class ArrayStack:public Stack char*P; int maxSize; int top;public: ArrayStack(int s) top=0; maxSize=s;/*found*p=_; 一 ArrayStack() /*found*_;void push(char c) if(top=maxSize) cerr”Overflow!n”; return; *found*_; top+; char pop() if(top=0) cerr”Underflow! n”; return

    12、0; top-;/* found*_;;void f(Stack void writeTOFile(const char*); maincpp #include”ValArrayh” ValArray:ValArray(const ValArray v2print(cout); coutendl; writeToFile(”); return 0;(分数:2.00)_国家二级 C+机试(操作题)模拟试卷 338 答案解析(总分:8.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请使用 VC6 或使用【答题】菜单打开考生文件夹 pmjl 下的工程 pmjl。其中有线

    13、段类 Line 的定义。程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: End point 1=(1,8),End point 2=(5,2),length=72111。 注意:只修改每个“ERROR*found*”下的那一行,不要改动程序中的其他内容。#includeiostream#includecmathusing namespace std;class Line;double length(Line); class Line 线段类 double x1,y1;线段端点 1 double x2,y2;线段端点2public:ERR

    14、OR*found* Line(double x1,double yl,doublex2,double y2)const this-x1=x1; this-y1=y1; this-x2=x2; this-y2=y2; double getX1()constreturn x1; double getYl()constreturn y1; double getX2()constreturn x2; double getY2()constreturn y2; void show()const tout”End point 1=(”x1”,”y1; cout”),End point 2=(”x2”,”y

    15、2;ERROR* found* cout”),length=”length(this) ”o”endl; ;double length(Line 1)ERROR*found* return sqrt(1x11x2)*(1x11x2)+(1y11y2)*(1y1 一 1y2);int main() Line r1(10,80,50,20); r1show();return 0;(分数:2.00)_正确答案:(正确答案:(1)Line(double x1,double y1,double x2,double y2) (2)coutlength(*this)解析:解析:(1)主要考查考生对构造函数的

    16、掌握,构造函数要给私有成员赋初始值,因此不能使用eonst 来限制。 (2)主要考查考生对 this 指针的掌握,由函数 length 的声明 double length(Line);可知,length 函数的形参是 Line 类,在 void show()const 函数里,this 指针指向的是当前 Line 类,因此可以用*this 表示当前 Line 类。 (3)主要考查考生对成员函数的掌握,length 函数是类外函数,不能直接调用类的私有成员,因此要通过成员函数取得对应的值。二、简单应用题(总题数:2,分数:4.00)2.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj2

    17、 下的工程 proj2,此工程中包含一个头文件shapeh,其中包含了类 Shape、Point 和 Triangle 的声明;包含程序文件 shapecpp,其中包含了类Tfiangle 的成员函数和其他函数的定义;还包含程序文件 proj2cpp,其中包含测试类 Shape、Point和 Triangle 的程序语句。请在程序中的横线处填写适当的代码并删除横线,以实现上述功能。此程序的正确输出结果应为: 此图形是一个抽象图形,周长=0,面积=0 此图形是一个三角形,周长=682843,面积=2 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。

    18、/shapeh class Shapepublic: virtual double perimeter()constreturn 0;) 返回形状的周长 virtual double area()constre-turn 0; 返回形状的面积 virtual const char* name()constreturn“抽象图形“;) 返回形状的名称;class Point表示平面坐标系中的点的类 double x; double Y;public:*found* Point (double x0,double y0):_用x0、y0 初始化数据成员 x、y double getX()const

    19、return x;) double getY()const ( return y;) ; class Triangle:public Shape *found* _:定义 3 个私有数据成员 public: Triangle(Point p1,Point p2,Point p3):pointl(p1),point2(p2),point3(p3) double perimeter()cons t; double area()const; const char*name()constreturn”三角形”;);shapecpp#include”shapeh”#includecmathdouble

    20、length(Point pl,Point p2) return sqrt(p1getX()一 p2getX()*(p1getX()一 p2getX()+(p1getY()一 p2getY()*(p1getY()一p2getY();double Triangle:perimeter()const一个 return 语句,它利用 length 函数计算并返回三角形的周长*found*_;double Triangle:area()const double s=perimeter()20; return sqrt(s*(slength(pointl,point2)* (slength(point2

    21、,point3)* (Slength(point3,pointl);proj2cpp#include”shapeh”#includeiostreamusing namespace std;*found*show 函数的函数头(函数体以前的部分) cout“此图形是一个“shapename()”,周长=”shapeperimeter()”,面积=”shapearea()endl;int main() Shape s; Triangle tri(Point(0,2),Point(2,0),Point(0,0); show(s); show(tri); return 0;(分数:2.00)_正确答案

    22、:(正确答案:(1)X(x0),Y(y0) (2)Point point1,point2,point3 (3)retum length(point1,point2)+length(point1, point3)+length(point2,point3) (4)void show(Shapeclass Stackpublic: virtual void push(char c)=0; virtual char pop()=0;;class ArrayStack:public Stack char*P; int maxSize; int top;public: ArrayStack(int s)

    23、 top=0; maxSize=s;/*found*p=_; 一 ArrayStack() /*found*_;void push(char c) if(top=maxSize) cerr”Overflow!n”; return; *found*_; top+; char pop() if(top=0) cerr”Underflow! n”; return0; top-;/* found*_;;void f(Stack void writeTOFile(const char*); maincpp #include”ValArrayh” ValArray:ValArray(const ValAr

    24、ray v2print(cout); coutendl; writeToFile(”); return 0;(分数:2.00)_正确答案:(正确答案:size =othersize; V=new int slze; for(int i=0;i 解析:解析:主要考查考生对复制构造函数的掌握,ValArray 类的复制构造函数应实现对象的深层复制。由 ValArray 类的构造函数: ValArray(const int* p,int n) :size (n) v=new intsize; 给 v 分配大小为 size 的空间 for (int i =0; i size; i+) /遍历 p vi=pi; 把 pi赋值给 vi 可知类中 v 是动态数组,size 表示数组长度,因此要先给 v 分配空间为 size,再逐个元素复制以达到对象的深层复制。


    注意事项

    本文(【计算机类职业资格】国家二级C++机试(操作题)模拟试卷338及答案解析.doc)为本站会员(arrownail386)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开