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

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

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

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

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

    1、国家二级 C+机试(操作题)模拟试卷 503及答案与解析 一、基本操作题 1 请打开考生文件夹下的解决方案文件 proj1,此工程中包含了类 Pets(“宠物 ”)和主函数 main的定义。程序中位于每个 “ ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: Name: sonny Type: dog Name: John Type: dog Name: Danny Type: cat Name: John Type: dog 注意:只修改每个 “ ERROR*found*”下的那一行,不要改动程序中的其他内容。 #include iostream usi

    2、ng namespace std; enum Pets typedog, cat, bird, fish; class Pets private: char*name; Pets_typetype; public: Pets, const char*name=“sonny“, Pets type type=dog); Pets&operator=(const Pets &s); Pets( ); void show( )conSt; ; Pets: Pets(const char*name, Pets_type type) 构造函数 this- name=new charstrlen(name

    3、)+1; strcpy(this- name, name); ERROR*found* type=type; Pets: Pets( )析构函数,释放 name所指向的字符串 ERROR*found* name= 0; Pets&Pets: operator=(constPets&S) if(&s=this)确保不要向自身赋值 return*this; delete name; name=new charstrlen(s name)+1; ERROR*found* strcpy(this- name, name); type=s type; return*this; void Pets: sh

    4、ow( )const cout “Name: “ name “Type: “; switch(type) case dog: cout “dog“; break; casecat: cout “cat“; break; case bird: cout “bird“; break; case fish: cout “fish“; break; cout endl; int main( ) Pets mypet1, mypet2(“John“, dog); Petsyoupet(“Danny“, cat); mypet1 show( ); mypet2 show( ); youpet show(

    5、); youpet: mypet2; youpet show( ); return0; 二、简单应用题 2 请打开考生文件夹下的解决方案文件 proj2,此工程中包含一个程序文件main cpp,其中有 “班级 ”类 Class和 “学生 ”类 Student的定义,还有主函数 main的定义。在主函数中定义了两个 “学生 ”对象,他们属于同一班级。程序展示,当该班级换教室后,这两个人的教室也同时得到改变。请在横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的正确输出结果应为: 改换教室前: 学号: 0789 姓名: 张三 班级: 062113 教室: 521 学号: 0513 姓

    6、名:李四 班级: 062113 教室: 521 改换教室后: 学号: 0789 姓名:张三 班级: 062113 教室: 311 学号: 0513 姓名:李四 班级: 062113 教室: 311 注意:只能在横线处填写适当的代码,不要改动 程序中的其他内容。 #include iostream using namespace std; classClasS “班级 ”类 public: ClasS(const char*id, constchar*room) strcpy(class_id, id); *found* _ const char*getClassID( )constreturn

    7、 class_id; 返回班号 *found* const char*getClasSroom( )const_返回所在教室房号 void changeRoomTo(const char*new_room)改换到另一个指定房号的教室 strcpy(classroom, new_room); private: char class_id20;班号 char classroom20;所在教室房号 , class Student “学生 ”类 char my_id10;学号 char my_name20;姓名 Class&my_class;所在教室 public: *found* Student(c

    8、onst char*the_id, const char*the_name, Class&the_class): _ strcpy(my_id, the_id); strcpy(my_name, the_name); const char*getID( )constreturn my_id; const char*getName( )constreturn my_name; Class getClass( )constreturn my_class; ; void showStudent(Student*stu) cout “学号: “ stu- getID( ) “ “; cout “姓名:

    9、 “ stu- getName( ) “ “; cout “班级: “ stu- getClass( ) getClasSID( ) “ “; cout “教室: “ stu- getClass( ) getClassroom( ) endl; int main( ) Class cla(“062113“, “521“); Student Zhang(“0789“, “张三 “, cla), Li(“0513“, “李四 “, cla); cout “改换教室前: “ endl; showStudent(&Zhang); showStudent(&Li); 062113班的教室由 521改换到

    10、 311 *found* cout “改换教室后: “ endl; showStudent(&Zhang); showStudent(&Li); return0; 三、综合应用题 3 请打开考生文件夹下的解决方案文件 proj3,此工程中包含一个源程序文件proj3 cpp,其中定义了用于表示平面坐标系中的点的类 MyPoint和表示矩形的类MyRectangle;程序应当显示: (0, 2)(2, 2)(2, 0)(0, 0)4 但程序中有缺失部分,请按照以下提示,把缺失部分补充完整: (1)在 “ *1* *found*”的下方是构造函数的定义,它用参数提供的左上角和右下角的坐标对 up_

    11、left和 down_right进行初始化。 (2)在 “ *2* *found*”的下方是成员函数 getDownLeft的定义中的一条语句。函数 getDownLeft返回用 MyPoint对象表示的矩形的左下角。 (3)在 “ *3* *found*”的下方是成员函数 area的定义,它返回矩形的面积。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动 “*found*”。 proj3 cpp #include iostream using namespace std; class MyPoint表示平面坐标系中的点的 类 double x; double y;

    12、 public: MyPoint(double x, doubley )this- x=x; this- y=y; double getX( )constreturn x; double getY( )constreturn y; void show( )constcout ( x , y ); ; class MyRectangle表示矩形的类 MyPoint up_left;矩形的左上角顶点 MyPoint down_right;矩形的右下角顶点 public: MyRectangle(MyPoint upleft, MyPoint downright); MyPoint getUpLef

    13、t( )constreturn up_left; )返回左上角坐标 MyPoint getDownRight( )constreturn down_right; 返回右下角坐标 MyPoint getUpRight( )const; 返回右上角坐标 MyPoint getD0wnLeft( )const; 返回左下 角坐标 double area( )const;返回矩形的面积 ; *1*found* MyRectangle: MyRectangle (_): up_left(p1), down_right (p2) MyPoint MyRectangle: getUpRight ( )con

    14、st return MyPoint(down right getX( ), up_left getY( ); MyPoint MyRectangle: getDownLeft( )const *2* *found* return MyPoint(_); ) *3* *found* _area( )conSt return(getUpLeft( ) getX( )getDownRight( ) getX( )*(getDownRight( ) getY( )-getU-pLeft( ) getY( ); ) int msin( ) MyRectangle r(MyPoint(0, 2), MyP

    15、oint(2, 0); r getUpLeft( ) show( ); r getUpRight( ) show( ); r getDownRight( ) show( ); r getDownLeft( ) show( ); cout r area( ) endl; return0; 国家二级 C+机试(操作题)模拟试卷 503答案与解析 一、基本操作题 1 【正确答案】 (1)this- type=type; (2)delete name; (3)strcpy(this- name, s name); 【试题解析】 (1)主要考查考生对构造函数的掌握情况,因为形参名和类的私有成员名称都是

    16、type,为了避免混淆,所以规定类的私有成员使用 this指针调用,即: this- type=type;。 (2)主要考查考生对析构函数的掌握情况,题目中要求,释放 name所指向的字符串。要释放 name指针用 delete语句,即 delete name;。 (3)主要考查考生对 strcpy函数的掌握情况, Strcpy函数的形参为两个字符串,而naille为指向字符串的指针,因此使用 语句: strcpy(this_ name, s name);。 二、简单应用题 2 【正确答案】 (1)strcpy(classroom, room); (2)return classroom; (3

    17、)my_class(the_class) (4)cla changeRoomTo(“311“); 【试题解析】 (1)主要考查考生对 strcpy函数的掌握情况,根据上一条语句:strcpy(class_id, id);可知,这条语句要复制字符串 room,因此使用 strcpy函数复制,即 strcpyr(classroom, room);。 (2)主要考查考生对函数返回值的掌握情况,根据函数要求:返回所在教室房号及函数要求返回的类型为 const char*,可以得出这里直接使用 return语句返回classroom即可。 (3)主要考查考生对构造函数的掌握情况,先看函数体中: stre

    18、py(my_id, the_id); strcpy(my_name, the_name); 可知只有参数 Class&the_class未使用,因此在这里使用成员列表初始化给my_class赋初始值。 (4)主要考查考生对成员函数调用的掌 握,程序要求 062113班的教室由 521改换到311。在类 Class中已经定义了函数: void changeRoomTo(eonstchar*newroom),因此直接调用函数 changeRoomTo即可。 三、综合应用题 3 【正确答案】 (1)MyPotnt p1, MyPotnt p2 (2)up_left getx( ), down_r4g

    19、ht getY( ) (3)double MyRectangle: 【试题解析】 (1)考查构造函数,构造函数中的参数要给私有成员赋值,在下句中 up_left(p1), down_right(p2)指出私有成员赋值要使用形参 p1和 p2,因此这里参数要定义为 MyPoint p1, MyPoirIt p2。 (2)主要考查成员函数的返回语句, MyPoint My Rectangle: getDownLeft( )const函数要求返回一个左下角的点坐标,因此使用语句 MyPoint(up_left getX( ),down_right getY( );。 (3)主要考查成员函数的定义,在 MyRectangle类中已经声明 double area( )const,因此此处只要添加 double MyRectangle:即可。


    注意事项

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




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

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

    收起
    展开