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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi.cpp,该程序运行时有错误,请改正错误,使得程序正常运行,并且要求最后一个catch()必须抛出执行的任何异常。

程序通过抛出异常输出:

error

0

ERROR

注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在

//********error********的下面。

#include

int main()

{

try

{

throw(\\

(1)catch(char*s)

(2)catch(int i)

(3)catch(…)

解析:(1)第1个标识前的异常抛出语句为“throw(\\

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数:

int factorial(int n):求出n的阶乘,必须使用递归调用。

如果n小于1则返回0。

注意:不能修改函数的其他部分。

#include

#include

int factorial(int n)

{

}

void main()

{

cout<<factorial(1)<<endl;

cout<<factorial(5)<<endl;

cout<<factorial(0)<<endl;

return;

}

if(n<1)

{

return 0;

}

else if(n==1)

{

return 1;

}

else

{

return n*factorial(n-1);

}

解析:(1)先考虑最简单的情况,n为1(或小于1)时返回值应该为1,即factorial(1)=1,这是递归结束条件,如果n大于1则递归调用自己。

(2)n>1时,此时递归函数调用自己,即factorial(n)=n*factorial(n-1),此时的函数的返回值是n*factorial(n-1),如此来实现递归调用。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:

(1)完成构造函数,设置数组元素的个数为0,请在注释//********1********之后添加语句。

(2)完成函数AddMember(int n),如果参数n包含在类的数据成员数组中,则返回0,否则把数据写入数组,然后返回1,请在注释//********2********之后添加语句。

(3)完成函数DelMember(int n),如果变量在数据中,则删除该变量,并且返回1,如果不存在则返回0,请在注释//********3********之后添加语句。

(4)完成成员函数islnclude(int n)的定义,该函数检查参数n是否在类的数据成员数组elems中,如果在返回1,否则返回0。请在注释//********4********之后添加语句。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include

#define MAX LENGTH 500

class CArray

{

public:

CArray()

{

//********1********

}

int AddMember(int n)

{

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

{

//********2********

if(Array[i]=n)

return 0;

}

Array[length++]=n;

return 1;

}

int DeiMember(int n)

{

int i;

for(i=0;i<length;i++)

{

i f(Array[i]==n)

{

break;

}

}

//********3********

if()

{

for(;i<length-1;i++)

{

Array[i]=Array[i+1];

}

length–;

return 1;

}

return 0;

}

int isInclude(int n)

{

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

{

//********4********

if()

{

return 1;

}

}

return 0;

}

private:

int Array[MAX LENGTH];

int length;//用来记录数组的个数

};

int main()

{

CArray obj;

obj.AddMember(1);

obj.AddMember(3);

obj.AddMember(8);

obj.AddMember(23);

cout<<obj.isInclude(8)

<<endl;

cout<<obj.isInclude(1 1)

<<endl;

obj.DelMember(3);

obj.DelMember(8);

cout<<obj.isInclude(2)

<<endl;

cout<<obj.isInclude(1)

<<endl;

return 0;

}

(1)添加语句: length=0;

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号