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

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

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

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

基本操作题

1.请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR ****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:

The value is 10

注意:只修改注释“//ERROR ****found****”的下一行语句,不要改动程序中的其他内容。

//proj1.cpp

#include<iostream>

using namespace std;

class MyClass{

int value;

public:

//ERROR ******found******

void MyClass(int val):value

(val){)

int GetValue()const{return

value;)

void SetValue(int val);

};

//ERROR ******found******

inline void SetValue(int val)

{value=val;}

int main()

{

MyClass obj(0);

obj.SetValue(10);

//ERROR ********found********

下列语句功能是输出obj的成员val.ue的值

cout <<\\

(1)MyClass(int val):value(val){}

(2)void MyClass∷SetValue(int val){value=val;}

(3)tout<<\\

解析:(1)考查构造函数,定义构造函数时不能使用void,直接使用MyClass(int val)即可。

(2)主要考查成员函数定义,类的成员函数定义时要使用前缀MyClass,而inline是内联函数的关键字,在此是错误的,应该删掉inline并在函数名前加上前缀MyClass,即void MyClass∷SetValue(int val){value=val;}。

(3)考查成员函数调用,value是私有成员,在主函数中不能直接调用value,可以使用成员函数GetValue()来得到value的值。

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。

Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack为抽象类,它只定义了栈的用户接口,如下所示:

公有成员函数功能

push 入栈:在栈顶位置添加一个元素

pop 退栈:取出并返回栈顶元素

ArrayStack是Stack的派生类,它实现了Stack定义的接口。ArrayStack内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize表示的是栈的最大容量,top用于记录栈顶的位置。成员函数push和pop分别实现具体的人栈和退栈操作。

请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为:

a,b,c

c,b,a

注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。

//proj 2.cpp

#include<iostream>

USing namespace std;

clasS Stack{

public:

virtual void push(char c)=0;

virtual char pop()=0;

};

class ArrayStack:public Stack{

char * P;

int maxSize;

int top;

public:

ArrayStack(int s)

{

top=0;

maxSize=s;

//********found********

p=_______;

}

~ArrayStack()

{

//********found********_______;

}

void push(char c)

{

if(top=maxSize){

cerr <<\\

(1)new char[8]

(2)delete[]P

(3)P[top]=c

(4)return P[top]

解析:(1)主要考查的是ArrayStack类的构造函数,在函数中要为P申请s个char型空间,应使用语句P=newchar[s];。

(2)主要考查析构函数,使用delete语句释放指针,即delete[]P;。

(3)主要考查push函数,top表示栈顶元素下标,添加的数据放到栈顶,因此使用语句P[top]=c:0

(4)主要考查pop函数,输出栈顶数据,top表示栈顶元素下标,因此使用语句return P[top];。

综合应用题

3.请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到文件out.dat中。文件in.dat的长度不大于1000字节。

要求:

补充编制的内容写在“//**********333**********”与“//**********66666**********”两行之间。实现将myDoc中的字符序列反转,并将反转

后的序列在屏幕上输出。不得修改程序的其他部分。

注意:程序最后已将结果输出到文件out.dat中,输出函数writeToFile已经给出并且调用。

//proj 3.cpp

#include<iostream>

#include<fstream>

#include<cstring>

using namespace std;

class doc

{

private:

char *str;//文本字符串首地址

int length;//文本字符个数

public:

//构造函数,读取文件内容,用于初始化新对象,filename是文件名字符串首地址

doc(char *filename);

void reverse();//将字符序列反转

<

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号