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

上传人:ideacase155 文档编号:1331783 上传时间:2019-10-17 格式:DOC 页数:3 大小:32KB
下载 相关 举报
【计算机类职业资格】国家二级C++机试(操作题)模拟试卷285及答案解析.doc_第1页
第1页 / 共3页
【计算机类职业资格】国家二级C++机试(操作题)模拟试卷285及答案解析.doc_第2页
第2页 / 共3页
【计算机类职业资格】国家二级C++机试(操作题)模拟试卷285及答案解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C+机试(操作题)模拟试卷 285及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modi1cpp,使它能得出正确的结果。 本程序要求屏幕输出:n=99 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在*error*的下面。#includeiostreamh*error*class TestClass()public: *error* void TestClass(); TestClass(int n) coutn=nendl: ; *errorvoid mai

2、n() TestClass test(99); return;(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生文件夹下的源程序文件 modi2cpp。阅读下列函数说明和代码。补充函数convert(long S,long*str),使之从低位开始取出长整型变量 S中奇数位上的数,依次存放在数 str中。例如,当 S中的数为:7654321 时,str 中的数为:7531。 注意:请勿改动主函数。 #include void convert(long s,long*str) Void main() long s,res; couts; convert(s,

3、res); couts; convert(s,res); cout“The result is: “res_正确答案:(正确答案:long s1=10; *str=s10;先取个位数 while(s0) s=s100; 每次除以 100, *str=s10*s1+*str; 取除以 100后的个位数,str 增加 1位 s1=s1*10; )解析:解析:(1)由审题分析可知,奇数位即为个位数、百位数、万位数,取个位数比较简单,s10便得到了个位数。获取百位数可由 s100 后,再和 10取余得到,同样万位数可由 s10000,再和 10取余得到,从百位数开始后面的奇数位都是在上次的基础上再除以

4、 100后再取余数,因此可利用循环。 (2)在循环外先取 s的个位数,然后进入循环,s=s100,获取除以 100的个位数方法为 s10,这个数是*str的高一位,乘以它所在*str 中的位置的权值,然后和以前的值相加便得到这次*str 值,如此循环,直到 s为 0为止。三、综合应用题(总题数:1,分数:2.00)3.使用 VC6打开考生文件夹下的源程序文件 modi3cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义类的私有变量 a、b,请在注释*1*后添加适当的语句。 (2)完成类的构造函数,对变量 a、b 赋值,缺省两个变量值为 1,在注释*

5、2*之后添加语句。 (3)完成打印函数 display(),打印出“a*b=c”格式的一个乘法算式,在注释*3*之后添加语句。 (4)补充主函数,使得打印 99的乘法口诀。在注释*4*后添加语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。#includeiostreamhclass CMyFormulaprivate: *1*public: *2* this 一a=a; this-b=b; void set(int x,int y) a=x; b=y; void display() *3* ; int main() CMyFormula formular(1,1); for

6、(int i=1;i=9;i+) *4* for(int j=1;j+) formularset(j,i); formulardisplay(); cout“ “; coutendl; return 0;(分数:2.00)_正确答案:(正确答案:(1)添加语句:int a,b; (2)添加语句:CMyFormula(int a=1,int b=1) (3)添加语句:couta*b=i;j+)解析:解析:(1)第 1个标识下完成 CMyFormula类的私有变量 a、b 的定义,从函数 set(int x,int y)的参数类型可以看出 a和 b均为 int型变量,故第 1个标识下应添加“hat a,b;”。 (2)第 2个标识下添加构造函数声明,完成对变量 a、b 赋值,该构造有两个参数 a和 b,且 a和 b缺省值为 1,因此第 2个标识下应添加“CMyFormula(inta=1,intb=1)”。 (3)打印函数 display()在屏幕上打印出“a*b=c”格式的一个乘法算式,因此第 3个标识下应添加“couta*b=i,这样保证输出的是倒 99口诀,因此第 4个标识下应改为“for(intj=1;j=ij+)”。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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