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

    [计算机类试卷]国家二级C++机试(操作题)模拟试卷285及答案与解析.doc

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

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

    [计算机类试卷]国家二级C++机试(操作题)模拟试卷285及答案与解析.doc

    1、国家二级 C+机试(操作题)模拟试卷 285及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 proj1下的工程 proj1,此工程包含一个源程序文件 proj1 cpp。其中位于每个注释 “ ERROR *found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: You are right 注意:只修改注释 “ ERROR *found*”的下一行语句,不要改动程序中的其他内容。 proj1 cpp #include iostream using namespace std; class MyClass public: MyClass(int

    2、 x): number(x) ERROR *found* MyClass(int x) ERROR *found* void Judge(MyClass &obj); private: int number; ; void Judge(MyClass &obj) if(obj number 10) cout “You are right “ end1; else cout “Sorry“ end1; int main() ERROR *found* MyClass obj ect; Judge(object); return 0; 二、简单应用题 2 请使用 VC6或使用【答题】菜单打开考生文

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

    4、动 “ *found*”。 shape h class Shape public: virtual double perimeter() const return 0; 返回形状的周长 virtual double area()constreturn 0; 返回形状的面积 virtual const char * name() const return“抽象图形 “)返回形状的名称 ; class Point表示平面坐标系中 的点的类 double x; double y; public: *found* Point(double x0, double y0): _用 x0、 y0初始化数据成

    5、员 x、 y double getX () constreturn x, double gety () constreturn 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“三角形 “; ; shape cpp #

    6、include“shape h“ #include cmath double length(Point p1, Point p2) return sqrt(p1 getX() p2 getX() * (p1 getX() p2 getX() (p1 getY()p2 getY() * (p1 getY() p2 getY(); double Triangle perimeter ()const 一个 return语句,它利用 length函数计算并返回三角形的周长 *found* _; double Triangle area()const double s perimeter() 2 0;

    7、return sqrt(s * (s length (point1, point2)* (s length(point2, point3)* (s length(point3, point1); proj2 cpp #include“shape h“ #include iostream using namespace std; *found* _ show函数的函数头 (函数体以前的部分 ) cout “此图形是一个 “ shape name() “,周长 “ shape perimeter() “,面积 “ shape area() end1; int main() Shape s; Tri

    8、angle tri(Point(0, 2), Point(2, 0), Point(0, 0); show(s); show(tri); return 0; 三、综合应用题 3 请使用【答题】菜单命令或直接用 VC6打开考生文件夹下的工程 proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在 main函数中给出了一组测试数据,此种情况下程序的输出应该是: Zhang 20 Tsinghua。 注意:只能在函数 address_change的 “ *333*”和“*666*”之间填入若干语句,不要改动程序中的其他内容。 程序最后将结果输出到文件 out dat中。输出函数 wr

    9、iteToFile已经编译为 obj文件,并且在本程序中调用。 proj3 h #include iostream #include string using namespace std; class Person char name20; int age; char * address; public: Person() age 0; address 0; void name_change(char * _name); 名字修改函数 void age_change(int_age); 年龄修改函数 void address_change(char*_ add); 地址修改函数 void in

    10、fo display(); 人员信息显示 Person(); 析构函数 ; void wrriteToFile(const char * path); proj3 cpp #include iostream #include string #include“proj3 h“ using namespace std; void Person name change(char * _name 1 strcpy(name, name); void PeEson age_change(int_age) age _age; void PeEson address_change (char *_add)

    11、if(address! NULL)deleteaddress; *333* *666* void Person info_display() cout name t age t; if(address! NULL) cout address end1; tout end1; Person PeEson() if(address! NULL) deleteaddress; void main() PeEson p1; p1 name_change(“Zhang“); p1 age_change(20); p1 address_change(“Tsinghua University“); p1 a

    12、ddress change(“Tsinghua“); p1 info display(); writeToFile(“); 国家二级 C+机试(操作题)模拟试卷 285答案与解析 一、基本操作题 1 【正确答案】 (1) MyClass() (2)friend void Judge(MyClass &obj); (3)MyClass object(10); 【试题解析】 (1)主要考查考生对析构函数 的掌握,析构函数是没有形参的,因此把形参去掉即可,因为该类没有动态分配空间,所以不需要使用 delete语句释放空间。 (2)主要考查考生对友元函数的掌握,在函数定义中有语句 void Judge

    13、(MyClass&obj),在 main函数中有语句 Judge(object);,即 Judge函数是可以被类外函数调用的,并且定义时没有加上类名和作用域,因此可以知道 Judge函数是友元函数,需要在类型前加上 friend。 (3)主要考查考生对构造函数调用的掌握,题目要求输出结果为: You are right,在 Judge函数体内有语句: if(obj number 10) cout “You are right “ end1; 要想使屏幕输出语句: You are right,就必须使 obj number的值为 10,因此要使用构造函数语句 MyClass object(10)

    14、;。 二、简单应用题 2 【正确答案】 (1)x(x0), Y(y0) (2)Point point1, point2, point3 (3)return 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(yo)。 (2)主要考查考生对构造函数的掌握,

    15、题目要求定义 3个私有数据成员。由构造函数可知 3个私有数据成员的类型都是 Point,名称分别为 point1、 point2和point3,因此空格处填写: Point point1, point2, point3。 (3)主要考查:考生对成员函数的掌握,题目要求使用 return语句,利用 length函数计算并返回三角形的周长。 length函数返回的是两点间的距离,因此 return语句只要返回三角形三条边的距离和,即为三角形的周长。 (4)主要考查考生对成员函数的掌握,这里要定义 show函数的函数头 (函数体以前的部分 )。由主函数 main中 show函数的使用情况 show(

    16、s)和 show(tri)可知 , s是Shape类, tri是 Triangle类,因为 Triangle是 Shape类的派生类,所以可知 show函数的参数是 Shape类型,无返回值,得出语句 void show (Shape&shape)。 三、综合应用题 3 【正确答案】 address new charstrlen(_add) 1; 给类成员变量动态分配空间 strcpy(address, _add);把字符 _add复制给 address 【试题解析】 函数 address_change(char*_add)的功 能是地址修改,也就是说通过该函数把类的地址修改为 add字符串。类的私有成员 address是字符指针,因此首先要给 address分配空间,通过 new语句来实现: addressnewcharstrlen(_add) 1;。接下来就是要复制字符串,使用系统函数 strcpy,其用法为 strcpy(参数 1,参数 2),将参数 2的内容复制到参数 1中。


    注意事项

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




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

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

    收起
    展开