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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】国家二级C++机试(操作题)模拟试卷348及答案解析.doc

1、国家二级 C+机试(操作题)模拟试卷 348及答案解析(总分:8.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请使用 VC6或使用【答题】菜单打开考生文件夹 prog1下的工程 prog1。此工程中包含程序文件maincpp,其中有类 Score(“成绩”)和主函数 main的定义。程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 学号:12345678 课程:英语 总评成绩:85 注意:只修改每个“ERROR*found*”下的一行,不要改动程序中的其他内容。#includeiostreamusing na

2、mespace std;class Scorepublic: Score(const char*the course,const char*the id,int the normal,int the midterm,int the end of term) :course(the course),normal(the normal),midterm(the midterm),end of term(the end of term) ERROR*found* strcpy(the id,student_id); const char*getCourse()constreturn course;)

3、返回课程名称ERROR*found* const char*getID()constreturn 总评成绩中平时成绩占 20,期中考试占 30,期末考试占 50,最后结果四舍五入为 一个整数 ERROR*found* int getFinal()const return normal*02+midterm*03+end_of_term*05+05;int main() char English=”英语”; Score score(English,”12345678”,68,83,92);cout”学号:”scoregetID()“;cout”课程:”scoregetCourse()”; cou

4、t”总评成绩:”scoregetFinal()endl; return 0;(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)2.请使用 VC6或使用【答题】菜单打开考生文件夹 proj2下的工程 proj2,此工程中含有一个源程序文件proj2epp。函数 char*GetNum(char*src,char*buf)从 src开始扫描下一个数字字符序列,并将其作为一个字符串取出放人字符串空间 buf中。函数返回扫描的终止位置,如果返回 NULL表示没有扫描到数字字符序列。 运行程序时,如果输入的一行字符序列是 ABC012XYZ378MN274WS 则输出为: Digit st

5、ring 1 is 012 Digit string 2 is 378 Digit string 3 is 274 注意:只在横线处编写适当代码,不要删除或移动“*found*”.proj2cpp#includeiostreamusing namespace std;char*GetNum(char*see,char*bur) while(*src!=0) if(isdigit(*src)break; SrC+; if(*src=0)/*found*_;while(*src!=0 protected: int*a; unsigned int size,num;;class SortedArra

6、y:public Arraypublic:/*found* SortedArray(unsigned int S) :_ virtual void add(int e) if(num=Size) return; int i=0,j; while(inum) if(eai) for(j=num;ji;j一)*found* _; *found* _; break; i+; if(i=num) ai=e; num+; ;void fun(Array for(i=0;i10;i+) coutaget(i)”,”; coutendl;int main() Array a(10); fun(a); Sor

7、tedArray sa(10); fun(sa); return 0;(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)4.请使用 VC6或使用【答题】菜单打开考生文件夹 proj3下的工程 pmj3,其中声明了一个单向链表类sList。sLst 的成员函数 Prepend的功能是在链表头部加入一个新的元素。请编写成员函数 Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B 一A 一 # A 一 # A 一 # exiting inner block exiting outer block 注意:只在函数 Prepend的“*333*”和“*666*”之

8、间填入若干语句,不要改动程序中的其他内容。/SListhstruct sListItem char data; sListItem*next;class sListpublic: sList():h(0)0 表示空链表 sList(); void Prepend(char c);在链表前端加入元素 void Del();删除链表首元素 sListItem*First()constreturnh;返回链表首元素 void Print()const;打印链表内容 void Release();销毁链表 private: sListItem* h;/链表头;void writeToFile(cons

9、t char* );maincpp#includeiostream#include”sListh”us ing namespace std;sList:一 sList() Release(); void sList:Prepend(char C) *333* /*666* void sList:Del() sListItem*temp=h; h=h 一next; delete temp; void sList:Print()const sListItem*temp=h; while(temp!=0) 判断是否到达链表尾部 couttemp 一data”一”; temp=temp 一next;

10、cout”n#”endl;void sList:Release() while(h!=0) Del();int main() sLisL*ptr; sList obj; objPrepend(A); objPrepend(B); objPrint(); objDel(); objPrint(); pfir=obj; pLr 一Print();tout”exiting inner block”end1; couL”exiting outer block”endl; writeToFile(”); return 0;(分数:2.00)_国家二级 C+机试(操作题)模拟试卷 348答案解析(总分:8

11、.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请使用 VC6或使用【答题】菜单打开考生文件夹 prog1下的工程 prog1。此工程中包含程序文件maincpp,其中有类 Score(“成绩”)和主函数 main的定义。程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 学号:12345678 课程:英语 总评成绩:85 注意:只修改每个“ERROR*found*”下的一行,不要改动程序中的其他内容。#includeiostreamusing namespace std;class Scorepublic: S

12、core(const char*the course,const char*the id,int the normal,int the midterm,int the end of term) :course(the course),normal(the normal),midterm(the midterm),end of term(the end of term) ERROR*found* strcpy(the id,student_id); const char*getCourse()constreturn course;)返回课程名称ERROR*found* const char*ge

13、tID()constreturn 总评成绩中平时成绩占 20,期中考试占 30,期末考试占 50,最后结果四舍五入为 一个整数 ERROR*found* int getFinal()const return normal*02+midterm*03+end_of_term*05+05;int main() char English=”英语”; Score score(English,”12345678”,68,83,92);cout”学号:”scoregetID()“;cout”课程:”scoregetCourse()”; cout”总评成绩:”scoregetFinal()endl; ret

14、urn 0;(分数:2.00)_正确答案:(正确答案:(1)strcpy(student_id,the_id); (2)const char*getID()constretum student_id; (3)int Score:getFinal()const)解析:解析:(1)主要考查考生对 strcpy()函数的掌握情况,strcpy(参数一,参数二)函数的功能是将参数二的字符串复制给参数一,因此在这里 student_id应该位于参数一的位置,即strcpy(student_id,the_id);。 (2)主要考查考生对函数返回值的掌握情况,根据注释:返回学号可知学号应该由一个字符串组成。

15、再看函数要返回的类型:const char*,可知要返回一个 char型指针,也就是一个 char型数组,而 protected: int*a; unsigned int size,num;;class SortedArray:public Arraypublic:/*found* SortedArray(unsigned int S) :_ virtual void add(int e) if(num=Size) return; int i=0,j; while(inum) if(eai) for(j=num;ji;j一)*found* _; *found* _; break; i+; if

16、(i=num) ai=e; num+; ;void fun(Array for(i=0;i10;i+) coutaget(i)”,”; coutendl;int main() Array a(10); fun(a); SortedArray sa(10); fun(sa); return 0;(分数:2.00)_正确答案:(正确答案:(1)anum=e; (2)Array(s) (3)aj=aj1 (4)ai=e)解析:解析:(1)考查的是虚函数 virtual void add(int e)的定义,即添加一个整型数 e到 anum中。 (2)主要考查的是 Array类的派生类 SortedA

17、rray类的构造函数的定义,定义之前要对基础类初始化。 (3)因为 Sorted_Array类是排序类,所以数组 a中的元素要从小到大排序。在 if(e三、综合应用题(总题数:1,分数:2.00)4.请使用 VC6或使用【答题】菜单打开考生文件夹 proj3下的工程 pmj3,其中声明了一个单向链表类sList。sLst 的成员函数 Prepend的功能是在链表头部加入一个新的元素。请编写成员函数 Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B 一A 一 # A 一 # A 一 # exiting inner block exiting outer block 注

18、意:只在函数 Prepend的“*333*”和“*666*”之间填入若干语句,不要改动程序中的其他内容。/SListhstruct sListItem char data; sListItem*next;class sListpublic: sList():h(0)0 表示空链表 sList(); void Prepend(char c);在链表前端加入元素 void Del();删除链表首元素 sListItem*First()constreturnh;返回链表首元素 void Print()const;打印链表内容 void Release();销毁链表 private: sListIte

19、m* h;/链表头;void writeToFile(const char* );maincpp#includeiostream#include”sListh”us ing namespace std;sList:一 sList() Release(); void sList:Prepend(char C) *333* /*666* void sList:Del() sListItem*temp=h; h=h 一next; delete temp; void sList:Print()const sListItem*temp=h; while(temp!=0) 判断是否到达链表尾部 coutt

20、emp 一data”一”; temp=temp 一next; cout”n#”endl;void sList:Release() while(h!=0) Del();int main() sLisL*ptr; sList obj; objPrepend(A); objPrepend(B); objPrint(); objDel(); objPrint(); pfir=obj; pLr 一Print();tout”exiting inner block”end1; couL”exiting outer block”endl; writeToFile(”); return 0;(分数:2.00)_

21、正确答案:(正确答案:sLiStItem*temp=new sLiStItern; 动态分配空间给结构体 ternp的指针 terap一data=c; 把 c赋值于结构体 temp成员 data ternp一next=h; 把 h赋值于结构ternp体成员 next h=temp; 把 temp赋值给 h,即 h指向 temp指向的空间)解析:解析:主要考查考生对链表的掌握,成员函数 Prepend的功能是在链表头部加入一个新元素。形参c是一个 char型变量,因此要定义一个新的结构体指针 temp,并给它分配 sListItem类型空间,把形参c中的值赋给 temp的数据域,并使 temp通过指针链接到链表上。

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