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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C+-55及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,其中有枚举 PetType、宠物类Pet和主函数 main的定义。程序中位于每个“/ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: There is a dog named Doggie There is a eat named Mimi There is an unknown animal named Puppy 注意:只修改每个“/ERROR*foun

2、d*”下的那一行,不要改动程序中的其他内容。函数 strcpy(char*p,const char*q)的作用是将 q指向的字符串复制到 p指向的字符数组中。 #include iostream using namespace std; enum PetType DOG, CAT, BIRD, FISH, REPTILE, INSECT, OTHER; class Pet /宠物类 PetType type; /类别 char name20; /名字 public: Pet(PetType type, char name) this -type =type; /将参数 name中的字符串复制到

3、作为数据成员的 namer数组中 / ERROR * found* this -name =name; / ERROR * found* PetType getType () const return PetType; const char* getName () const return name; const char* getTypeString()const switch (type) case DOG: return “a dog“; case CAT: return “a cat“; case BIRD: return “a bird“; case FISH: return “a

4、fish“; case REPTILE: return “a reptile“; case INSECT: return “an insect“; / ERROR * found* return OTHER; void show () const cout “There is“ getTypeString() “named“ name endl; ; int main () Pet a_dog (DOG, “Doggie“); Pet a_cat (CAT, “Mimi“); Pet an_animal (OTHER, “Puppy“); a_dog, show (); a_cat.show(

5、); an_animal, show (); return 0; (分数:30.00)_二、B简单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程 proj2,该工程中包含一个源程序文件proj2.cpp。其中定义了模板函数 insert(T dataset,int /请在该部分插入 insert函数模板的实现 template typename T void insert(T setdata, int i size; i+) /*found* if (_) /TODO: 添加代码,判断查找元素的插入位置 for (int j = i

6、; j size; j+) /*found* _; /TODO: 添加一条语句,将插入位置后的所有元素往后移动一个位置 /提示:移动元素应从最后一个元素开始移动 setdatai = item; /插入该元素 size +; return; /* found* _; /TODO: 添加一条语句,将元素加到最后一个位置上 size +; return; int main () int idata10 = 22, 35, 56, 128 ,iitem, isize = 4, dsize = 4, i; double ddata10 = 25.1, 33.5, 48.9, 75.3, ditem;

7、cout “Please input one integer number for inserting:“; cin iitem; insert(idata, isize, iitem); for (i = 0; i isize; i+) cout idatai “; cout endl; cout “Please input one doublenumber for inserting:“; cin ditem; insert(ddata, dsize, ditem); for (i = 0; i dsize; i+) cout ddatai “; cout endl; return 0;

8、(分数:30.00)_三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生文件夹 proj3下的工程文件 proj3,此工程中包含一个源程序文件 proj3.cpp,其中定义了用于表示平面坐标系中的点的类 MyPoint和表示线段的类 MyLine;程序应当显示:(0,0)(1,1)1.41421,1但程序中有缺失部分,请按照以下提示,把缺失部分补充完整:(1)在“/*1* *found*”的下方是构造函数的定义,它用参数提供的两个端点对 point1和point2进行初始化。(2)在“/*2* *found*”的下方是成员函数 length的定义,返回

9、线段的长度。(3)在“/*3* *found*”的下方是成员函数 slope的定义中的一条语句。函数 slope返回线段的斜率,方法是:若线段的两个端点分别是(x 1,y 1)和(x 2,y 2),则斜率 k为:(分数:40.00)_二级 C+-55答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,其中有枚举 PetType、宠物类Pet和主函数 main的定义。程序中位于每个“/ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应

10、为: There is a dog named Doggie There is a eat named Mimi There is an unknown animal named Puppy 注意:只修改每个“/ERROR*found*”下的那一行,不要改动程序中的其他内容。函数 strcpy(char*p,const char*q)的作用是将 q指向的字符串复制到 p指向的字符数组中。 #include iostream using namespace std; enum PetType DOG, CAT, BIRD, FISH, REPTILE, INSECT, OTHER; class

11、Pet /宠物类 PetType type; /类别 char name20; /名字 public: Pet(PetType type, char name) this -type =type; /将参数 name中的字符串复制到作为数据成员的 namer数组中 / ERROR * found* this -name =name; / ERROR * found* PetType getType () const return PetType; const char* getName () const return name; const char* getTypeString()const

12、 switch (type) case DOG: return “a dog“; case CAT: return “a cat“; case BIRD: return “a bird“; case FISH: return “a fish“; case REPTILE: return “a reptile“; case INSECT: return “an insect“; / ERROR * found* return OTHER; void show () const cout “There is“ getTypeString() “named“ name endl; ; int mai

13、n () Pet a_dog (DOG, “Doggie“); Pet a_cat (CAT, “Mimi“); Pet an_animal (OTHER, “Puppy“); a_dog, show (); a_cat.show(); an_animal, show (); return 0; (分数:30.00)_正确答案:(1)strcpy(this-name, name); (2)PetType getType()constreturn type; (3)return “an unknown animal“;)解析:考点 本题考查 Pet类,其中涉及 enum类型、构造函数、const

14、 函数和成员函数。 解析 (1)主要考查字符串复制函数 strcpy(),其格式为:strcpy(字符串 1,字符串 2)或 strcpy(指向字符串 1的指针,指向字符串 2的指针),功能是将字符串 2复制到字符串 1中,本题使用第二种格式。 (2)主要考查考生对成员函数的掌握,根据私有成员的定义类型 PetType type,可知要返回的是 type。 (3)主要考查考生对 switch语句的掌握,当在 switch语句体中找不到相应的字段时,跳出 switch语句,程序返回“an unknown animal“。二、B简单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用

15、答题菜单打开考生文件夹 proj2下的工程 proj2,该工程中包含一个源程序文件proj2.cpp。其中定义了模板函数 insert(T dataset,int /请在该部分插入 insert函数模板的实现 template typename T void insert(T setdata, int i size; i+) /*found* if (_) /TODO: 添加代码,判断查找元素的插入位置 for (int j = i; j size; j+) /*found* _; /TODO: 添加一条语句,将插入位置后的所有元素往后移动一个位置 /提示:移动元素应从最后一个元素开始移动 s

16、etdatai = item; /插入该元素 size +; return; /* found* _; /TODO: 添加一条语句,将元素加到最后一个位置上 size +; return; int main () int idata10 = 22, 35, 56, 128 ,iitem, isize = 4, dsize = 4, i; double ddata10 = 25.1, 33.5, 48.9, 75.3, ditem; cout “Please input one integer number for inserting:“; cin iitem; insert(idata, is

17、ize, iitem); for (i = 0; i isize; i+) cout idatai “; cout endl; cout “Please input one doublenumber for inserting:“; cin ditem; insert(ddata, dsize, ditem); for (i = 0; i dsize; i+) cout ddatai “; cout endl; return 0; (分数:30.00)_正确答案:(1)itemsetdatai (2)setdatasize+i-j=setdatasize+i-j-1 (3)setdatasiz

18、e=item)解析:考点 本题考查模板函数 insert,其中涉及 for循环、数组和排序。 解析 (1)主要考查考生对 if语句的掌握,题目要求判断查找元素的插入位置。因为要插入的序列是升序排列的,当itemsetdatai时,即为要插入的位置。 (2)主要考查考生对 for循环的掌握,因为要在第 i个位置外插入元素,所以将插入位置后的所有元素往后移动一个位置,移动时应从最后一个位置开始,因此使用语句 setdatasize+i-j=setdatasize+i-j-1;。 (3)主要考查考生对成员函数的掌握,题目要求将元素加到最后一个位置上。size 表示数组的长度,因为数组下标是从 0开始

19、的,所以最后一个位置为 size,即 setdatasize=item;。三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生文件夹 proj3下的工程文件 proj3,此工程中包含一个源程序文件 proj3.cpp,其中定义了用于表示平面坐标系中的点的类 MyPoint和表示线段的类 MyLine;程序应当显示:(0,0)(1,1)1.41421,1但程序中有缺失部分,请按照以下提示,把缺失部分补充完整:(1)在“/*1* *found*”的下方是构造函数的定义,它用参数提供的两个端点对 point1和point2进行初始化。(2)在“/*2* *fo

20、und*”的下方是成员函数 length的定义,返回线段的长度。(3)在“/*3* *found*”的下方是成员函数 slope的定义中的一条语句。函数 slope返回线段的斜率,方法是:若线段的两个端点分别是(x 1,y 1)和(x 2,y 2),则斜率 k为:(分数:40.00)_正确答案:(1)point1(p1),point2(p2) (2)length()const (3)point2.getY()-point1.getY()解析:考点 本题考查 MyPoint类和 MyLine类,其中涉及构造函数、const 函数和成员函数。 解析 (1)主要考查考生对构造函数的掌握,这里使用成员列表初始化给 point1和 point2赋初始值。 (2)主要考查考生对成员函数的掌握,由类的定义中函数的声明:double length()const;/返回线段的长度,可知这里要输入 length()const。 (3)主要考查考生对成员函数的掌握,由函数声明:double slope()const;/返回直线的斜率,可知返回语句要返回直线的斜率,因此要输入:point2.getY()-point1.getY()。

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