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

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

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

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

基本操作题

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

原日期:2005—9—25

更新后的日期:2006—4—1

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

#include<iostream>

#include<cstdlib>

using namespace std;

clas sCDate//日期类

{

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

protected:

CDate( ){};

CDate(int d,int m,int y)

{

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

SetDate(int day=d,intmonth=m,int year=y);

};

void Display( );//显示日期

void SetDate(int day,int month,intyear)

//设置日期

{m_nDay=day;m_nNonth=month;m_nYear=year;}

private:

int m_nDay;//日

int m_nMonth;//月

int m_nYear;//年

};

void CDate::Display( )//显示日期

{

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

cout<<m_Day<<\\

(1)public:

(2)SetDate(d,m,y);

(3)cout<<m_nYear<<\\

解析:(1)通过主函数中成员函数的调用可知这里应该为公有成员,而且构造函数必须为公有继承。

(2)主要考查考生对成员函数的掌握,程序在这里调用成员函数SetDate,直接把形参代入即可。

(3)题目要求输出原日期:2005—9—25。可以知道输出顺序为:先输出年,其次月,最后是日。

简单应用题

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

4 6 3 1 8

4 6 3 1 8

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

#include<iostream>

using namespace std;

class IntStack{//整数栈类

public:

virtual void push(int)=0;

//入栈

virtual int pop( )=0;

//出栈并返回出栈元素

virtual int topElement( )

const=0;

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

virtualbool~sEmpty( )const=0;

//判断是否栈空

};

class SeqStack:public TntStack{

intdata[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{returntop==NULL;}

};

void pushData(IntStack&st){

st.push(8);

st.push(1);

st.push(3);

st.push(6);

st.push(4);

}

void popData(IntStackst){

while(!st.isEmpty( ))

cout<<st.pop( )<<’ ’;

}

int main( ){

SeqStack Stl;pushData(St1);popData(st1);

cout<<endl;

LinkStack st2;pushData(st2);popData(st2);

cout<<endl:

return0;

}

(1)top(-1)

(2)datal[top–]

(3)top(NULL)

(4)p->next=top

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

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

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

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

综合应用题

3.请

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号