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

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

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

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

基本操作题

1.请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程pmj1,此工程包含一个源程序文件proj1.epp。文件中将表示数组元素个数的常量Size定义为4,并用int类型对类模板进行了实例化。文件中位于每个注释“//ERROR ****found*****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:

1 2 3 4

注意:模板参数名用T。只修改注释“//ERROR*********found*********”的下一行语句,不要改动程序中的其他内容。

//proj1.cpp

#include

using namespace std;

//将数组元素个数Size定义为4

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

const int Size;

template

class MyClass

{

public:

MyClass(T*P)

{

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

array[i]=p[i];

}

void Print();

private:

T array[Size];

};

template

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

void MyClass::Print()

{

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

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

}

int main()

{

int intArray[Size]={1,2,3,4};

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

MyClassobj(intArray);

obj.Print();

cout<<endl;

return 0;

}

(1)const int Size=4;

(2)void MyClass::Print()

(3)MyClassobj(intArray);

解析:(1)主要考查考生对const变量的掌握,因为const变量不能修改,所以在定义的同时必须初始化。

(2)主要考查考生对模板类的成员函数定义的掌握,因为MyClass类是模板类,所以在定义该函数时要加上模板标识符“”,即语句void MyClass::Print()。

(3)主要考查考生对模板类构造函数的调用的理解,从上一条语句int intArray[Size]={1,2,3,4};中可以知道intArray为int型,因此定义obj时要使用,即MyClassobj(intArray);。

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

Constructor called.

The value is 10

Max number is 20

Destructor called.

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

//projl.cpp

#include<iostream>

USing namespace std;

class MyClass{

public:

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

void MyClass(int i)

{value=i;cout<<”Constructor

called.”<<endl;}

int Max(int X,int Y){return x>Y?

x:y;)//求两个整数的最大值

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

in=Max(int x,int Y, nt Z=0)

//求三个整数的最大值

{

if(x>y)

return X>Z?x:Z;

else

return y>Z?Y:z;

}

int GetValue()const{return value;}

一MyClass(){cout<<”Destructor

called.”<<endl;)

Frivate:

int value;

};

int main()

{

MyClass obj(10);

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

cout<<”The value is”<<value()

<<endl;

cout<<”Max number is”<<obj.Max

(10,20)<<endl;

return 0;

}

(1)MyClass(int i)

(2)int Max(int x,int y,int Z)

(3)cout<<\\

解析:(1)考查构造函数,构造函数前不加void或其他任何类型名,直接使用MyClass(int i)即可。

(2)主要考查函数重载,在

int Max(int x,int Y){return X>Y?x:y;}中两个形参变量都是int型,而语句int Max(int x,int y,int z=0)的前两个形参也都是int型,第三个形参定义默认值,那么这两个Max函数在调用时它们的参数个数和参数类型都一样,因为函数重载要求形参类型或形参个数不同,所以要把int z=0改为int z,才能构成函数重载。

(3)主要考查成员函数的调用,因为value是私有成员,所以不能被类外函数直接调用,而且value()的用法也是错误的,可以使用成员函数obj.GetValue()得到value的值。

简单应用题

3.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有坐标点类point、线段类Line和三角形类Triangle的定义,还有main函数的定义。程序中两点间距离的计算是按公式实现的,三角形面积的计算是按公式本文档预览:3600字符,共10064字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号