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

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

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

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

基本操作题

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

OK

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

#include

Class CBase

{

public:

CBase()

{

a=b=0;

}

prirate:

int a,b;

};

class CDerirel:public CBase

{

public:

CDerivel()

{

}

∥********error********

virtual void func();

};

class CDerive2:publiC CDerivel

{

public:

CDerive2()

{

a=0;

b=0;

}

void func()

{

∥********error********

cout<<“OK”<endl;

}

private:

int a;

int b;

};

void msin()

{

CDerive2 obj;

∥********error********

CDerivel *p =(CDerirel*)

obj;

P一>funC();

}

(1)virtual Void func()=0;

(2)cout<<“OK”<<endl;

(3)CDerivel*p=(CDerivel*)&obj;

解析:程序中定义了类CBase、CDerive1和CDerive2,类CDerive1公有派生于类CBase,CDerive2公有派生于类CDerive1,在类CDerive1中定义了虚函数func0,但是没有给出具体实现,派生类CDerive2中给出了func0函数的具体实现,因此CDerive1类中的func0函数是纯虚函数。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(char*s,char*s1,char*s2)中形参字符串s1和s2有相同的字符个数,且s1中各字符互不相同。该函数实现将已知字符串s中所有在字符串s1中也存在的字符,都用字符串s2中的对应位置的字符代替。

例如:设字符串s、s1和s2分别为:

s[]=“ABCABC”,

s1[]=“AC”,

s2[]=“ZX”

则s2中的字符z和X分别对应s1中的字符C和A,函数调用fun(s,s1,s2)将字符串s的内容变为“ZBXZBX”。

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

#include

void fun(char*s,char*s1,char

*s2)

{

}

void main()

{

char s[]=“ABCABC”;

fun(s,“AC”,“ZX”);

std::cout<<s<<std::end1;

return;

}

char *p,*q;

for(;*s;s++)

//在串s中找符合条件的字符,然后替换

{

for(p=s1,q=s2 ;*p ; p++,q++)

//让指针p,q分别指向s 1和s 2

{

if(*p==*s)

//如果s中存在s l中p指向的字符

{

*s=*q;

//那么用q指向的s2中的字符替换

}

}

}

解析:(1)该程序功能是将己知字符串s中所有在字符串s1中也存在的字符,都用字符串s2中的对应位置的字符代替。它的解题思路,首先是找到符合替换条件的字符,然后进行替换。

(2)从己给部分源程序的main主函数开始入手,核心函数void fun(char*s,char*s1,char*s2)中的s1,s2参数为要替换的字符串,s为要被替换的字符串。

综合应用题

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

(1)完成类MyArrayClass的构造函数,申请数组的大小,请在注释∥********1********后添加适当的语句。

(2)完成类MyArrayClass的析构函数,释放数组,请在注释∥********2********后添加适当的语句。

(3)完成重载运算符“[]”,用来获得指定下标的数据,请在注释∥********3********后添加适当的语句。

(4)完成函数SetElement(),用来设置指定下标的数据。如果数据没有超出范围,则设置数据,并返回1,否则返回0,请在注释∥********4********后添加适当的语句。

注意:除在指定的位置添加语句外,并不要更改程序中的其他语句。

#include

template

class MyArrayClass

{

private:

T*data;

int length;

public:

MyArrayClass(int len)

{

length=len;

∥********1********

}

一MyArrayClas S()

{

∥********2********

}

T&operator[](int i)

{

∥********3********

}

bool SetElement(int i,T t)

{

∥********4********

if()

{

data[i]=t;

return true;

}

return false;

}

};

int

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号