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

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

1、国家二级( C+)笔试模拟试卷 50及答案与解析 1 算法的空间复杂度是指 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)执行过程中所需要的存储空间 2 用链表表示线性表的优点是 ( A)便于随机存取 ( B)花费的存储空间较顺序存储少 ( C)便于插入和删除操作 ( D)数据元素的物理顺序与逻辑顺序相同 3 数据结构中,与所使用的计算机无关的是数据的 ( A)存储结构 ( B)物理结构 ( C)逻辑结构 ( D)物理和存储结构 4 结构化程序设 计主要强调的是 ( A)程序的规模 ( B)程序的效率 ( C)程序设计语言的先进性 ( D)程序易

2、读性 5 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指 ( A)模块间的关系 ( B)系统结构部件转换成软件的过程描述 ( C)软件层次结构 ( D)软件开发过程 6 检查软件产品是否符合需求定义的过程称为 ( A)确认测试 ( B)集成测试 ( C)验证测试 ( D)验收测试 7 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属 于数据流图合法图符的是 ( A)控制流 ( B)加工 ( C)数据存储 ( D)源和潭 8 应用数据库的主要目的是 ( A)解决数据保密问题 ( B)解决数据完整性问题 ( C)解决数据共享问题 (

3、 D)解决数据量大的问题 9 在数据库设计中,将 E R图转换成关系数据模型的过程属于 ( A)需求分析阶段 ( B)逻辑设计阶段 ( C)概念设计阶段 ( D)物理设计阶段 10 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是 ( A)数据库系 统 ( B)文件系统 ( C)人工管理 ( D)数据项管理 11 下面关于类和对象的描述中,错误的是 ( A)类就是 C语言中的结构体类型,对象就是 C语言中的结构体变量 ( B)类和对象之间的关系是抽象和具体的关系 ( C)对象是类的实例,一个对象必须属于一个已知的类 ( D)类是具有共同行

4、为的若干对象的统一描述体 12 以下各选项组中,均是 C+语言关键字的组是 ( A) public operator this ( B) shod string static ( C) it while = ( D) private cout printf 13 设 int a =10, b = 11, c =12;,表达式 (a+B) c void main( 0 int x =1, y =2; fun( ; void main( ) A a, b3 , *c; c=b; cout i end1; ( A) 2 ( B) 3 ( C) 4 ( D) 5 36 在长度为 n的线性表中查找一个表

5、中不存在的元素,需要的比较次数为【 】。 37 在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为【 】。 38 源程序文档化要求程序应加注释。注释一般分为序言性注释和【 】 39 数据模型分为格式化模型与非格式化模型,层 次模型与网状模型属于【 】。 40 在关系运算中,【 】运算是在给定关系的某些域上进行的运算。 41 设有定义语句: double x=2.5,y=4.7; int a=7;那么表达式 x+a%3*(int)(x+y)%2/4的值为【 】。 42 函数 swap(arr,n)可完成对 arr数组从第 1个元素到第 n个元素两两交换。在运行调用函数中的语

6、句后, a0和 a1的值分别为上【 】。 a0=1; a1=2; swap(a,2); 43 下列程序的输出结果是【 】 #include iostream using namespace std; int main() int Bum=500; int& ref=num; ref+=100; cout num end1; return 0; 44 类模板的使用实际上是将类模板实例化成一个具体的【 】。 45 在下面横线上填上适当的语句,完成程序。 #include iostream using namespace std; class Base int x; public: Base(int

7、 i)x=i; Base() ; class Derived: public Base public: 【 】 完成类 Derive构造函数的定义 ; int main() Derived Obj; return 0; 46 已知: double A(double A) return +a; 和 int A(int A) return+a; 是一个函数模板的两个实例,则该函数模板定义为【 】 47 有以下程序: #include iostream.h classA int x; public: A(int A) x=a; friend class B; ; class B public: vo

8、id print(AA) a.x-; cout a.x end1; ; void main() Aa(10); Bb; b.print(A) ; 程序执行后的输出结果是【 】。 48 下面程序的输出结果是【 】。 #include iostream using namespace std; class base protected: int a; public: base()cout “0“: ; class base1: virtual public base public: base1()cout “1“; ; class base2: virtual public base public

9、 base2()cout “2“; ; class derived: public base1, public base2 public: derived()cout “3“; int main() derived obj; cout end1; return 0; 国家二级( C+)笔试模拟试卷 50答案与解析 1 【正确答案】 D 【试题解析】 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。 2 【正确答案】 C 【试题解析】 链式存储结构克服了顺序存储结构的缺点:它的结点空

10、间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。 3 【正确答案】 C 【试题解析】 数据结构概念一般包括 3个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。 4 【正确答案】 D 【试题解析】 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求 精、模块化及限制使用 goto语句,总的来说可使程序结构良好、易读、易理解、易维护。 5 【正确答案】 B 【试题解析】 软件设计包括软件结构设计、数据设计、接口设计和过程设

11、计。其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。 6 【正确答案】 A 【试题解析】 确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规 格说明中确定的各种需求;集成测试的主要目的是发现与接口有关的错误。 7 【正确答案】 A 【试题解析】 数据流图包括 4个方面,即加工 (转换 )(输入数据经加工变换产生输出 )、数据流 (沿箭头方向传送数据的通道,一般在旁边标注数据流名 )、存储文件 (数据源 )(表示处理过

12、程中存放各种数据的文件 )、源和潭 (表示系统和环境的接口,属系统之外的实体 )。不包括选项中的控制流。 8 【正确答案】 C 【试题解析】 数据库中的数据具有 “集成 ”与 “共享 ”的特点,亦即是数据库集中了各种应用的数据,进行统一构造与 存储,而使它们可以被不同应用程序所使用,故选项 C)正确。 9 【正确答案】 B 【试题解析】 E-R模型即实体 联系模型,是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们之间的两种联接关系。数据库逻辑设计阶段包括以下几个过程:从 E-R图向关系模式转换,逻辑模式规范化及调整、实现规范化和 RDBMS,以及关系视图设计。 10 【正确答案

13、】 A 【试题解析】 人工管理阶段是在 20世纪 50年代中期以前出现的,数据不独立,完全依赖于程序;文件系统是数据库系统发展的初级阶段,数据独立 性差;数据库系统具有高度的物理独立性和一定的逻辑独立性。 11 【正确答案】 A 【试题解析】 在 C+语言中,类和结构体有本质区别,类中包含数据及操作函数,而结构体只包含有数据。 12 【正确答案】 A 【试题解析】 关键字是系统已预定义的单词,在程序中有不同的用途,考生应该熟记。 13 【正确答案】 B 【试题解析】 本题考查的是运算符的优先级,应该先计算 a+b的值为 21,然后与 c比较大小的值为 0,根据 “&”的运算规则,整个表达式的值

14、为 0。 14 【正确答案】 D 【试题解析】 本题主要考查 C+语言的基本语法,选项 A)中应该为 m n|mn;选项 B)中 default语句可有可无;选项 C)中 if可以单独作为一条语句,不必须和 else搭配。 15 【正确答案】 A 【试题解析】 选项 A)中 i自减到 1时就会执行 break语句跳出循环,选项 B)中 i 10永远成立不会跳出循环,选项 C)中第一次进入循环体后 i 0永远不会跳出循环,选项 D)中未给出结束循环的条件。 16 【正确答案】 D 【试题解析】 本题考查的是 break语句的使用, break可以 结束 switch语句和for循环语句,但是不能

15、使用在条件判断语句内。 17 【正确答案】 D 【试题解析】 本题考查的是数组的基本使用,数组还可以通过对应的指针调用传递参数,其余选项的说法都是正确的。 18 【正确答案】 B 【试题解析】 本题考查的是指针的使用, p是指向 int型的指针,若想给它指向的元素赋值,应使用 *符号,直接赋值相当于改变了原来 p存储的地址。 19 【正确答案】 C 【试题解析】 new是动态申请内存空间时使用的关键字,不能作为函数的返回类型,选项 A)为无 返回值,选项 B)为返回整型,选项 D)为返回长整型。 20 【正确答案】 D 【试题解析】 所谓重载函数是指同一个函数名可以对应多个函数的实现,编译器会

16、根据参数个数、参数类型和函数返回值类型不同而自动调用相应的函数。 21 【正确答案】 D 【试题解析】 本题考查的是递归函数的使用,题中递归函数的结束条件为 n1,递推公式为 f(n)=n +f(n-1),所以计算结果为 5+4+3+2+1+1,最后一个 1为 n=0时的返回值。 22 【正确答案】 D 【试题解析】 数据封装为了防止不同 模块间数据的非法访问及修改。 23 【正确答案】 A 【试题解析】 C+语言中规定在类体中不允许对所定义的数据成员进行初始化。 24 【正确答案】 A 【试题解析】 一个类中只能定义一个析构函数,否则会造成对同一对象的多次删除;而构造函数可以根据不同的参数个

17、数和类型进行多次重载。 25 【正确答案】 C 【试题解析】 本题考查考生对拷贝构造函数的掌握。因为 +运算是右结合的,所以在使用 a对 b赋值时, b的 num变为 1而 a的 num变为 2(先赋值再自加 )。 26 【正确答案】 A 【试题解析】 静态数据成员是类的所有对象中共享的成员,而不是某个对象的成员。 27 【正确答案】 D 【试题解析】 本题考查的是友元类的定义:类 A为类 B的友元类,则类 A的所有成员函数都是类 B的友元函数,但反之则不一定成立。 28 【正确答案】 D 【试题解析】 只有公有继承的公有成员才能被派生类的对象直接访问,其他的情况都会因为访问权限问题产生错误。

18、 29 【正确答案】 A 【试题解析】 本题考查的是在继承中派生类的对象调用构造函数的顺序,应该是先调用基类的构造函数 ,然后是成员中的对象对应类的构造函数,最后是派生类自己的构造函数。 30 【正确答案】 B 【试题解析】 基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面继承的派生类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函数不能是静态的。 31 【正确答案】 A 【试题解析】 类模板不能被重载,而函数模板可以,它们不能被未知的数据类型替换。 32 【正确答案】 A 【试题解析】 本题考查的是文件流的操作, app表示追加方式打开文件 (即将指针移至文件尾

19、), bi nary表示以二进制方式打开文件。 33 【正确答案】 C 【试题解析】 本题考查的是考生对引用的掌握, ref实际上就是变量 num的别名,所以 ref=ref+2时, num已经变成了 3。 34 【正确答案】 D 【试题解析】 本题考查的是指针和引用,函数 fun完成把 x和 y互换的操作。 35 【正确答案】 C 【试题解析】 外部变量 i实际上记录的是调用构造函数的次数。 36 【正确答案】 n 【试题解析】 在长度为 n的线性表中查找一个表中不存在的元素,需要的比较次数 为 n。 37 【正确答案】 消息 【试题解析】 消息是一个实例与另一个实例之间传递的信息,它请求对

20、象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。 38 【正确答案】 功能性注释 【试题解析】 注释一般分为序言性注释和功能性注释。序言性注释通常位于每个程序的开头部分,它给出程序的整体说明:功能性注释的位置一般嵌在源程序体之中,主要描述其后的语句或程序做什么。 39 【正确答案】 格式化模型 【试题解析】 层次模型与网状模型属于格式化模型。 40 【正确答案】 投 影 【试题解析】 在关系运算中,投影运算是在给定关系的某些域上进行的运算。 41 【正确答案】 2.5 【试题解析】 本题考核运算符的使用 (包括类型、优先级、结合性 )。强制类型转换符 ()将表达式 x+y的值转换为

21、 int型,那么表达式 “a%3*(int)(x+y)%2/4”结果将为整型,计算: 7%3*7%2/4的结果为 0,而 x为 double型,所以最后的结果为2.5 42 【正确答案】 2, 1 【试题解析】 本题考核函数参数的传递。数组名作为函数参数传递的是数组的首地址,即实参数组名把 实参数组的首地址传给了形参数组名,形参数组名就指向了相应的实参数组,就是说形参数组和实参数其实就是同一个数组,对形参数组元素的修改也同样影响到对应的实参数组元素。 43 【正确答案】 600 【试题解析】 考核引用的使用。题中整型变量 ref定义为 num的引用,所以对ref的作用等同于对 num的作用,所

22、以 ref加上 100后, num的值也就变成了600。 44 【正确答案】 类 【试题解析】 本题考核类模板的使用,使用类模板时是将其定义实例化为一个真正的类。 45 【正确答案】 Derived(int i): Base(i) 【试题解析】 本题考核派生类中构造函数的的定义。程序中,类 Derived是基类Base的公有派生。在类 Derived的构造函数应该包括调用基类构造函数使基类的数据成员得以初始化。 46 【正确答案】 template typename T TA(T A) return a+; 【试题解析】 本题考核函数模板的定义。通过两个实例知道该例中只有一种数据类型,所以在定

23、义模板时只需定义一个模板参数 T。 47 【正确答案】 9 【试题解析】 本题考核友元类的应用。在程序中,类 B是类 A的友元类,因此,在类 B的所有成员函数中均可访问类 A的任何成员。在 main()中,先定义类A的一个对象 a(10)和类 B的一个对象 b。然后通过对象 b调用其成员函数 print输出对象 a的私有成员 x的值减 1即 9。 48 【正确答案】 123 【试题解析】 本题考核含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最有调用派生类自己的构造函数。题中先调用 base的构造函数,然后调用base1、 base2的构造函数,最后调用 derived的构造函数。

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

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

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