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

    [计算机类试卷]国家二级C++机试(操作题)模拟试卷502及答案与解析.doc

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

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

    [计算机类试卷]国家二级C++机试(操作题)模拟试卷502及答案与解析.doc

    1、国家二级 C+机试(操作题)模拟试卷 502及答案与解析 一、基本操作题 1 请打开考生文件夹下的解决方案文件 proj1,此工程中包含一个源程序文件main cpp,其中有类 Book(“书 ”)和主函数 main的定义。程序中位于每个 “ERROR*found*”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: 书名: C+语句程序设计总页数: 299 已把 “C+语言程序设计 ”翻到第 50页 已把 “C+语言程序设计 ”翻到第 51页 已把 “C+语言程序设计 ”翻到第 52页 已把 “C+语 言程序设计 ”翻到第 51页 已把书合上。 当前页: 0 注意:只修改每个 “ E

    2、RROR*found*”下的那一行,不要改动程序中的其他内容。 #include iostream using namespace std; class Book char*title; int num_pages;页数 int cur_page;当前打开页面的页码, 0表示书未打开 public: ERROR*found* Book(const char*theTitle, int pages)num_pages(pages) title=new charstrlen(theTitle)+1; strcpy(title, theTitle); cout endl “书名: “ title “

    3、总页数: “ num_pages; Book( )delete title; bool isClosed( )constreturncur_page=0; 书合上时返回 true,否则返回 false bool isOpen( )constreturn!isClosed( ); 书打开时返回 true,否则返回 false int numOfPages( )constreturn num_pages; 返回书的页数 int currentpage( )constreturn cur_page;返回打开页面的页码 ERROR*found* void openAtPage(int page_no)

    4、 const把书翻到指定页 cout endl: if(page_no 1|page_no num_pages) cout “无法翻到第 “ cur_page “页。 “; close( ); else cur_page=page_no; cout “已把 “ title “” 翻到第 “ curpage “页 “; void openAtpreVPage( )openAtPage(cur_page-1); 把书翻到上一页 void openAtNextPage( )openAtPage(cur_page+1); 把书翻到下一页 void close( )把书合上 cout endl; if(

    5、isCloSed( ) cout “书是合上的。 “; else ERROR*found* num_pageS=0; cout “已把书合上。 “; cout endl; ; int main( ) Book book(“C+语言程序设计 “, 299); book openAtPage(50); book openAtNextPage( ); book openAtNextPage( ); book openAtPreVpage( ); book close( ); cout “当前页: “ book currentPage( ) endl; return0; 二、简单应用题 2 请打开考生

    6、文件夹下的解决方案文件 proj2,该工程中包含一个程序文件main cpp,其中有类 CPolygon(“多边形 ”)、 CRectangle(“矩形 ”)、 CTriangle(“三角形 ”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序的正确输出结果应为: 20 10 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动 “ *found*”。 #include iostream using namespace std; class CPolygon public: *found* _纯虚函数 area声明 void printarea(VO

    7、id) *found* cout _ endl; ; class CRectangle: public CPolygon int width;长方形宽 int height; 长方形高 public: CRectangle(int w, int h): width(w), height(h) int area(void)return(width*height); ; class CTriangle: public CPolygon int length;三角形一边长 int height;该边上的高 public: CTriangle(int l, int h): length(1), hei

    8、ght(h) *found* int area(void)return(_) 2; ; int main( ) CRectangle rect(4, 5); CTriangle trgl(4, 5); *found* _*ppoly1, *ppoly2; ppoly1=▭ pp02y2=&trgl; ppoly1- printarea( ); ppoly2- printarea( ); return0; 三、综合应用题 3 请打开考生文件夹下的解决方案文件 proj3,其中包含了类 Polynomial(“多项式 ”)的定义。 形如 5x4+3 4x2-7x+2的代数式称为多项式,其

    9、中的 5为 4次项系数,3 4为 2次项系数, -7为 1次项系数, 2为 0次项 (常数项 )系数。此例缺 3次项,意味着 3次项系数为 0,即省略了 0x3。在 Polynomial中,多项式的各个系数存储在一个名为 coef的数组中。例如,对于上面的多项式,保存在 coef0、coef1coef4 中的系数依次为: 2 0、 -7 0、 3 4、 0 0、 5 0,也即对于 i次项,其系数就保存在 coefi中。成员函数 getValue计算多项式的值,多项式中 x的值是由参数指定的。 请补充完成文件 Polynomial cpp中成员函数 getValue的定义。此程序的正确输出结果应

    10、为: Value of p1whenx=2 0: 59 8 Value of p2whenx=3 0: 226 8 注意:只在函数 getValue的 “ *333*”和“*666*”之间填入 若干语句,不要改动程序中的其他内容。 Polynomiac h #include iostream using namespace std; class Polynomial “多项式 ”类 public: Polynomial(double coef , int num): coef(new doublenum),num_of_terms(num) for(int i=0; i num_of_term

    11、s; i+) this- coefi=coef i; Polynomial( )delete coef; 返回指定次数项的系数 double getCoefficient(int power)constreturn coefpower; 返回在 x等于指定值时多项式的值 double getValue(double x) const; private: 系数数组, coef0为 0次项(常数项 )系数, coef1为 1次项系数, coef2为 2次项 (平方项 )系数,余类推。 double*coef; int num_of_terms; ; void writeToFile(const c

    12、har*path); Polymomial cpp #include“Polynomial h“ double polynomial: getValue (double x)const 多项式的值 value为各次项的累加和 double value=coef0; *333* *666* return valme; main cpp #include“Polynomial h“ int main( ) double p1 =5 0, 3 4, -4 0, 8 0,p2 =0 0, -5 4, 0 0, 3 0, 2 0; Polynomial polyl(p1, sizeof(p1)sizeo

    13、f(double), poly2(p2, sizeof(p2) sizeof(double); cout “Value of p1 when x=2 0: “ polyl getValue(2 0) endl; cout “Value of p2 when x=3 0: “ poly2 getValue(3 0) endl: writeToFile(“ “); return0; 国家二级 C+机试(操作题)模拟试卷 502答案与解析 一、基本操作题 1 【正确答案】 (1)Book(const char*theTitle, int pages): num_pages(pages) (2)voi

    14、d openAtPage(int page_no)把书翻到指定页 (3)cur_page=0; 【试题解析】 (1)主要考查考生对构造函数的掌握,构造函数的成员列表初始化法要注意它的格式,即成员列表前要有标识符 “: ”,因此语句改为: Book(const char *theTitle, int pages): nun_pages(pages)。 (2)主要考查考生对 const函数的掌握,在函数体中可以看到有语句cur_page=page_no,即 cur_page的值发生改变,因此该函数不是 const函数。 (3)主要考查考生对成员函数的掌握,题目 要求输出的最后一条是 “当前页: 0

    15、”,可知主函数中调用 close函数后当前页为 0,因此应该是 cur_page=0;。 二、简单应用题 2 【正确答案】 (1)vinual int area(void)=0; (2)area( ) (3)length*height (4)Cpolygon 【试题解析】 (1)主要考查考生对纯虚函数的掌握,在定义纯虚函数时要看在派生类中函数的定义: int area(void)。由此可知纯虚函数应该为: vinual int area(void)=0;。 (2)主要考查考 生对纯虚函数的掌握情况,由 void printai ea(void)可知,该函数要打印面积,因此在此要调用纯虚函数 a

    16、rea,即 eont area( )。 (3)主要考查考生对数学公式的掌握,该函数要返回三角形面积,三角形的面积公式为长乘以该边上的高除以 2,即 return(1ength*height) 2;。 (4)主要考查考生对抽象类的掌握情况,根据程序段: ppoly1=&reet: ppoly2=&trgl: 可知指针 ppolyl指向 (Rectangle类,而指针 ppoly2指向 CTriangle类 ,因此在这里只能填这两种类的基类 CPolygon类。 三、综合应用题 3 【正确答案】 for(int i=1; i num_of_terms; i+)从 i=1开始遍历数组 coef的所有

    17、项 int j=i-1; 把 i-1赋值给 j,保证从零次方开始 double x_value=x; 把 x赋给 x_value while(j 0) 当 j大于零时,做相乘操作,即完成该项的乘方动作 x_value*=x; j-; value+=coefi*x_value; 把 i项的乘方结果 乘以该项系数后加进 value中 【试题解析】 题目要求成员函数 getValue计算多项式的值,多项式中 x的值由参数指定,多项式的值 value为各次项的累加和。由类的定义可知数组 coef中存储的是各次项的系数,这里使用 for循环来完成题目要求,当次项为 0时,value=coef0。当次项为 1时, value=coef1*x+coef0。依次类推直到 x的最高次数。


    注意事项

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




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

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

    收起
    展开