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

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

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

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

    【计算机类职业资格】国家二级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通过指针链接到链表上。


    注意事项

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




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

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

    收起
    展开