首页 > 全部 > 二级C++ > 2018年9月国家二级C++机试(操作题)真题试卷汇编2

2018年9月国家二级C++机试(操作题)真题试卷汇编2

本单篇文档共2755字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 真题试卷 4432人下载
价格: 0.60 原价:¥8.00
收藏

2018年9月国家二级C++机试(操作题)真题试卷汇编2

基本操作题

1.请打开考生文件夹下的解决方案文件proj1,其中在编辑窗口内显示的主程序文件中定义有Xabc类和主函数main。在程序文本中位于每行”//ERROR *********found*********下面的一行有错误,请加以更正。

更正后程序的输出为:57

注意:只允许修改每个”//ERROR *********found*********下面的一行语句,不允许改动程序中的其他任何内容。

#include

using namespace std;

class Xabc{

int*a;int n ;

public:

Xabc(int aa[],int nn):n(nn)(

a=new int[n];

for(int i=0;i<n;i++)

//ERROR *****found*****

aa[i]=a[i];

}

int GetA(int i)const (return a[i],}

int SurnA(int n);

~xabc()(delete[]a;}

};

int Xabc::SumA(int n){

int s=0;

for(int j=0;j<n,j++)

s+=a[j];

return s;

}

int main(){

int a[6]={2,5,8,3,6,9);

Xabc x(a,6),

a[3]=19;

int d=0;

for(int i=0;i<6;i++)

//ERROR *****found*****

d+=x.a[i];

//ERROR *****found*****

int f=SumA(5),

cout<<d+f<<endl:

return 0;

}

(1)a[i]=aa[i];

(2)d+=x.GetA(i);

(3)int f=x.SumA(5);

解析:(1)Xabe的构造函数需要使用形参aa为成员指针a赋值.函数体中,首先动态分配n个连续的整型变量的内存空间,并将内存空间的首地址赋给a。然后通过for循环。使用数组aa为a的n个元素的赋值。

(2)x是类Xabc的对象,成员a在定义时没有指定访问标号,默认为private成员,所以这里不能通过x对象直接访问a,应该通过公有成员函数GetA()来访问。

(3)sumA()函数是类Xabc的公有成员函数,需要通过对象来引用,而不能直接引用。

简单应用题

2.请打开考生文件夹下的解决方案文件proj2,其中在编辑窗口内显示的主程序文件中定义有类XBase和XDerived,以及主函数main。程序文本中位于每行\\

(1)mem2(m2)

(2)sum(){return mem1+mem2;}

(3)public XBase

(4)XBase(m1,m2),mem3(m3)

解析:(1)题意要求使用m1和m2初始化数据成员mem1和mem2,同mem1的初始化一样,需要在成员初始化列表中完成mem2的初始化。

(2)sum函数的定义需要返回mem1和mem2之和。

(3)XDerived公有继承XBase类,在继承列表中使用public。

(4)在成员初始化列表中初始化基类成员时,需要调用基类的构造函数,初始化mem3时,可以直接初始化。

综合应用题

3.请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数sum()的定义补充完整,补充的内容填写在\\

int XArray::sum(){//补充函数体

int i,max=a[0],min=a[0];

for(i=1;i<size;i++)

{

if(max<a[i])

{

max=a[i];

}

if(min n>a[i])

(

min=a[i];

}

}

return max+min:

}

解析:Xarray类中包含两个数据成员:a是数组的指针,size是数组的长度。main()函数中使用数组s1构造Xarray对象x,此时对象x中,a是包含10个整型元素的数组指针,size是10。成员函数SUm()的作用是求得数组a[size]中最大值和最小值之和,所以函数体中需要遍历a的10个元素,找出最大值max和最小值min,再将两者之和返回,程序首先将数组a的第一个元素赋给max和min,然后从下标为l的元素开始向后遍历,遍历过程中,将当前遍历到的元素与max和min比较,存在比max大的元素时,更新max值;存在比min小的元素时,更新min值,最后将两者之和作为函数值返回。

本文档预览:3600字符,共2755字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
2018年9月国家二级C++机试(操作题)真题试卷汇编2

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号