[计算机类试卷]2009年3月国家二级(C++)笔试真题试卷及答案与解析.doc
《[计算机类试卷]2009年3月国家二级(C++)笔试真题试卷及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]2009年3月国家二级(C++)笔试真题试卷及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、2009年 3月国家二级( C+)笔试真题试卷及答案与解析 1 下列叙述中正确的是 ( A)栈是 “先进先出 ”的线性表 ( B)队列是 “先进后出 ”的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 2 支持子程序调用的数据结构是 ( A)栈 ( B)树 ( C)队列 ( D)二叉树 3 某二叉树有 5个度为 2的节点,则该二叉树中的叶子节点数是 ( A) 10 ( B) 8 ( C) 6 ( D) 4 4 下列排序方法中,最坏情况下比较次数最少的是 ( A)冒泡排序 ( B)简单选择排序 ( C)直接插入排序 ( D)堆排序 5 软件
2、按功能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( A)编译程序 ( B)操作系统 ( C)教务管理系统 ( D)汇编程序 6 下面叙述中错误的是 ( A)软件测试的目的是发现错误并改正错误 ( B)对被调试的程序进行 “错误定位 ”是程序调试的必要步骤 ( C)程序调试通常也称为 Debug ( D)软件测试应严格执行测试计划,排除测试的随意性 7 耦合性和内聚性是对模块独立性度量的两 个标准。下列叙述中正确的是 ( A)提高耦合性降低内聚性有利于提高模块的独立性 ( B)降低耦合性提高内聚性有利于提高模块的独立性 ( C)耦合性是指一个模块内部各个元素
3、间彼此结合的紧密程度 ( D)内聚性是指模块问互相连接的紧密程度 8 数据库应用系统中的核心问题是 ( A)数据库设计 ( B)数据库系统设计 ( C)数据库维护 ( D)数据库管理员培训 9 有两个关系 R、 S如下: 由关系 R通过运算得到关系 s,则所使用的运算为 ( A)选择 ( B)投影 ( C)插入 ( D)联接 10 将 ER图转换为关系模式时,实体和联系都可以表示为 ( A)属性 ( B)键 ( C)关系 ( D)域 11 对 c+编译器区分重载函数无任何意义的信息是 ( A)参数类型 ( B)参数个数 ( C)返回值类型 ( D)常成员函数关键字 const 12 有如下类定
4、义和变量定义: class A public: A()data=O; 一 A() int GetData()const retum data; void SetData(int n) data=n; private: int data; ; const A a; A b; 下列函数调用中错误的是 ( A) a GetData(); ( B) a SetData(10); ( C) b GetData(); ( D) b SetData(10); 13 有如下类定义和变量定义: class parents public: int publicData; private: int privateD
5、ata; ; class ChildA: public Parents *类体略 * ); class ChildB: private Parents *类体略 * ; ChildA a; ChildB b: 下列语句中正确的是 ( A) coutopen(”file dat”); 17 下列描述中,不属于面向对象思想主要特征的是 ( A)封装性 ( B)跨平台性 ( C)继承性 ( D)多态性 18 有如下程序段: int i=4; int J=1: int main() int i=8, J=i; cout ( D) 26 当使用 ifstream流类定义一个流对象并打开一个磁盘文件时,文
6、件的默认打开方式为 ( A) ios_base: in ( B) ios_base: in l ios_base: out ( C) ios_base: out ( D) ios_base: ingdos_base: out 27 有如下程序: #include #include using namespace std; class XCD char*a; int b; public: XCD(char; l: aa, int bB) a=flew charstrlen(aA)+1; strcpy(a, aA); b=bb; char*lE Geta()return a; int Getb()
7、return b; ; int main() char*pl=”abcd” *p2=”weirong”; int dl=6, d2=8; XCD x(pl; d1), Y(p2, d2); cout #include using namespace std; class XCF int a; public: XCF(int aa=O): a(aA)coutGeta(); delete pd; return 0; 运行 时的输出结果是 ( A) 1215588 ( B) 1218855 ( C) 12185 ( D) 128512 29 已知类 MyClass声明如下: class MyClas
8、s int n; public: MyClass(int k): n(k) int getValue()constreturn n; ; 在下列数组定义中正确的是 ( A) MyClass xl2; ( B) MyClass x22=new MyClass(1), new MyClass(2); ( C) MyClass * x32; ( D) MyClass * x412=MyClass(1), MyClass(2); 30 有如下程序: #include using namespace std; class AA int k: protected: int n; void setK(int
9、 k)mis-k=k; public: void setN(int n)tllis-n=n; ; class BB: public AA *类体略 * ; int main() BB X; x n=l: 1 x setN(2); 2 x k=3: 3 X setK(4); 4 return 0; 在标注号码的 4条语句中正确的是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 31 有如下类定义: class XX int XX; public: xx(): xx(0)tout using namespace std class A public: virtual void f()co
10、ut using namespace std; class Pair int m; int n; public: Pair(int i, int J): m(i), n(J) bool operator(Pair P)const; 需在类体外给出定义 ; int main() Pair pl(3, 4), p2(4, 3), p3(4, 5); COUtp2)p1)p3)p2); return 0; 运算符函数 operator功能是比较两个 Pair对象的大小,当左边对象大时,返回true,否则 返回 false。比较规则是首先比较两对象的 m成员, m大者为大;当 m相等时比较 n.n大者
11、为大。程序输出 0101,下列对运算符重载函数的正确定义是 ( A) bool Pair: operator(Pair P)const if(m!=P m)return mP m; return nP n; ) ( B) bool Pair: operator(Pair P) if(m!=P m)return mP m; return nP n; ) ( C) bool Pair: operator(Pair P)const if(mP m)return true; return 11P n; ) ( D) bool Pair: operator(Pair P) if(mP m)return
12、true; return 11P n; 34 假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外 3条语句不同的语句是 ( A) cout using narnespace std; class ONE int e; public: ONE(): c(O)cout using namespace std; class Monitor public: Monitor(char t): type(t) void Print()const cout using namespace std; class Animal public: virtual char*getType()const
13、return“Animal”; virtual char*getVoice()constreturn“Voice”; ; class Dog: public Animal public: char*getType()constrgturn“Dog”; char*getVoice()constretum“Woof”; ; void type(Animal&A)cout Type为类型参数 class Xtwo由两个 Type类型的数据成员构成的模板类 Type a; Type b; public: Xtwo(Type aa=O, Type bb=O): a(a A), b(bB) int Com
14、pare()比较 a和 b的大小 if(aB)retum 1; else if(a=B)return 0; else return-1: f Type Sum(); return a+b; 返回 a与 b的和 Type Mult(); 函数声明,返回 a和 b的乘积 ; template 【 】: Mult()return a*b; Mult函数的类外定义 2009年 3月国家二级( C+)笔试真题试卷答案与解析 1 【正确答案】 D 【试题解析】 栈是 “先进后出 ”的线性表;队列是 “先进先出 ”的线性表;循环队 列是队列的一种顺序存储结构,因此是线性结构;有序线性表既可以采用顺序存储结构
15、,也可以采用链式存储结构。 2 【正确答案】 A 【试题解析】 栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表。在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为 A)。 3 【正确答案】 C 【试题解析】 对于任何一棵二叉树 T,如果其终端节点 (叶子 )数为 n1,度为 2的节点数为 n2,则 n1=n2+1。所以该二叉树的叶子节点数等于 5+1=6。 4 【正确答案】 D 【试题解析】 冒泡排序、简单选择排序和直接插入排序在最坏情况下比较次数都是 “n(
16、n-1) 2”,堆排序在最坏情况下比较次数最少,是 “O(nlog2n)”。 5 【正确答案】 C 【试题解析】 软件按功能可以分为:应用软件、系统软件、支撑软件 (或工具软件 )。应用软件是为解决某一特定领域的应用而开发的软件;系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件;支撑软件是介于系统软件和应 用软件之间,协助用户开发软件的工具性软件。编译程序、操作系统和汇编程序都属于系统软件;教务管理系统属于应用软件。 6 【正确答案】 A 【试题解析】 软件测试的目的是暴露错误,评价程序的可靠性。软件调试的目的是发现错误的位置,并改正错误。软件测试和调试不是同一
17、个概念。 7 【正确答案】 B 【试题解析】 耦合性是模块问互相连接的紧密程度的度量;内聚性是一个模块内部各个元素问彼此结合的紧密程度的度量。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性 ,这样有利于提高模块的独立性。 8 【正确答案】 A 【试题解析】 数据库应用系统中的一个核心问题就是设计一个能满足用户需求、性能良好的数据库,这就是数据库设计。 9 【正确答案】 B 【试题解析】 专门的关系运算有 3种:投影、选择和联接。选择运算是从关系中找出满足给定条件的那些元组,其中的条件是以逻辑表达式给出的,值为真的元组将被选取,这种运算是从水平方向抽取
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 2009 国家 二级 笔试 答案 解析 DOC
