首页 > 全部 > 二级C++ > 国家二级C++机试(操作题)模拟试卷502

国家二级C++机试(操作题)模拟试卷502

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

国家二级C++机试(操作题)模拟试卷502

基本操作题

1.请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR ****found ****”之后的一行语句有错误。请改正这些错误,使程序的输出结果为:1 2 3 4 5 6 7 8 9 10

注意:只能修改注释“//ERROR****found****”的下一行语句,不要改动程序中的其他内容。

//proj1.cpp

#include

using namespace std;

class MyClass{

public:

MyClass(int len)

{

array=new int[len];

arraySize=len;

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

array[i]=i+1;

}

~MyClass()

{

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

delete array[i];

}

Void Print()const

{

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

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

cin<<array[i]<<’’;

cout<<endl;

}

private:

int*array;

int arraySize;

};

int main()

{

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

MyClass obj;

obj.Print();

return 0;

}

delete[]array;

cout<<array[i]<<’’;

MyClass obj(10);

解析:(1)语法错误,使用delete语句删除一个指针时,直接把指针变量的名称放在delete[]后面即可。

(2)考查考生对输入、输出语句的运用。使用cout进行数据输出操作,一般格式为:cout<<Ex-pr;。其中,Expr代表一个表达式,“<>var;。其中,var代表一个变量,“>>”称为提取运算符,该语句的含义是,将用户输入的数据保存到var中。

(3)考查语句的初始化,我们来看MyClass类的构造函数:

MyClass(int fen)

{

array=new int[1en];

//给数组动态分配空间,大小为len

arraySize=len; //赋值

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

[i]=i+1=i+1; //循环给数组赋值,从1到10

请注意:形参len没有定义默认值,因此要想使array动态数组里依次存放1,2,3,4,5,6,7,8,9,10,就是要给len赋值为10。

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2。其中有向量基类VeetorBase、向量类Vector和零向量类ZeroVector的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序正确输出结果应为:

(1,2,3,4,5)

(0,0,0,0,0,0)

注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。

#include

using namespace std;

class VectorBase{//向量基类,一个抽象类

int len;

public:

VectorBase (int len):len(len){)

int length()const{return len;)

//向量长度,即向量中元素的个数

virtual double getElement(int i)const=0;//取第i个元素的值

virtual double sum()const=0;//求所有元素的和

void show()const{//显示向量中所有元素

cout<<\\

(1)getElement(length()-1)

(2)delete[]val

(3)s+=val[i]

(4)return 0.0:

解析:(1)主要考查考生对成员函数的掌握,题目要求显示最后一个元素。前面有纯虚函数virtual doublegetElement(int i)const=0,因此可以直接调用getElement函数来取得最后一个元素,注意最后一个元素位置是Length()-1而不是Length()。

(2)主要考查考生对析构函数的掌握,前面定义了类的私有成员*val,因此析构函数要释放val,使用de1ete语句完成。

(3)主要考查考生对for循环的掌握,由函数名double sum()const可知,该函数要求元素之和,for循环语句的作用是遍历整个数组,在此使用语句s+=val[i]完成程序。

(4)主要考查考生对成员函数的掌握,由该类的注释:零向量类,可以了解到该类的元素都为零,因此无论要取第几个元素都返回0,由于数据类型为double,所以为return0.0。

综合应用题

3.请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中定义的Matrix是一个用于表示矩阵的类。成员函数max_value的功能是求出所有矩阵元素中的最大值。例如,若有3×3矩阵

int temp=0;

//定义整数变量temp,并赋值为零

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

//遍历矩阵的行

for(int j=0;j<N;j++)

//遍历短阵的列

if(temp<array[i][j])

//如果temp小于array[i][j]

temp=array[i][j];

//把array[i][j]赋值给temp

return temp; //返回temp

解析:主要考查考生对二维数组的掌握,题目要求成员函数max_value的功能是求出所有矩阵元素中的最大值。因此只要逐个元素比较即可,下标i和j作为矩阵行和列的标记,使用双层for循环来遍历数组中的所有元素。

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

剩余未完,查看全文
收藏
国家二级C++机试(操作题)模拟试卷502

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号