ImageVerifierCode 换一换
格式:DOC , 页数:4 ,大小:39KB ,
资源ID:1324136      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1324136.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C++-75 (1)及答案解析.doc)为本站会员(dealItalian200)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C++-75 (1)及答案解析.doc

1、二级 C+-75 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1。此工程中包括类 Date(“日期”)和主函数 main的定义。程序中位于每个“/ERROR *found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 2006-1-1 2005-12-31 2005-12-31 2006-1-1 注意:只修改每个“/ERROR *found*”下的那一行,不要改动程序中的其他内容。 #include iostream using na

2、mespace std; class Date public: Date(int y=2006, int m=1, int d=1) / ERROR * found* : year=y, month=m, day=d /ERROR * found* Date (const Date d) this-year=d.year; this-month=d.month; this-day=d.day; void print () const cout year - month - day endl; private: /ERROR * found* int year (2006), month(1),

3、 day(1); ; int main () Date d1, d2 (2005, 12, 31), d3; d1.print (); d2.print(); d3=d2; d2=d1; d1=d3; d1.print(); d2.print(); return 0; (分数:30.00)_二、B简单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程 proj2。其中在编辑窗口内显示的主程序文件中定义有类 Point和 Circle,以及主函数 mmn。程序文本中位于每行“/*found*”之后的一行内有一处或多处下画线,请在下画线处填

4、写合适的内容,并删除下画线。经修改后运行程序,得到的输出结果应为: Point:(0,0)3 Point:(4,5)6 28.2743 113.097 #include iostream using namespace std; class Point /定义坐标点类 public: Point (int xx =0, int yy=0) x=xx; y=yy; void PrintP () cout “Point: (“ x “,“ y“)“; private: int x,y; /点的横坐标和纵坐标 ; class Circle /定义圆形类 public: Circle():rr (0)

5、 /无参构造函数 Circle (Point /带参构造函数声明 double Area () return rr* rr* 3.14159; /返回圆形的面积 /PrintP 函数定义,要求输出圆心坐标和半径 /* ound* void PrintP () _; cout rr endl; private: Point cc; /圆心坐标 double rr; /圆形半径 ; /带参构造函数的类外定义,要求由 cen和 rad分别初始化 cc和 rr /* found* Circle:_(Point int main() Point x, y(4,5); Circle a(x,3), b(y

6、,6); /输出两个圆的圆心坐标和半径 a. PrintP (); /* found* _; couta.Area () “ b. Area() endl; return 0; (分数:30.00)_三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生文件夹 proj3下的工程 proj3,其中包含源程序文件 main.cpp和用户定义的头文件 Array.h,整个程序包含有类 Array的定义和主函数 main的定义。请把主程序文件中的 Array类的成员函数 MinTwo()的定义补充完整,经修改后运行程序,得到的输出结果应为: 8 29,20,33

7、,12,18,66,25,14 12.14 注意:只允许在“/*333*”和“/*666*”之间填写内容,不允许修改其他任何地方的内容。 /Arry. h #include iostream #include cstdlib using namespaee std; template class Type class Array /数组类 public: Array(Type b, int mm): size (mm) /构造函数 if(size2) cout “数组长度太小, 退出运行!“; exit(1); a=new Type size; for(int i=0; isize; i+)

8、ai=bi; Array() delete a; /析构 void MinTwo (Type /由 x1和 x2带回数组a中最小的两个值 int Length() const return size; Type operator (int i)const /下标运算符重载为成员函数 if (i0 | i=size) cout“下标越界!“ endl; exit (1); return ai; private: Type * a; int size; ; void writeToFile(const char * ); /不用考虑此语句的作用 /main. cpp #include “Array

9、. h“ template class Type void Array Type:MinTwo (Type /* 333* /* 666* int main () int s18=29, 20, 33, 12, 18, 66, 25, 14; Arrayint d1 (s1, 8); int i, a, b; d1.MinTwo (a, b); cout d1.Length() endl; for(i=0; i7; i+) cout d1i“, “; cout d17 endl; cout a“, “bendl; writeToFile (“); return 0; (分数:40.00)_二级

10、 C+-75 (1)答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1。此工程中包括类 Date(“日期”)和主函数 main的定义。程序中位于每个“/ERROR *found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 2006-1-1 2005-12-31 2005-12-31 2006-1-1 注意:只修改每个“/ERROR *found*”下的那一行,不要改动程序中的其他内容。 #include iostream using names

11、pace std; class Date public: Date(int y=2006, int m=1, int d=1) / ERROR * found* : year=y, month=m, day=d /ERROR * found* Date (const Date d) this-year=d.year; this-month=d.month; this-day=d.day; void print () const cout year - month - day endl; private: /ERROR * found* int year (2006), month(1), da

12、y(1); ; int main () Date d1, d2 (2005, 12, 31), d3; d1.print (); d2.print(); d3=d2; d2=d1; d1=d3; d1.print(); d2.print(); return 0; (分数:30.00)_正确答案:(1):year(y),month(m),day(d) (2)Date(const Date class Point /定义坐标点类 public: Point (int xx =0, int yy=0) x=xx; y=yy; void PrintP () cout “Point: (“ x “,“

13、y“)“; private: int x,y; /点的横坐标和纵坐标 ; class Circle /定义圆形类 public: Circle():rr (0) /无参构造函数 Circle (Point /带参构造函数声明 double Area () return rr* rr* 3.14159; /返回圆形的面积 /PrintP 函数定义,要求输出圆心坐标和半径 /* ound* void PrintP () _; cout rr endl; private: Point cc; /圆心坐标 double rr; /圆形半径 ; /带参构造函数的类外定义,要求由 cen和 rad分别初始

14、化 cc和 rr /* found* Circle:_(Point int main() Point x, y(4,5); Circle a(x,3), b(y,6); /输出两个圆的圆心坐标和半径 a. PrintP (); /* found* _; couta.Area () “ b. Area() endl; return 0; (分数:30.00)_正确答案:(1)cc.PrintP() (2)Circle (3)cc(cen) (4)b.PrintP()解析:考点 本题考查 Point类和 Circle类,其中涉及构造函数和成员函数。 解析 (1)主要考查考生对成员函数的掌握,cc

15、是 Point类,直接调用类的 PrintP函数输出点坐标即可。 (2)主要考查考生对复制构造函数的掌握,复制构造函数的函数名就是类名。 (3)主要考查考生对复制构造函数的掌握,可以使用成员列表初始化。 (4)主要考查考生对成员函数调用的掌握,按题目要求输出 b的信息。三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生文件夹 proj3下的工程 proj3,其中包含源程序文件 main.cpp和用户定义的头文件 Array.h,整个程序包含有类 Array的定义和主函数 main的定义。请把主程序文件中的 Array类的成员函数 MinTwo()的定义

16、补充完整,经修改后运行程序,得到的输出结果应为: 8 29,20,33,12,18,66,25,14 12.14 注意:只允许在“/*333*”和“/*666*”之间填写内容,不允许修改其他任何地方的内容。 /Arry. h #include iostream #include cstdlib using namespaee std; template class Type class Array /数组类 public: Array(Type b, int mm): size (mm) /构造函数 if(size2) cout “数组长度太小, 退出运行!“; exit(1); a=new

17、Type size; for(int i=0; isize; i+) ai=bi; Array() delete a; /析构 void MinTwo (Type /由 x1和 x2带回数组a中最小的两个值 int Length() const return size; Type operator (int i)const /下标运算符重载为成员函数 if (i0 | i=size) cout“下标越界!“ endl; exit (1); return ai; private: Type * a; int size; ; void writeToFile(const char * ); /不用

18、考虑此语句的作用 /main. cpp #include “Array. h“ template class Type void Array Type:MinTwo (Type /* 333* /* 666* int main () int s18=29, 20, 33, 12, 18, 66, 25, 14; Arrayint d1 (s1, 8); int i, a, b; d1.MinTwo (a, b); cout d1.Length() endl; for(i=0; i7; i+) cout d1i“, “; cout d17 endl; cout a“, “bendl; write

19、ToFile (“); return 0; (分数:40.00)_正确答案:(for(int i=2; isize; i+) /i 从 2到 size-1遍历数组if(x2ai) /如果 x2大于 aiif(x1ai) /如果 x1,大于 aix2=x1; /把 x1赋值给 x2x1=ai; /ai赋值给 x1)else /否则x2=ai; /ai赋值给 x2)解析:考点 本题考查 Array类,其中涉及构造函数、析构函数和 const函数。 解析 主要考查考生对数组的掌握,函数要求由 a和 b带回数组 a中最小的两个值。使用 for循环遍历数组,使用条件语句对数组元素进行比较操作,并把最小值赋给 a和 b。

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