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

上传人:dealItalian200 文档编号:1324136 上传时间:2019-10-17 格式:DOC 页数:4 大小:39KB
下载 相关 举报
【计算机类职业资格】二级C++-75 (1)及答案解析.doc_第1页
第1页 / 共4页
【计算机类职业资格】二级C++-75 (1)及答案解析.doc_第2页
第2页 / 共4页
【计算机类职业资格】二级C++-75 (1)及答案解析.doc_第3页
第3页 / 共4页
【计算机类职业资格】二级C++-75 (1)及答案解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

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