[计算机类试卷]国家二级(C++)机试模拟试卷94及答案与解析.doc
《[计算机类试卷]国家二级(C++)机试模拟试卷94及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)机试模拟试卷94及答案与解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)机试模拟试卷 94及答案与解析 一、选择题 1 要建立文件流并打开当前目录下的文件 file.dat用于输入,下列语句中错误的是( )。 ( A) ifstreamfin=ifstream.open(“file.dat“); ( B) ifstream*fin=newifstream(“file.dat“); ( C) ifstreamfin;fin.open(“file.dat“); ( D) ifstream*fin=newifstream();fin-open(“file.dat“); 2 有如下程序段: int i = 0, j = 1; nt / r = j; /
2、int *p = / *p = / 其中会产生编译错误的语句是 ( )。 ( A) ( B) ( C) ( D) 3 下列有关继承和派生的叙述中,正确的是 ( )。 ( A)派生类不能访问基类的保护成员 ( B)作为虚基类的类不能被实例化 ( C)派生类应当向基类的构造函数传递参 数 ( D)虚函数必须在派生类中重新实现 4 下列关于栈叙述正确的是 ( )。 ( A)算法就是程序 ( B)设计算法时只需要考虑数据结构的设计 ( C)设计算法时只需要考虑结果的可靠性 ( D)以上三种说法都不对 5 有如下程序段: int i=1; while(1) i+; if(i = 100) break;
3、if(i%2 = 0) cout #include using namespace std; class MyBag public: MyBag(string br,string cr):brand(br),color(cr) +count; MyBag() -count; static int GetCount() return count; private: string brand,color; static int count; ; int MyBag:count=0; int main() MyBag one(“CityLife“,“Gray“),two(“Micky“,“Red“)
4、; _ return 0; 若程序运行时的输出结果为 2,则横线处缺失的语句不可能是 ( A) cout using namespace std; class VAC public: int f() const return 3; int f() return 5; ; int main() VAC v1; const VAC v2; cout #include using namespace std; class MyBag public: MyBag(string br,string cr):brand(br),color(cr) +count; MyBag() -count; stati
5、c int GetCount() return count; private: string brand,color; static int count; ; int MyBag:count=0; int main() MyBag one(“CityLife“,“Gray“),two(“Micky“,“Red“); _ return 0; 若程序运行时的输出结果为 2,则横线处缺失的语句不可能是 ( A) cout usingnamespacestd; classScore private: intdata; public: Score(intd=0) this-data=d; Score()
6、 voidshow() coutdatadata=value; if(this-check() coutdata=100) returntrue; returnfalse; ; intmain () ERROR*found* Scores=newScore(); ERROR*found* S-data=100; S-show(); return0; 三、简单应用题 42 请使用 VC6或使用【答题】菜单打开考生文件夹 proj2下的工程 proj2,此工程中含有一个源程序文件 proj2 epp,其中定义了 Array类。 在 C+程序中访问数组元素时,如果索引值 (下标 )小于 0或者大于元
7、素 个数减 1,就会产生越界访问错误。 Array是一个带有检查越界访问功能的数组类,其成员列表如下: 公有成员函数功能 GetValue获取指定元素的值 SetValue将指定元素设置为指定值 GetLength获取元素个数 私有成员函数功能 IsOutOfRange检查索引是否越界 私有数据成员功能 _p指向动态分配的整型数组的指针 size存放元素个数 Array类的构造函数会动态分配一个 int类型数组,以存储给定数量的元素。在公有成员函数 GetValue和 SetValue中,首先调用私有成员函数 IsOutOfRange检查用于访问数组元素的索引是否越界,只有当索引值在有效范围内
8、时,才能进行元素访问操作。 请在横线处填写适当的代码,然后删除横线,以实现 Array类的功能。此程序的正确输出结果应为: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动 “ *found*”。 proj2 cpp #include usingnamespacestd; classArray public: Array(intsize)构造函数 *found* 下列语句动态分配一个 int类型数组 _p=_; size=size; Array()delete_p; )析构函数 voidSetValue(in
9、tindex, intvalue)设置指定元素的值 if(IsOutOfRange(index) ceEE usingnamespacestd; classVaiArray int*v; intsize; pubiic: VaiArray(constint*p, intn): size(n) v=newintsize; for(inti=0; i“括起来,这个表被称为类模板的模板参数表。类模板是类的抽象,类是类模板的实例。类模板使类中的一些数据成员和成员函数的参数或返回值可以取任意的数据类型。所以 B 选项正确。 16 【正确答案】 A 【试题解析】 面向对象思想的主要特征有:封装、继承和多态
10、。答案选 A。 17 【正确答案】 C 【试题解析】 公有继承中,派生类不改变基类的成员访问权限 (private成员除外 ),即基类的 public成员在派生类中是 public成员,基类的 protected 成员在派生类中是 protected 成员;另 外友元函数可以访问类的 private成员、 protected 成员和 public成员,所以 f 函数中 d 可以访问的数据成员有: n、 p、 k; m对派生类不可见;答案为 C。 18 【正确答案】 D 【试题解析】 需求分析阶段的工作可以分为个方面:需求获取、需求分析、编写需求规格说明书和需求评审,包括确定软件系统的功能, D
11、选项正确。 A、 B、C选项均为开发阶段工作。 19 【正确答案】 D 【试题解析】 题目需要声明类型转换运算符 int,类型转换运算符是一种特殊的类成员函数,它定义将类类型值转变为其他 类型值的转换,其中转换函数必须是成员函数,不能指定返回类型,并且形参列表必须为空,所以 int类型转换运算符的声明为: operatorint();选项 A、 B、 C错误;答案为 D。 20 【正确答案】 A 【试题解析】 streamoff定义于 iostream.h 中,定义有偏移量 offset所能取得的最大值, seek_dir表示移动的基准位置,是一个有以下值的枚举: ios:beg:(文件开头)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 模拟 94 答案 解析 DOC
