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

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

1、国家二级 C+机试(操作题)模拟试卷 294及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modi1cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: number1=48 number2=936 number3=09 PRODUCT=404352 注意:错误的语句在*error*”的下面。修改该语句即可。其他的语句不能修改。#includeiostreamusing namespace std;int main() double number1=48,number2=936,number

2、3=09; *error* Product=number1*number2*number3; *error* cout“number1=“number1 t “number2=“number2t; *error* cout“number3=“number3t; cout“PRODUCT=“productendl; return 0;(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生文件夹下的源程序文件 modi2cpp。完成空出的函数 fun(int a,int* index),使函数输入 n( #define MAXLINE 100 int fun(in

3、t a,int*index) void main() int AMAXLINE; int index; int maxdata; maxdata=fun(A,index); cout“the max data is:“ maxdata“ “the posion is:“ index_三、综合应用题(总题数:1,分数:2.00)3.使用 VC6打开考生文件夹下的源程序文件 modi3cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类 CBase有一个常数变量 Numberl,在构造函数时对其初始化,请在注释*1*后添加适当的语句。 (2)类 CPri是

4、 CBase的公共继承类,请在注释*2*后添加适当的语句。 (3)类 CPri构造函数有两个形式参数,第一个是对 CBase的初始化,第二个缺省为 0,用来对变量 Number2进行初始化。请在注释*3*后添加适当的语句。 (4)类 CPri的函数 display()重载于 CBase的打印函数。完成对变量 Number2的输出,然后调用基类的打印函数,请在注释*4*后添加适当的语句。输出的内容如下: Number2=12 Number=8 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。#inCludeiostreamhClass CBaSeprivate: int Number

5、;public: *1* CBaSe(int x) Void display() cout“Number=“Numberendl; ;*2*Class CPriprivate: int Number2;publ iC: *3* CPri(int x,int y=0) Number2=y; Void display() *4* ;int main() CPri obj(8,12); objdisplay(); return 0;(分数:2.00)_国家二级 C+机试(操作题)模拟试卷 294答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC

6、6打开考生文件夹下的源程序文件 modi1cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: number1=48 number2=936 number3=09 PRODUCT=404352 注意:错误的语句在*error*”的下面。修改该语句即可。其他的语句不能修改。#includeiostreamusing namespace std;int main() double number1=48,number2=936,number3=09; *error* Product=number1*number2*number3; *error* cout“number1=“number1

7、 t “number2=“number2t; *error* cout“number3=“number3t; cout“PRODUCT=“productendl; return 0;(分数:2.00)_正确答案:(正确答案:(1)double ProduCt=number1*number2*number3; (2)cout“numberl=“number1t “number2=“ t; (3)cout“number3=“number3tendl;)解析:解析:(1)C+要求变量在定义后才能使用,显然 product变量没有定义,number1、number2 和number3均为 double

8、型变量,product 是这三个变量的乘积,因此 product的数据类型是 double型,因此第 1个标识下应改为 double product=number1*number2*number3。 (2)cout 流中的数据是用流插入运算符“”顺序加入的,第 2个标识下是输出 number1、number2 和 number3的值,各个数据之间用“”顺序加入,不能用“”,第 2个标识下应改为cout“number1=“number1t“number2=“number2t。 (3)由于输出“PRODUCT=404352”在“number1=48number2=936 number3=09”下一

9、行,因此输出“number3=09”后应换行,故第 3个标识下应改为“tout“number3=“number3tendl:”。二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生文件夹下的源程序文件 modi2cpp。完成空出的函数 fun(int a,int* index),使函数输入 n( #define MAXLINE 100 int fun(int a,int*index) void main() int AMAXLINE; int index; int maxdata; maxdata=fun(A,index); cout“the max data is:“ max

10、data“ “the posion is:“ index_正确答案:(正确答案:int 1,n; do 输入数组的大小 cout“Please input nn“; cinn; while(n99); cout“Please input ann“; for(i=0;in;i+) 输入数组中元素的值 cinai; *index=0; 元素下标值初始化 for(i=1;in;i+) 循环找出最大值 if(a*indexai) *index=i; 记录比较大元素的下标 return a*index; 返回最大的元素值,其中 index为最大值的下标)解析:解析:(1)首先输入数组大小,然后利用循环输

11、入数组元素。 (2)利用 for循环对每一个当前数组元素与 index标记的元素进行大小比较。 (3)循环中将求得的最大数据 ai的下标标志位赋给标志位index。三、综合应用题(总题数:1,分数:2.00)3.使用 VC6打开考生文件夹下的源程序文件 modi3cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类 CBase有一个常数变量 Numberl,在构造函数时对其初始化,请在注释*1*后添加适当的语句。 (2)类 CPri是 CBase的公共继承类,请在注释*2*后添加适当的语句。 (3)类 CPri构造函数有两个形式参数,第一个是对 CBa

12、se的初始化,第二个缺省为 0,用来对变量 Number2进行初始化。请在注释*3*后添加适当的语句。 (4)类 CPri的函数 display()重载于 CBase的打印函数。完成对变量 Number2的输出,然后调用基类的打印函数,请在注释*4*后添加适当的语句。输出的内容如下: Number2=12 Number=8 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。#inCludeiostreamhClass CBaSeprivate: int Number;public: *1* CBaSe(int x) Void display() cout“Number=“Number

13、endl; ;*2*Class CPriprivate: int Number2;publ iC: *3* CPri(int x,int y=0) Number2=y; Void display() *4* ;int main() CPri obj(8,12); objdisplay(); return 0;(分数:2.00)_正确答案:(正确答案:(1)将“CBase(int x)”补充完整为:CBase(int x):Number(x) (2)将“class CPri”补充完整为:class CPri:public CBase (3)将“CPri(int x,int y=0)”补充完整为:

14、Cpri(int x,int y=0):CBase(x) (4)添加语句: cout“Number2=“Number2 endl;CBase:display();)解析:解析:(1)构造函数完成类成员变量的初始化,第 1个标识下是对 Number1初始化,带参数的构造函数初始化有多种方式,可以在函数体内完成初始化,或利用参数初始化表来完成初始化,显然这里不能在函数体完成初始化,只能是在函数首部实现对数据成员的初始化,因此只能通过参数初始化表来完成,这种方法不在函数体内对数据成员初始化,而是在函数首部实现,即第 1个标识下应改为“CBase(intx1:Number(x)”。 (2)第 2标识下

15、是声明类 CPri,且类 CPri是 CBase的公共继承类,定义派生类的一般格式为: class派生类名:继承方式 1基类名 1, 继承方式 2基类名2, 继承方式 n基类名 n 派生类新定义成员 ; 类 CPri是 CBase的公共继承类,因此第 2个标识下应改为“class CPri:public CBase”。 (3)CPri 构造函数有两个形式参数,第一个是对CBase的初始化,第二个缺省为 0,用来对变量 Number2进行初始化,这里对 CBase的初始化也不能在函数体内完成,因此也必须采用参数初始化表来完成,即第 3个标识下应改为“CPri(int x,int y=0):CBase(x)”,调用 CBase的构造函数完成对 CBase的初始化。 (4)函数 display()重载于 CBase的打印函数。完成对变量 Number2的输出,然后调用基类的打印函数 display(),基类的 display()和派生类的display()重名,调用基类的 display()应过类名来直接调用,即第 4个标识下应添加“cout“Number2=“Number2endl;CBase:display();”。

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

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

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