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

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

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

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

基本操作题

1.请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:

Initial times are

0 d:0 h:0 m:59 s

After one second times are

0 d:0 h:1 m:0 s

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

#include<iostream>

using namespace std;

class clock

{

public:

Clock(unsigned long i=0);

void set(unsigned long i=0);

void print()const;

void tick(); //时间前进一秒

Clock operator++();

private:

unsigned long total_sec,seconds rminutes,hours,days;

};

Clock∷Clock(unsigned long i)

:total_sec(i),seconds(i%60),

minutes((i/60)%60),

hours((i/3600)%24),

days(i/8 6400){)

void Clock∷set(unsigned long i)

{

total sec=i;

seconds=i%60;

minutes=(i/60)%60;

hours=(i/3600)%60;

days=i/86400;

}

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

void Clock∷print()

{

cout <<days<< \\

(1)void Clock∷pnnt()const

(2)set(++total_sec);

(3)return * this;

解析:(1)主要考查考生对成员函数的掌握,由Clock类中对函数print的声明void print()const;可知,在定义print函数时少了const。

(2)主要考查考生对++操作的掌握,根据函数要求,时间要先前进一秒,再调用函数set,因此total_see++应改为++total_sec。

(3)主要考查考生对this指针的掌握,函数要求返回值Clock,即返回一个类,而不是指针,因此使用*this。

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephan(“大象”)、类Nouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的代码并删除横线,以实现上述定义。此程序的正确输出结果应为:

ELEPHANT

MOUSE

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

found****”。

#include<iostream>

using namespace std;

enum category {EMPTY,ELEPHANT,NOUSE};

char * output[]={\\

(1)char[strlen(str)+1];

(2)Mammal(str)

(3)return output[MOUSE];

(4)Elephant

解析:(1)主要考查分配空间,程序要给name分配空间,由下一条语句中strcpy(name,str)可知程序要把字符串str复制给name,因此要分配的空间大小为strlen(str)+1。

(2)主要考查考生对构造函数的掌握,因为Elephant类是Mammal类的派生类,所以其构造函数要使用成员列表先对Mammal类初始化。

(3)主要考查考生对枚举类型的掌握,先看程序:enum category{EMPTY,ELEPHANT,MOUSE}。再参考Elephant类中的WhoAmI函数:char*WhoAmI(){return output[ELEPHANT];}。可知这里要填写的返回语句为:return output[MOUSE];。

(4)主要考查考生对派生类的掌握,题目要求输出:

ELEPHANT

MOUSE

可知,要先调用Elephant类的WhoAml函数,因此给指针pm分配Elephant类空间。

综合应用题

3.请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明了一个单向链表类sLst。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Pepend。在main函数中给出了一组测试数据,此时程序的输出应为:

B->A->

###

A->

###

A->

###

exiting inner block

exiting outer block

注意:只在函数Prepend的“********333********”和“********666********”之间填入若干语句,不要改动程序中的其他内容。

//SLiSt.hstruct sListItem{

char data;

sListItem * next;

};

class sList{public:

sList():h(0){}//0表示空链表

~sList();

void Prepend(char c);//在链表前端加入元素

void Del();//删除链表首元素

sListItem * First()const{Eeturn h;)//返回链表首元素

void Print()const;//打印链表内容

void Release();//销毁链表

private:

sListItem * h;//链表头

},

void writeToFile(const char * );

//main.cpp

#include<iostream>

#include\\

sListItem * temp=new sListItem;

//动态分配空间给结构体temp的指针

temp

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号