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

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

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

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

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果是:

nember=1

nember=10

nember=100

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

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

#include

Class TestClass

{

public:

TestClass(int i){

nember=i;

}

void SetNember(int m){

nember=m;

}

int GetNember()const{

return nember;

}

void Print()conSt{

cout<<\\

(1)TestClass obj1(1);

(2)obj1.SetNember(10);

(3)obj2.SetNember(100);

解析:(1)第1个标识下,“TestClass obj1;”语句是声明TestClass类的对象obj1,根据TestClass类构造函数的定义TestClass(int i),存在整型参数,并且题目要求第一个输出结果为1,所以补全参数l,即第1个标识下的“TestClass obj1(1);”。

(2)第2个标识下的“obil.nember=10:”应该是调用成员函数SetNember赋值。在C++中成员函数的使用形式应该是:对象名.成员函数,所以修改为“obj1.SetNember(10);”。

(3)类是对象的抽象,而对象是类的具体实例。第3个标识下“TestClass.SetNember(100);”语句中的TestClass为类,并不是对象,这里应该是使用定义的对象,即obj2,修改为“obj2.SetNember(100);”。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)实现的功能是,如果字符串str里面有空格或者不可打印字符,则全部去掉,将转化后的字符串放在字符串des里,然后返回该字符串。

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

#include

#include

#define MAXLEN 1024

char*convert(char*des,char*

str)

{

}

void main()

{

char dest[MAXLEN];

char*str=\\

int j=0;

for(int i=0;str[i] !=NULL;i

++)

{

i f(str[i]!=’’&&isprint

(str[i]))//判断是否是可打印的而且非空格字符

{

des[j++]=str[i]; //添加

}

}

des[j]=NULL;//最后一个字符为空

return des;

解析:(1)由审题分析可知,可利用循环来逐个检索str中的字符,循环变量i从0开始,直到str数组的结束,即str[i]==0为循环结束条件。

(2)在循环中用if语句判断该字符是否是空格或者不可打印字符:if(str[i]!=’’&&isprint(str[i])),如果满足条件说明不是空格或者不是不可打印字符添加到des中,不满足则无须添加到des中。

综合应用题

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

(1)在类TestClass中定义name为字符串类型,age为整型,请在注释//********1********后添加语句。

(2)设置类TestClass0的基类为TestClass类的定义,请在注释//********2********后添加语句。

(3)在类TestClass的派生类TestClass0的公有成员中定义析构函数TestClass0,请在//********3********后添加。

(4)设置类TestClass1的基类为TestClass类的定义,请在//********4********后实现。

本程序输出如下结果:

TestClass class constructor

TestClass0 class constructor

TestClass on class constructor

TestClass1 class constructor

TestClass1 class constructor

TestClass class constructor

TestClassO class constructor

TestClass class constructor

注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。

#include

Class TestClass

{

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

public:

TestClass(){cout<<\\

(1)添加语句:char*name;int age;

(2)添加语句:class TestClass0:public TestClass

(3)添加语句:-TestClass0 ()

(4)添加语句:class TestClassl:public TestClass

解析:(1)题目1要求“TestClass中定义name为字符串类型,age为整型”。根据题目要求,在程序TestClass类中定义变量name和age,即“char*name;int age;”。

(2)题目2要求“设置类TestClass0的基类为TestClass类的定义”。在C++中,从已有的类产生一个新的子类,称为类的派生。声明派生类的一般形式为:class派生类名:[继承方式]基类名。根据声明派生类的一般形式,这里补全“class TestClass0:publicTestClass”。

(3)题目3要求“在类TestClass的派生类TestClass0的公有成员中定义析构函数TestClass0”。析构函数也是一个特殊的成员函数,它的作用与构造函数相反,它的名字是类名的前面加一个“~”符号。题目中要求的类名字为“TestClass0”即这里补全“~TestClass0()”。

(4)题目4要求“设置类TestClass1的基类为TestClass1类的定义”同

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号