[计算机类试卷]国家二级C++机试(操作题)模拟试卷145及答案与解析.doc

上传人:orderah291 文档编号:497205 上传时间:2018-11-28 格式:DOC 页数:9 大小:36.50KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷145及答案与解析.doc_第1页
第1页 / 共9页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷145及答案与解析.doc_第2页
第2页 / 共9页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷145及答案与解析.doc_第3页
第3页 / 共9页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷145及答案与解析.doc_第4页
第4页 / 共9页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷145及答案与解析.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、国家二级 C+机试(操作题)模拟试卷 145及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 proil下的工程 projl,该工程中包含程序文件 main cpp,其中有类 Clock(“时钟 ”)的定义和主函数 main的定义。程序中位于每个 “ ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: Initial times ale 0 d: 0 h: 0 m: 59 s After one second times ale 0 d: 0 h: 1 m: 0 s 注意:只修改每个 “ ERROR*found*”下的那一行,

2、不要改动程序中的其他内容。 #include us ing namespace std; Class Clock public: Clock(unsigned long i=0); void set(unsigned long i=0); void print()const; void tick(); 时间前进一秒 Clock operator+(); private: uns igned long totalsec, seconds, minutes r hours r days; ; Clock: Clock(unsigned long i) : total sec(i), seconds

3、(i 60), minutes(i 60) 60), hours(i 3 600) 24), days(i 8 64 00) void Clock: set(unsigned long i) total sec=i; seconds=i 60; minutes=(i 60) 60; hours=(i 3 600) 60; days=i 8 64 00; ERROR*found* void Clock: print() cout using namespace std; enum category EMPTY, ELEPHANT, MOUSE); char*output=“EMPTY”, ”EL

4、EPHANT“, ”MOUSE”); clas S Mammal public: Mammal(char*str) *found* name=new_ strcpy(name, str); virtual char*WhoAmI()=0; virtualMammal()deletename; void Print()coutPrint(); delete pm, pm=new Nouse(“Micky”); pm一 Print(); delete pm; return 0; 三、综合应用题 3 请使用 VC6或使用【答题】菜单打开考生文件夹 proj3下的工程 pmj3,其中声明了一个单向链表

5、类 sList。 sList的成员函数 Prepend的功能是在链表头部加入一个新的元素。请编写成员函数 Prepend。在 main函数中给出了一组测试数据,此时程序的输出应为: B一 A一 # A一 # A一 # exiting inner block exiting outer block 注意:只在函数 Prepend的 “ *333*”和 “*666*”之间填入若干语句,不要改动程序中的其他内容。 SList h strucL sListItem char data; sListItem*nexL; ; class sList public: sList(): h(0) 0表示空链表

6、 一 sLLst(); void Prepend(char C); 在链表前端加入元素 void Del(); 删除链表首元素 sListItern*First()constreturn h; 返回链表首元素 void Print()const; 打印链表内容 VOid Release(); 销毁链表 private: sListItem*h; 链表头 ; void writeToFile(const char*; main cpp #include #include”sList h” us ing namespace std; sList:一 sList() Release(); void

7、sList: Prepend(char c) *333* *666* void sList: Del() sListltem*temp=h; h=h一 next; delete temp; void sList: Print()const sListItem*temp=h; while(Lemp!=0) 判断是否到达链表尾部 toutdata”; temp=temp一 next; toutPrint(); coutdata=c; 把 c赋值于结构体 temp成员 data temp一 next=h; 把 h赋值于结构 temp体成员 nexth=temp; 把 temp赋值给 h,即 h指向 temp指向的空间 【试题解析】 本题考查的是 sList类,其中涉及构造函数、字符指针、析构函数、成员函数 和 const函数。 【解题思路】 主要考查考生对链表的掌握,成员函数 Prepend的功能是在链表头部加入一个新元素。形参 c是一个 char型变量,因此要定义一个新的结构体指针 temp,并给它分配 sListItem类型空间,把形参 c中的值赋给 temp的数据域,并使 temp通过指针链接到链表上。 【解题宝典】 主要考查考生对链表的掌握,单向链表是指针的一大应用,运用指针对单向链表进行操作有很多优点,如插入和删除元素很方便等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1