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

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

1、国家二级( C+)笔试模拟试卷 1及答案与解析 1 在按层次遍历二叉树的算法中,需要借助的辅助数据结构是 ( )。 ( A)有序表 ( B)线性表 ( C)栈 ( D)队列 2 若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的 ( )。 ( A)前序遍历算法 ( B)层次遍历算法 ( C)后序遍历算法 ( D)中序遍历算法 3 时间复杂度和数据的初始排列无关,这种排序是 ( )。 ( A)堆排序 ( B)插入排序 ( C)冒泡排序 ( D)快速排序 4 CMM提供了 一个框架,将软件过程改进的进化步骤组织成 5个成熟度等级。除第 1级外,每一级都包含了实现这一级目标的若干关键过

2、程域,每一个关键过程域又包含若干 ( )。 ( A)软件过程性能 ( B)软件过程能力 ( C)关键实践 ( D)软件过程 5 用白盒法技术设计测试用例的方法包括 ( )。 ( A)错误推测 ( B)边界值分析 ( C)基本路径测试 ( D)因果图 6 由于软件规模不断扩大,并且软件复杂性不断提高等原因,最终导致 ( )发生。 ( A)软件工程 ( B)软件危机 ( C)结构化程序 设计 ( D)程序设计革命 7 下面不是数据库管理系统常见的数据模型的是 ( )。 ( A)层次模型 ( B)关系模型 ( C)逻辑模型 ( D)网状模型 8 下列不是在关系代数中专门的关系运算的是 ( )。 (

3、A)插入 ( B)连接 ( C)选择 ( D)投影 9 并发控制的基本单位是 ( )。 ( A)元素 ( B)数据 ( C)事务 ( D)字段 10 下列属于大型数据库系统的是 ( )。 ( A) SQL-Server ( B) Foxpro ( C) Access ( D) Excel 11 C+语言规定,函数返回值的类型是由 ( )。 ( A) return语句中的表达式类型所决定 ( B)调用该函数时的主调函数类型所决定 ( C)调用该函数时系统临时决定 ( D)在定义该函数时所指定的函数类型所决定 12 以下不能对二维数组 a进行正确初始化的语句是 ( )。 ( A) int a 23

4、=0; ( B) int a 3=1,2,0; ( C) int a 23=1,2,3,4,5,6; ( D) int a3=1,2,3,4,5,6; 13 以下错误的 if语句是 ( )。 ( A) if(x y)x+; ( B) if(x)x+; ( C) if(x!=y) cout x;y+; ( D) if(x y) x+;cout x;else cout y; 14 以下程序输出的结果是 ( )。 void main( ) int x = 1,a =0,b =0; switch(x) case 0:b +; case 1: a + +; case 2:a + ;b +; cout a

5、 b; ( A) 21 ( B) 11 ( C) 12 ( D) 10 15 语句 while(!E)中的表达式 !E等价于 ( )。 ( A) E=0 ( B) E! =1 ( C) E! =0 ( D) E=1 16 下面正确的函数定义形式为 ( )。 ( A) void fun(); ( B) void fun(int x; int y) ( C) void fun() ( D) void fun(int x, y) 17 类的析构函数的作用是 ( )。 ( A)一般成员函数 ( B)创建对象 ( C)初始化对象 ( D)删除对象 18 下面函数调用语句含有实参的个数为 ( )。 fun

6、c( exp1, exp2), (exp3, exp4,exp5); ( A) 1 ( B) 2 ( C) 4 ( D) 5 19 如下的类定义,括号里应填 ( )。 class Myclass public: MyClass(int a =0,int b =0) X=a; Y=b; void Change ( ) const X- =10; Y+ =10; public: ( )int X,Y; ( A) static ( B) const ( C) mutable ( D)可以不添内容 20 假定 Myclass为一个类,则执行 Myclass a4, *p2;语句时,自动调用该类的构造函

7、数 ( )次。 ( A) 2 ( B) 3 ( C) 4 ( D) 6 21 关于 new描述错误的是 ( )。 ( A)使用运算符 new创建对象数组时必须定义初始值 ( B)使用运算符 new创建对象时,会调用类的构造函数。 ( C)运算符 new可以用来动态创建对象和对象数组。 ( D)使用 new运算符创建的对象可以使用运算符 delete删除。 22 对下面程序描述正确的是 ( )。 #include iostream using namespace std; class A private: int i; public: class B private: int j; protec

8、ted: int k; int fun1 ( ); MyB; int fun2 ( ); ( A)定义类 B的对象的语句是: A: B b; ( B)类 A的成员函数 fun2()可以用 MyB j的方式访问类 B的私有成员 j。 ( C)类 A的成员函数 fun2()可以用 MyB k的方式访问类 B的保护成员 k。 ( D) 类 B的成员函数 fun1()可以直接访问类 A的私有成员 i。 23 C+中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行,另一种是通过 ( )派生出新的类。 ( A)复用 ( B)继承 ( C)封装 ( D)引用 24 在重载运算符函数时,下面

9、运算符必须重载为类的成员函数的是 ( )。 ( A) + ( B) - ( C) + ( D) - 25 C+类体系中,不能被派生类继承的是 ( )。 ( A)构造函数 ( B)虚函数 ( C)静态成员函数 ( D)赋值操作函数 26 在下面表达式中,不表示虚继承的是 ( )。 ( A) virtual public ( B) public virtual ( C) public ( D) virtual 27 在下面程序中,括号里应填 ( )。 #include iostream using namespace std; class A public: void fun( ) cout “H

10、ello“ endl; ; class B: public A void fun( ) ( ) /调用基类的函数 fun( ) tout “HI“ endl; ; ( A) fun() ( B) A. fun() ( C) A:fun() ( D) A-fun( 28 编译时的多态性可以通过使用 ( )获得。 ( A)虚函数和指针 ( B)重载函数 ( C)虚函数和对象 ( D)虚函数和引用 29 如果一个 类至少有一个纯虚函数,那么就称该类为 ( )。 ( A)抽象类 ( B)虚基类 ( C)派生类 ( D)以上三者都不对 30 下面表示纯虚函数的成员函数是 ( )。 ( A) virtua

11、l int v(int); ( B) void v(int) =0; ( C) virtual void v() =0; ( D) virtual void v(int) 31 下面程序的运算结果为 ( )。 #include iostream using namespace td; int i; int fun( ) static int i = 10; return + + i; void main ( ) fun( ); cout fun() “ ,“ i; ( A) 10,100 ( B) 12,100 ( C) 12,12 ( D) 11,100 32 下面程序的运行结果为 ( )。

12、 #include iostream using namespace std; void main( ) for(int a =0,x =0; !x a + ); cout a endl; ( A) 0 ( B) 1 ( C) 10 ( D) 11 33 下列程序的输出结果为 ( )。 #include (iostream) using namespace std; void main( ) char,a = “hello“ ,“ the“ ,“ world“ ; char * * pa = a: pa + +; cout * pa ENDL; ( A) hello ( B) the ( C)

13、 world ( D) hellotheworld 34 C+语言本身没有定义 I/O操作,使用 I/O流的程序需要包括 ( )。 ( A) stdio.h ( B) istream.h ( C) ostream.h ( D) iostrcam.h 35 下列输出字符 “A”的方法中, ( )是错误的。 ( A) coat put(A) ( B) cout A ( C) coat.put(A) ( D) char A = A; cout A 36 顺序存储方法是把逻辑上相邻的结点存储在物理位置【 】的存储单元中。 37 软件工程研究的内容主要包括:软件工程管理和【 】技术。 38 在关系模型中

14、,把数据看成一个二维表,每个二维表称为一个【 】。 39 在面向对象方法中,信息隐蔽是通过对象的【 】性来实现的。 40 数据库设计分为以下 6个设计阶段:需求分析阶段、【 】、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段。 41 组成 C+语言的基本符号包括:字母、数字和【 】。 42 在 C+语言中,一个 short型数据在内存中占用 2个字节,则 unsigned short型数据的取值范围为【 】。 43 以下程序的输出结果是【 】。 #include iostream using namespace std; int main() int sum, i; for(sum

15、=0, i=1; i 5; i+)sum+=i; cout sum endl; return 0; 44 若有定义: double a35;那么数组 a的最后一个元素是【 】。 45 以下程序的运行结果是【 】。 #include iostream #include string using namespace std; void main() chara10=“China“, b=“Chin“, c=“ese“; cout strlen(strcat(strcpy(a, b), c) endl; 46 以下程序执行后输出的结果是【 】。 #include iostream using nam

16、espace std; int fac(int a, int b) return(b-a)*a; int main() int x=3, y=4, z=5, result; result=fac(fac(x, y), fac(x, z); cout result endl; return 0; 47 派生类中的成员不能直接访问基类中的【 】成员。 48 在 C+中,打开一个文件,就是将这个文件与一个【 】建立关联;关闭一个文件,就是取消这种关联。 49 从实现的角度划分, C+所支持的两种多态性分别是【 】时的多态性和【 】时的多态性。 国家二级( C+)笔试模拟试卷 1答案与解析 1 【正确

17、答案】 D 【试题解析】 在按层次遍历二叉树的算法中,需要借助的辅助数据结构是队列。 2 【正确答案】 D 【试题解析】 在存储结点信 息的同时,附加两个分别指向该结点最左孩子和右邻兄弟的指针域,即可得树的孩子兄弟链表表示。这种存储结构的最大优点是:它和二叉树的二叉链表表示完全一样。可利用二叉树的算法来实现对树的操作。其后序遍历对应二叉树的中序遍历;中序遍历对应二叉树的后序遍历;前遍历对应二叉树的前序遍历。 3 【正确答案】 B 【试题解析】 插入排序的元素比较次数取决于原始数据排列的位置。 4 【正确答案】 C 【试题解析】 CMM提供了一个框架,将软件过程改进的进化步骤组织成五个成熟度等级

18、。除第 1级外,每一级都包含 了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干关键实践。 5 【正确答案】 C 【试题解析】 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。白盒测试的主要方法有逻辑驱动、基本路径测试等,主要用于软件验证。 6 【正确答案】 B 【试题解析】 由于软件规模不断扩大并且软件复杂性不断提高等原因,最终导致软件危 机发生。 7 【正确答案】 C 【试题解析】 数据库模型分为层次模型、网状模

19、型和关系模型,其中层次模型和网状模型称为非关系模型。 8 【正确答案】 A 【试题解析】 在关系代数中专门的关系运算包括选择、连接、投影和除等运算。 9 【正确答案】 C 【试题解析】 并发控制的基本单位是事务。 10 【正确答案】 A 【试题解析】 SQL Server、 Oracle、 DB2等属于大型数据库系统, Foxpro和Access属于中小型数据库系统, Excel不是数据库系统。 11 【正确答案】 D 【试题解析】 函数返回值的类型是由在定义该函数时所指定的函数类型所决定。 12 【正确答案】 C 【试题解析】 1, 2, 3, 4, 5, 6表示的是 a32。 13 【正确

20、答案】 D 【试题解析】 if和 else语句必须紧密相连,应该将 x+; coat x;做成复合语句 x+; cout x; 。 14 【正确答案】 A 【试题解析】 x=1,执行 case 1语句, a+,由于没有 break语句,继续执行Case 2语句, a+; b+;所以 a=2, b=1。 15 【正确答案】 A 【试题解析】 语句 while(!E)中的表达式 !E等价于 E=0。 16 【正确答案】 C 【试题解析】 选项 A函数声明与函数体之间没有分号;选项 D形参之间用逗号隔开;选项 D形参 y没有类型。 17 【正确答案】 D 【试题解析】 析构函数的作用是删除对象。 1

21、8 【正确答案】 B 【试题解析】 其中 (exp1, exp2)是一个实参, (exp3, exp4, exp5)是一个实参。 19 【正确答案】 C 【试题解析】 常成员函数一般不能修改对象的数据成员的值,如果一定要修改,必须得在被修改的数据成员定义前加上关键字 mutable。 20 【正确答案】 C 【试题解析】 构造函数系统可以自动调用。数组对象 a4调用 4次构造函数,*p2存放 Myclass的指针数组,没有生成对象。 21 【正确答案】 A 【试题解析】 使用 new创建对象数组或一般数组时,不能为该数组指定初始值,其初始值为默认值。 22 【正确答案】 A 【试题解析】 内嵌

22、类的成员函数对包容类的成员没有 访问特权,反之亦然。 23 【正确答案】 B 【试题解析】 继承的基本概念。 24 【正确答案】 D 【试题解析】 =(), , -运算符不能够重载为类的友元函数。 25 【正确答案】 A 【试题解析】 派生类不能够继承类的构造函数和析构函数。 26 【正确答案】 C 【试题解析】 虚基类的声明格式: class(类名 ): virtual继承方式基类名。其中关键字 virtual与继承方式的位置无关,但必须位于虚基类类名之前,且virtual只对紧随其后的基类名起 作用。 27 【正确答案】 C 【试题解析】 调用格式;类名:成员名或者类名:成员名(参数表 )

23、。 28 【正确答案】 C 【试题解析】 采用一般类型的标示对象操作虚函数时,将采用静态联编方式调用虚函数。 29 【正确答案】 A 【试题解析】 抽象类至少含有一个纯虚函数。 30 【正确答案】 C 【试题解析】 纯虚函数的声明格式: virtual函数返回类型函数名 (参数表 )=0; 31 【正确答案】 B 【试题解析】 fun()中的 i为静态变量只在函数中可见,执行两次变为 12;主函数中的 i为全局变量, fun()对 i的修改不影响。 32 【正确答案】 D 【试题解析】 当 i=11时,循环结束。 33 【正确答案】 B 【试题解析】 指针与数组对应关系, *p+访问数组第二个

24、元素。 34 【正确答案】 D 【试题解析】 在 C+中使用 I/O流的程序需要包括 iostream.h。 35 【正确答案】 A 【试题解析】 put()函数本身就是用于输出字符。 36 【正确答案】 相邻 【试 题解析】 常用的存储表示方法有 4种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。 37 【正确答案】 软件开发 【试题解析】 基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。

25、软件工程管理包括:软件管理学、软件工程经济学以及软件心理学等内容。 38 【正确答案】 关系 【试题解析】 关系 模型采用二维表来表示,满足一定性质的二维表称为关系。 39 【正确答案】 封装 【试题解析】 软件工程的基本原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。信息隐蔽是指采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 40 【正确答案】 概念设计阶段 【试题解析】 数据库设计分为以下 6个设计阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段。 41 【正确答案】 特殊符号 【试题解析】 字母、数

26、字和特殊符号共同组成了 C+语言的基本符号集合。 42 【正确答案】 0 216-1 【试题解析】 unsigned short是无符号整型,最小值为 0,最大值为 2(上标 )16-1。 43 【正确答案】 10 【试题解析】 本题程序实现的是计算 1+2+3+4的和,因此最后输出为 10。 44 【正确答案】 a24 【试题解析】 C+中,数组每一维的下标都是从 0开始,到 n-1结束。因此a35共有 15个元素,最后一个元素是 a24。 45 【正确答案】 7 【试题解析】 本题主要考查 C+中字符串函数的使用。 strcpy(s1, s2)将 s2的内容赋值到 s1中; strcat(

27、s1, s2)连接 s1和 s2两个字符串; strlen(s)返回字符数组 s的长度。因此最后输出的结果是 b和 c进行连接后的字符串长度,即 7。 46 【正确答案】 9 【试题解析】 在 main()函数中执行 result=fac(fac(x, y), fac(x, 2);调用了三次 fac()函数: fac(x, y)的值为 3, fac(x, z)的值为 6, fac(3, 6)得到的值为 9。 47 【正确答案】 私有 (或 private) 【试题解析】 私有类型的成员只允许本类的成员函数访问,来自类外部的任何访问都是非法的。 48 【正确答案】 流 【试题解析】 在 C+中,对文件的操作是由文件流完成的。文件流类在流与文件之间建立链接。 49 【正确答案】 编译,运行 【试题解析】 C+中的多态性分为两类:编译时的多态性和运行时的多态性。编译时的多态性通过函数重载和模板体现的,而运行时的多态性是通过虚函数体现的。

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

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

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