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

    【计算机类职业资格】全国计算机等级考试二级C++上机题库试卷六2013年及答案解析.doc

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

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

    【计算机类职业资格】全国计算机等级考试二级C++上机题库试卷六2013年及答案解析.doc

    1、全国计算机等级考试二级 C+上机题库试卷六 2013 年及答案解析(总分:3.00,做题时间:90 分钟)1.改错题 使用 VC6 打开考生文件夹下的工程 kt11_1,此工程包含一个源程序文件 kt11_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为: Valuesare:1,2and3 Pressanykeytocontinue 源程序文件 kt11_1.cpp 清单如下: #include classCommonBase public: intx; ; /*found*/ classDeriveCommonA:publicCommonBase public: i

    2、nty; ; classDeriveCommonB:publicCommonBase public: intz; ; /*found*/ classOverlapping:publicDeriveCommonA;publicDeriveCommonB public: voidDisplay() cout“Valuesare:“DeriveCommonA:x“,“y“and“z_2.简单应用题 请编写函数 fun(),该函数的功能是判断字符串是否为回文,若是则函数返回 1,主函数中输出 YES;否则返回 0,主函数中输出 NO。回文是指顺读和倒读都一样的字符串。 例如:字符串 LEVEL是回文,

    3、而字符串 123312 就不是回文。 注意:部分源程序已存在文件 kt11_2.cpp 中。 请勿修改主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填写若干语句。 文件 kt11_2.cpp 的内容如下:#include #include #defineN80 intfun(char*str) voidmain() charsN; cout“Enterastring:“/n/n“; puts(s); if(fun(s) cout“YES/n“; else cout“NO/n“; (分数:1.00)_3.综合应用题 使用 VC6 打开考生文件夹下的工程 kt11_3。此工程

    4、包含一个 kt11_3.cpp,其中定义了类queue,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)完成类 queue 的无参数的构造函数的定义,要求把数据成员 bl 和 el 都初始化为 0,同时输出 queueinitialized。请在注释“/*1*”之后添加适当的语句。 (2)完成类 queue 的成员函数 qput(intj)的定义,它的功能是把新的元素加入队列,过程是先依据 bl 的值判断数组是否已经满了,如果是就输出 queueisfull,否则 bl 自加一,并且把参数 j 的值存入 bl 指向的数组元素中,请在注释“/*2*”之后添加适当的语句。 (3

    5、)完成类 queue 的成员函数 qget()的定义,它的功能是把队列开头的元素提取出队列,并返回该值,过程是先比较 el 和 bl 的值判断队列是否已空,如果是就输出 queueisempty, 否则 el 自加一,并且把 el 指向的数组元素返回,请在注释“/*3*”之后添加适当的语句。 程序输出结果如下: queueinitialized queueinitialized 3311 4422 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件 kt11_3.cpp 清单如下: #include classqueue intq100; intbl,el; public

    6、: queue(); voidqput(intj); intqget(); ; queue:queue() /*1* voidqueue:qput(intj) /*2* cout“queueisfull/n“; return; bl+; qbl=j; intqueue:qget() /*3* cout“queueisempty/n“; return0; el+; returnqel; voidmain() queueaa,bb; aa.qput(11); bb.qput(22); aa.qput(33); bb.qput(44); coutaa.qget()“aa.qget()“/n“; co

    7、utbb.qget()“bb.qget()“/n“; (分数:1.00)_全国计算机等级考试二级 C+上机题库试卷六 2013 年答案解析(总分:3.00,做题时间:90 分钟)1.改错题 使用 VC6 打开考生文件夹下的工程 kt11_1,此工程包含一个源程序文件 kt11_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为: Valuesare:1,2and3 Pressanykeytocontinue 源程序文件 kt11_1.cpp 清单如下: #include classCommonBase public: intx; ; /*found*/ classDeri

    8、veCommonA:publicCommonBase public: inty; ; classDeriveCommonB:publicCommonBase public: intz; ; /*found*/ classOverlapping:publicDeriveCommonA;publicDeriveCommonB public: voidDisplay() cout“Valuesare:“DeriveCommonA:x“,“y“and“z_正确答案:()解析:(1)主要考查对派生类定义的理解,C+规定的继承格式是在类名的后面加冒号,之后是继承方式和继承类的名称,题目中错误的使用了作用域

    9、运算符; (2)主要考查多继承的定义,多继承的格式基本上和单继承相同,不过在多个基类之间应该使用逗号分开,题目中错误的使用了分号,分号在 C+中是结束标志; (3)主要考查对派生类的对象访问的掌握,x 是类 CommonBase 的成员,如果不加限制的访问就会产生二义性,编译程序不知道这个 x 是 A 类的,还是 B 类的,所以必须使用作用域限制符“:”,为了解决这个问题可以使用虚基类。2.简单应用题 请编写函数 fun(),该函数的功能是判断字符串是否为回文,若是则函数返回 1,主函数中输出 YES;否则返回 0,主函数中输出 NO。回文是指顺读和倒读都一样的字符串。 例如:字符串 LEVE

    10、L是回文,而字符串 123312 就不是回文。 注意:部分源程序已存在文件 kt11_2.cpp 中。 请勿修改主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填写若干语句。 文件 kt11_2.cpp 的内容如下:#include #include #defineN80 intfun(char*str) voidmain() charsN; cout“Enterastring:“/n/n“; puts(s); if(fun(s) cout“YES/n“; else cout“NO/n“; (分数:1.00)_正确答案:(int fun(char *str) int i,n

    11、=0,fg=1; char *p=str; while(*p) n+; p+; for(i=0;i解析:本题的解题思路是:先利用循环中指针的移动来求得字符串的长度 n,然后用一个 for 循环依次取得数组中的前半部分元素,用取得的前半部分内的元素逐个与后半部分内的对应位置的元素进行比较,如果相同,不做任何工作,接着取下一个元素,继续比较;如果不相同,可以判断该字符串肯定不是回文,就给标志变量 fg 赋值 0(fg 的初始值为 1)。最终把 fg 作为函数的返回值返回(fg 值为 1 表明是回文,fg值为 0 表明不是回文)。3.综合应用题 使用 VC6 打开考生文件夹下的工程 kt11_3。此

    12、工程包含一个 kt11_3.cpp,其中定义了类queue,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)完成类 queue 的无参数的构造函数的定义,要求把数据成员 bl 和 el 都初始化为 0,同时输出 queueinitialized。请在注释“/*1*”之后添加适当的语句。 (2)完成类 queue 的成员函数 qput(intj)的定义,它的功能是把新的元素加入队列,过程是先依据 bl 的值判断数组是否已经满了,如果是就输出 queueisfull,否则 bl 自加一,并且把参数 j 的值存入 bl 指向的数组元素中,请在注释“/*2*”之后添加适当的语句。

    13、(3)完成类 queue 的成员函数 qget()的定义,它的功能是把队列开头的元素提取出队列,并返回该值,过程是先比较 el 和 bl 的值判断队列是否已空,如果是就输出 queueisempty, 否则 el 自加一,并且把 el 指向的数组元素返回,请在注释“/*3*”之后添加适当的语句。 程序输出结果如下: queueinitialized queueinitialized 3311 4422 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件 kt11_3.cpp 清单如下: #include classqueue intq100; intbl,el; publ

    14、ic: queue(); voidqput(intj); intqget(); ; queue:queue() /*1* voidqueue:qput(intj) /*2* cout“queueisfull/n“; return; bl+; qbl=j; intqueue:qget() /*3* cout“queueisempty/n“; return0; el+; returnqel; voidmain() queueaa,bb; aa.qput(11); bb.qput(22); aa.qput(33); bb.qput(44); coutaa.qget()“aa.qget()“/n“; coutbb.qget()“bb.qget()“/n“; (分数:1.00)_正确答案:((1)bl=el=0; cout“queue initialized/n“; (2)if(bl=100) (3)if(el=bl)解析:主要考查对于具体的一个队列类的掌握,对列是一种特殊的存储结构,应使用先进先出原则。题目中 bl 和 el 分别指向队列的开头和结尾,其中(2)是队列的标准插入操作,(3)是队列的标准的删除操作,注意它们的操作方式和先判断后操作的原则。


    注意事项

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




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

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

    收起
    展开