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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi.cpp,该程序运行时有错误,请改正其中的错误,使得程序正确运行。

程序输出:

s1:n=20

s2:n=10

执行s3.add(s1,s2)

s3:n=30

s4:n=30

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

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

#include

class TestClass

{

int n;

public:

TestClass() {}

TestClass(int m)

{

n=m;

}

//********errOr********

TestClass add(TestClass s1,s2)

{

this->n=s1.n+s2.n;

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

return(this);

}

Void disp()

{

cout<<’ ’n=\\

(1)TestClass add(TestClass s1,TestClass s2)

(2)return(*this);

(3)};

解析:(1)打开modi1.cpp,调试程序,根据显示的错误提示,知道语句“TestClass add(TestClasss1,s2)”中的变量“s2”没有声明类型,所以补充“s2”的类型,即“TestClass add(TestClass s1,TestClass s2)”。

(2)“this->n=s1.n+s2.n:”语句中的this变量为指针变量,所以第2个标识下的“return(this);”返回语句中的this变量,应该返回指针型,所以修改为“return(*this);”。

(3)C++中类的定义格式应为“class类名{);”,以分号为结尾,所以第3个标识下,类结尾处补充分号“;”,即修改为“}:”。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如:

输入:This is great!

输出:This grea!

注意:不能修改程序的其他部分,只能补充fun()函数。

#include

#define MAXLEN 1024

Void convert(char*des,char*

str)

{

}

void main()

{

char sour[MAXLEN];

char dest[MAXLEN];

cout<<\\

int 1,j;

bool TuAdd;

des[0]=0;

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

{

ToAdd=true;

for(j=0;des[j]!=NULL;j++)

{

if(str[i]==des[j])

{

ToAdd=false;//des 数组中已存在该元素,将标志位设置为假,说明不用再添加

break;//des数组中已存在该元素,跳出循环

}

}

if(ToAdd)//des数组中不存在,添加进来

{

des[j]=str[i];

des[j+1]=0 ;

}

}

解析:(1)由审题分析可知,需要两重循环,外层循环不断读取str中的元素,内循环在des数组中查找读到的str中的字符,如果找到了des数组中已存在该元素不需要添加,如果没找到则添加到des数组中。

(2)在外循环体内,先设置bool型的标志变量ToAdd为真,假设str[i]不存在在des数组中,然后再内循环中,用str[i]和des[j]比较.如果相同说明已经存在了,将ToAdd设置为假,des[j]后面的元素不需要再比较了,跳出内循环。

(3)通过判断ToAdd可知,str[i]是否存在des数组中,如果ToAdd为真,则说明des数组中不存在str[i],将str[i]添加到des数组中。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整。请按要求完成下列操作,将类Date的定义补充完成。

(1)定义私有数据成员year、month和day,分别用于表示年、月和日,它们都是int型的数据。请在注释//********1********之后添加适当的语句。

(2)完成默认构造函数Date的定义,使Date对象的默认值为:year=1,month=1,day=1,请在注释

//********2********之后添加适当的语句。

(3)完成重载构造函数Date(int y,int m,int d)的定义,把数据成员year、month和day分别初始化为参数y、m和d的值,请在注释//********3********之后添加适当的语句。

(4)完成成员函数print()的类外定义,使其以“年一月一日”的格式将Date对象的值输出到屏幕上,例如:2008-8-8。请在注释//********4********之后添加适当的语句。

注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

#include

Class Date{

public:

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

Date(int y,int m,int d)

{

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

}

void print()const;

private:

//data member

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

};

void Date::print()const

{

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

}

int main(){

Date national_day(1949,10,1);

national_day.print();

return 0;

}

(1)添加语句:int

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号