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

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

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

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

基本操作题

1.请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Foo和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:

X=a

Y=42

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

#include

using namespace std;

class Foo{

public:

Foo(char x){x =x;}

char getX()aonst{return x;}

public:

static int y;

private:

char x;

};

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

int Foo.y =42 ;

int main(int argc, char*arqv

[])

{

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

Foo f ;

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

cout<< \\

(1)int Foo::y_=42;

(2)Foo f(’a’):

(3)coul<<\\

解析:(1)主要考查考生对静态成员的掌握,因为静态整型变量y_是Foo类的公有成员,所以给y_赋值时要加上“Foo::”,即int Foo::y_=42:。

(2)主要考查考生对构造函数的掌握,题目要求程序输出:

X=a

Y=42

可以知道,在给Foo类的f声明时要同时初始化为字符a,即语句Foo f(’a’);。

(3)主要考查考生对成员函数的掌握,冈为X是类Foo的私有成员,所以不能在main函数中直接调用,要通过公有成员函数getX()调用。加上类名和作用域符号,要注意通过观察题目对序输出结果的要求,来给类赋初始值。

简单应用题

2.请打开考生文件火下的解决方案文件proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:

4 6 3 1 8

4 6 3 1 8

注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动//“****

found****”。

#include

using namQspace std;

class TntStack{ //整数栈类

public:

virtual void push(int)=0;

//入栈

virtual int pop()=0 ;

//出栈并返回出栈元素

virtual int topElement ( )

const=0;

//返回栈顶元素,但不出栈

virtual bool isEmpty()const

=0;

//判断是否栈空

}j

class SeqStack:public TntStack{

int data[100]; //存放栈元素的数组

int top; //栈顶元素的下标

public:

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

SeqStack():_____________{}//把top初始化为-1表示栈空

void push(int n){data [++top ]=n;}

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

int pop(){return____________;}

int topElement()const{return data[top];}

bool isEmpty()const{return top=-1;)

};

struct Node{

int data;

Node*next;

};

class LinkStack:public IntStack{

Node*top ;

public:

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

LinkStack():____________{}

//把top初始化为NULL表示栈空

void push(int n){

Node*p=new Node;

p->data=n;

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

___________;

top=p;

}

int pop(){

int d=top->data;;

top=top->next;

return d;

}

int topElement()const{return top->data;}

bool isEmpty()const{return

top==NULL;}

};

void pushData(IntStack&St){

st.push(8);

st.push(1);

st.push(3);

st.push(6);

st.push(4);

}

void popData(IntStack&St){

while(!St.isEmpty())

cout<<st.pop()<<\\

(1)top(-1)

(2)data[top–]

(3)top(NULL)

(4)p->next=top

解析:(1)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为-1表示栈空,即要把top赋值为-1即可。

(2)主要考查考生对纯虚函数的掌握情况,先看纯虚函数在基类的注释:出栈并返回出栈元素。要返回栈顶元素可以通过data[top]得到,出栈同时要使得top往下移动,即top–。

(3)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为NuLL表示栈空,因此使用成员列表初始化直接把top赋值为NULL即可。

(4)主要考查考生对栈的掌握,push为入栈函数,top指向栈顶元素,因此新添加的指针的next要指向top,即p->next=top;。

综合应用题

3.请打开考生文件夹下的解决方

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号