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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为:

30

130

注意:错误的语句在//*****error******的下面,修改该语句即可。

#include

int a=10;

class CObj

{

public:

CObj()

{

a=b=0;

}

void display()

{

//*****error******

cout<<a<<b<end1;

)

void func(int a)

{

//*****error******

a+=a;

}

void func2()

{

//*****error******

a+=a;

)

private:

int a,b;

};

void main()

{

CObj obj;

obj.func(3);

obj.display();

obj.func2();

obj.display();

}

(1)cout<<a<<b<<end1;

(2)this->a+=a;

(3)a+=::a;

解析:(1)成员函数display()打印变量a和b的值,即cout输出a和b的值,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<”不正确,因此第1个标识下应改成cout<<a<<b<<end1。

(2)在func(int a)中,参数a传递进来,其和成员变量a名字一样,因此第2个标识下的“a+=a”有歧义,从程序的运行结果来分析,CObj obi声明对象obj,初始化类成员变量a和b均为0,调用func函数后输出30,说明a为3,b为0,因此这里应该是成员变量与参数a的和赋给成员变量a,正确的写法是“this->a+=a;”。

(3)func2()函数虽然没有参数,但是成员变量a和全局变量a重名,第3个标识下“a+=a”也会有歧义,分不清楚是全局变量加倍还是类成员变量加倍或者其他情况,调用func2()函数后,输出“130”,说明a为13,b为0,因此是成员变量与全局变量a的和赋给成员变量a,正确的写法是“a+=::a;”,“::a”表示是全局变量a。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数num(char *str)实现返回字符串中非数字的个数。

例如:abc123abc45

返回输出:6

将函数num()补充完整。

注意:请勿改动主函数。

#include

int num(char *str)

{

}

int main()

{

char str[1024];

cout<<\\

int number=0;

for(int i=0;str[i]!=0;i++)

if(Str[i]>’9’ ||str[i]<’0’)

//非数字字符

number++;

return number;

解析:(1)利用循环搜索数组str中的元素,循环变量从0开始,直到str[i]=0(到了字符数组的尾),不断地读取str中读取元素。

(2)每读到一个元素判断是否是非数字字符,即满足条件“str[i]>’9’‖str[i]<’0’”的字符为非数字字符,非数字字符个数加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++)

{

if(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(in

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号