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

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

1、国家二级( C+)笔试模拟试卷 117及答案与解析 1 算法的时间复杂度是指 ( A)算法程序运行的具体时间 ( B)算法程序的长度 ( C)算法程序执行过程中基本运算的次数 ( D)运行时算法程序所占的内存容量 2 下列数据结构中能使用对分查找的是 ( A)二叉链表 ( B)带链的栈 ( C)有序线性链表 ( D)有序顺序表 3 按 “先进先出 ”原则组织数据的结构是 ( A)有序表 ( B)栈 ( C)队列 ( D)二叉树 4 对下列二叉树进行前序遍历的结果是 ( A) ZBTYCPXA ( B) ATBZXCYP ( C) ZBTACYXP ( D) ATBZXCPY 5 下列叙述中正确

2、的是 ( A)软件就是程序清单 ( B)软件就是存放在计算机中的文件 ( C)软件应包括程序清单以及运行结果 ( D)软件包括程序和文档 6 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送 ( A)调用语句 ( B)命令 ( C)口令 ( D)消息 7 在模块化程序设计中,按功能划分模块的原则是 ( A)各模块的功能尽量单一,且各模块之间的联系尽量的少 ( B)各模块的功能尽量单一,且各模块 之间的联系尽量紧密 ( C)各模块应包括尽量多的功能 ( D)各模块应包括尽量多的输入输出操作 8 下述关于数据库系统的叙述中正确的是 ( A)数据库系统减少了数据冗余 ( B)数据库系统

3、避免了一切冗余 ( C)数据库系统中数据的一致性是指数据类型一致 ( D)数据库系统比文件系统能管理更多的数据 9 在关系数据库中,用来表示实体之间联系的是 ( A)树结构 ( B)网结构 ( C)线性表 ( D)二维表 10 下列叙述中正确的是 ( A)数据库系统是一个独立的系统,不需要操作系统的支持 ( B)数据库技术的根本目标是要解决数据的共享问题 ( C)数据库管理系统就是数据库系统 ( D)以上三种说法都不对 11 以下叙述中不正确的是 ( A)在 C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 ( B)在 C的函数中,最好使用全局变量 ( C)在 C中,形式参数

4、只是局限于所在函数 ( D)在 C中,函数名的存储类别为外部 12 C+语言中函数返回值的类型决定于 ( A) return语句中的表达式类型 ( B)调用函数的主调函数类型 ( C)调用函数时临时类型 ( D)定义函数时所 指定的函数类型 13 若要说明一个类型名 STP,使得 STP s;等价于 char*s,以下选项中正确的是 ( A) typedef STP char *s; ( B) typedef*char STP; ( C) typedef STP*char; ( D) typedef char*TP; 14 以下非法的赋值语句是 ( A) n (i 2, +i); ( B) j

5、+; ( C) +(i+1), ( D) x=i 0; 15 C+语言中在 C语言的基础上增加的特性不包括 ( A) G构 ( B)引用 ( C) 类和对象 ( D)静态成员函数 16 对于下列语句,正确的判断是 for(x 0, y=O; (y! 123) ( D) a 7+b, c a+7; 20 语句 cout (a 2)&(b -2);的输出结果是 ( A)无输出 ( B)编译错误 ( C) -1 ( D) 1 21 在下面的函数声明中,存在着语法错误的是 ( A) void BC(int a, int) ( B) void BD(int, int) ( C) void BE(int,

6、 int=5) ( D) int BF(int x; int v) 22 下列关于指针的操作中,错误的是 ( A)两个同类型的指针可以进行比较运算 ( B)可以用一个空指针赋给某个指针 ( C)一个指针可以加上两个整数之差 ( D)两个同类型的指针可以相加 23 静态成员函数不能说明为 ( A)整型函数 ( B)常函数 ( C)虚函数 ( D)内联函数 24 静态成员函数没有 ( A)返回值 ( B) this指针 ( C)指针参数 ( D)返回类型 25 以下程序的输出结果 为 main()int m 7, n=4; float a 38.4, b=6.4, x;x=m/2+n*a/b+1/

7、2; cout x end1; ( A) 27 ( B) 27.5 ( C) 28 ( D) 28.5 26 执行下列语句后,输出结果为 cout. put(s); cout, c a; ( A) ca ( B) sca ( C) s ( D) a 27 下列运算符中,不能重载的是 ( A)?: ( B) + ( C) - ( D) 28 所有在函数中定义的变量及函数的形式参数,都属于 ( A)全局变量 ( B)局部变量 ( C)静态变量 ( D)常量 29 为引入对象的同义词,对象的别名称为 ( A)指针 ( B)引 ( C)枚举 ( D)结构 30 以下不属于构造函数特征的是 ( A)构造

8、函数名与类名相同 ( B)构造函数可以重载 ( C)构造函数可以设置默认参数 ( D)构造函数必须指定函数类型 31 以下关于虚函数的叙述中不正确的是 ( A)虚函数属于成员函数 ( B)虚函数不允许说明成静态的 ( C)凡是虚函数必须用 virtual说明 ( D)虚函数可以被继承 32 类的构造函数的作用是 ( A)一般成员函数 ( B)类的初始化 ( C)对象的初始化 ( D)删除对象创建的所有对象 33 继承机制的作用是 ( A)信息隐藏 ( B)数据封装 ( C)定义新类 ( D)数据抽象 34 关于虚函数的描述中正确的是 ( A)虚函数是一个静态成员函数 ( B)虚函数是一个非成员

9、函数 ( C)虚函数既可以在函数说明时定义,也可以在函数实现时定又 ( D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 35 下列表示纯虚函数的成员函数是 ( A) virtual int func(int); ( B) void func(int)=0; ( C) virtual void func 0; ( D) virtual void func(int) 36 假设为循环队列分配的向量空间为 Q20,若队列的长度和队头指针值分别为13和 17,则当前尾指针的值为【 】。 37 广义表的深度是指【 】。 38 栈顶的位置是随着【 】操作而变化的。 39 在单链表上难以实现

10、的排序方法有希尔排序、【 】和堆排序。 40 在有序表 (12, 24, 36, 48, 60, 72, 84)中二分查找关键字 72时所需进行的关键字比较次数为【 】。 41 C+中类作用域符是【 】。 42 在函数原型声明中,可以省略参数名,但必须声明函数参数的【 】。 43 在类中声明的静态浮点数的默认初始化值是【 】。 44 定义一个函数时,若只允许函数体访问形参的值而不允许修改它的值,则应把该形参声明为【 】类型。 45 在 C+中,给一变量取别名,可以通过【 】方式。 46 面向对象的基本特点包括继承性、封装性和【 】。 47 C+源程序中,只有【 】个主函数。 48 虚基类是含有

11、【 】函数的类。 49 下面程序执行的结果是【 】 #include iostream using namespace std; class A public: static int x; A(inty)cout x+y; ; int A: x=2; void main() A a(5); 50 下面程序执行的结果是【 】。 #include iostream using namespace std; void main() int sum=0; int array6=1, 2, 3, 4, 5, 6; int *p; p=&array0; for(int i=0; i 6; i+) sum=

12、sum+*p; p+; cout sum; 51 C+编译时的多态性体现在【 】,运行时的 多态性体现在【 】。 国家二级( C+)笔试模拟试卷 117答案与解析 1 【正确答案】 C 【试题解析】 算法的时间复杂度是用算法程序执行过程中所需要的基本运算次数来衡量的。 2 【正确答案】 D 【试题解析】 对分查找只能适用于顺序存储的有序线性表。 3 【正确答案】 C 【试题解析】 栈是按 “先进后出 ”原则组织数据的结构;队列是按 “先进先出 ”原则组织数据的结构;而有序表与二叉树均不是。因此,本题的正确答案为 C。 4 【正确答案】 B 【试题解析】 按照二叉树前序遍历的方法:在访问根结点、

13、遍历左子树与遍历右于树这三者中,首先访问根结点,然后遍历左子树,最后遍历右于树;并且在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。对本题中的二叉树进行前序遍历的结果应是 ATBZXCYP。 5 【正确答案】 D 【试题解析】 软件应包括程序和文档。 6 【正确答案】 D 【试题解析】 在面向对象方法中,一个对象请求另一对象为其服务是通过发送消息来实现的。 7 【正确答案】 A 【试题解析】 在模块 化程序设计中,按功能划分模块的原则是:要求各模块的功能尽量单一,且各模块之间的联系尽量的少。 8 【正确答案】 A 【试题解析】 数据库系统只是减少了数据冗余,但避免一切冗余

14、;数据库系统中数据的一致性并不是指数据类型一致,而是指采用了统一的数据结构方式,数据库系统与文件系统比较,数据库系统解决了数据共享问题。 9 【正确答案】 D 【试题解析】 在关系数据库中,用来表示实体之间联系的是二维表。 10 【正确答案】 B 【试题解析】 数据库管理最本质的特点是实现数据的共享。为了实 现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件就是数据库管理系统 (DBMS)。数据库管理系统与计算机系统内的其他软件一样,也在操作系统 (OS)的支持下工作,它与操作系统的关系极为密切。操作系统、数据库管理系统与应用程

15、序在一定的硬件支持下就构成了数据库系统。 11 【正确答案】 B 【试题解析】 本题也是考查 C语言中函数的概念及其使用。函数调用时,值可以双向传递,并没有限制使用全局变量还是局部变量,需要根据程序的逻辑需要进行选择 。 12 【正确答案】 D 【试题解析】 函数在定义时已经可以指定其函数类型,则函数返回值类刹就是该类型。 13 【正确答案】 D 【试题解析】 本题考查类型定义 typedef的使用方式,考生常犯的问题是把两者的位置颠倒。 14 【正确答案】 C 【试题解析】 本题其实是考查各级运算符的优先级的。选项 A赋值符号右侧为逗号表达式,其取值为最后一项表达式的值;选项 B隐含表示为

16、j=J+1,这是很常用的一种赋值表达式。选项 D赋值符号右侧为逻辑表达式,其值为 1或 0,可以赋值给变量 x。将选 项 C展开为 i+1 i+1+1,这是错误的。 15 【正确答案】 A 【试题解析】 本题很简单,不过考生要注意引用是 C+的新特性。只有结构是 C语言就出现的特性。 16 【正确答案】 C 【试题解析】 本题考查 for循环条件中三个表达式的执行顺序。首先执行表达式一,然后执行表达式二,如果表达式二为真,则循环体执行,然后执行表达式三,接着继续执行表达式二,如此循环。考生要注意的是,本题中表达式三中包含了变量 x的增量操作,因此可以由表达式二和三一起控制循环体的执行次数。本题

17、正确答案为 C。 17 【正确答案】 D 【试题解析】 在数组这部分的知识里面,数组下标越界是一个比较容易忽略的问题,其下标是从。开始,至 n-1为止,因此选项 D是正确答案。 18 【正确答案】 D 【试题解析】 混合表达式的值的类型是由表达式中具有最高精度的类型确定,因此可知选项 B 可排除。注意 b/b 的结果应是 1. 00000,而 (int)a则为 5,相加的结果还是 double型,故正确答案应为 D。 19 【正确答案】 D 【试题解析】 赋值语句合法的重要标志之一就是赋值符号的左侧应该表示为一个变量,即 可以在内存中存在一块空间用于存放赋值符号右侧的值。据此,可以断定选项 A

18、和 B 可以排除。注意;选项 C中不是逗号表达式,要考虑优先级的问题。本题答案为 D。 20 【正确答案】 D 【试题解析】 很明显本题考查的是表达式的值作为结果辅出。可以看出,本表达式是一个逻辑表达式,其结果为真或假,那么输出则对应 1和 0,故排除选项C。本题答案为 D。 21 【正确答案】 D 【试题解析】 函数声明时,可以指定其形参的默认值,不过要从右向左指定;可以省略形参名,仅以形参类型表示;形参表之间用逗号分割。因此, 本题答案为D。 22 【正确答案】 D 【试题解析】 本题考查指针能够进行的运算方式。指针可以加减一个整数,两个指针可以相减,表示指针之间的元素个数。指针相加则没有

19、意义,因此本题答案为 D。 23 【正确答案】 C 【试题解析】 静态函数不能说明为虚函数。 24 【正确答案】 B 【试题解析】 this 指针是系统隐含的用于指向当前对象的指针。由于静态函数是同类中所以对象都共享的函数,在内存当中只存在一份,不属于某个对象所有,所以静态函数没有 this指针。 25 【正确答案】 A 【试题解析】 本题考查表达式值的类型由参与运算的所有变量的类型中优先级最高的变量类型所决定。不过要注意的是整型向 float型转换时将丢失小数部分,即向下驭值。 26 【正确答案】 B 【试题解析】 本题很简单,考查 cout对象的成员函数 put方法和操作符的使用方法。 2

20、7 【正确答案】 A 【试题解析】 :?是 C+中惟一一个三目运算符,不能被重载。 28 【正确答案】 B 【试题解析】 本题考查几种变量的作用域范围及其分类。 29 【正确答案】 B 【试题解析】 引用是 C+引入的一个新概念,表示变量或对象的别名。 30 【正确答案】 D 【试题解析】 类的构造函数不能指定函数类型,由系统采取默认的处理方式,不需要用户参与。 31 【正确答案】 C 【试题解析】 虚函数的引入是为了解决动态绑定问题,使类的实例表现出多态性,虚函数在继承后依然保持虚函数特性,此时不需要用 virtual 关键词修饰。 32 【正确答案】 C 【试题解析】 本题考查类的构造函数

21、的作用,构造函数一般负责完成对象建立时的初始化工作,如资源的分配。 33 【正确答案】 C 【试题解析】 继承是类的一个重要特性,没有继承,面向对象方法也就不存在。正是有了继承,才呈现出丰富多彩的类和对象。 34 【正确答案】 D 【试题解析】 虚函数不能定义为静态函数;虚函数的作用在于继承,表现出动态性。所以,在派生类中定义的虚函数必须和基类中对应的虚函数具有相同的参数个数和类型。 35 【正确答案】 C 【试题解析】 由于在前序遍历中首先访问根结点,因此,前序序列中的第一个结点为二叉树的根结点,即 D为二叉树的根结点。又由于在中序遍历中访问根结点的次 序为居中,而访问左于树上的结点为居先,

22、访问右子树上的结点为最后,因此,在中序序列中,以根结点 (D)为分界线,前面的子序列 (ABC)一定在左子树中,后面的子序列 (EFG)一定在右于树中。同样的道理,对于已经划分出的每一个子序列的所有结点中,位于前序序列最前面的一个结点为子树的根结点,而在中序序列中位于该根结点前面的结点构成左子树上的结点子序列,位于该根结点后面的结点构成右子树上的结点子序列。这个处理过程直到所有子序列为空为止。根据上述道理,该二叉树恢复的过程如下图所示; 根据后序遍历的方法,对该二叉树后序遍历 的结果为 ACBEGFD。 36 【正确答案】 10 【试题解析】 假设为循环队列分配的向量空间为 Q20,若队列的长

23、度和队头指针值分别为 13和 17,则当前尾指针的值为 10。 37 【正确答案】 表展开后括号的层数 【试题解析】 在广义表的深度是指表展开后括号的层数。 38 【正确答案】 进栈和退栈 【试题解析】 栈顶的位置是随着进栈和退栈操作而变化的。 39 【正确答案】 快速排序 【试题解析】 在单链表上难以实现的排序方法有希尔排序、快速排序和堆排序。因为这三种排 序方法均适合完成顺序结构的排序,可随机访问其中的元素。而单链表属于动态的数据结构,访问元素要通过指针来实现。 40 【正确答案】 2 【试题解析】 在有序表 (12, 24, 36, 48, 60, 72, 84)中二分查找关键字 72时

24、所需进行的关键字比较次数为 2,仅需要拆分 2次即可找到 72。 41 【正确答案】 : 【试题解析】 类作用域符:。 42 【正确答案】 类型 【试题解析】 不能省略参数的类型。 43 【正确答案】 O 【试题解析】 静态变量由系统自动初始化为 0。 44 【正确答案】 const 【试题解析】 用 const修饰的参数为常类型参数。 45 【正确答案】 引用 【试题解析】 引用是给对对象的别名,对引用的操作就是对被引用对象的操作。 46 【正确答案】 多态性 【试题解析】 继承性、封装性及多态性是面向对象的基本特点。 47 【正确答案】 1 【试题解析】 C+源程序中,只有 1个主函数。 48 【正确答案】 虚 【试题解析】 虚基类是含有虚函数的类。 49 【正确答案】 7 【试题解析】 程序的 静态变量初始化为 2,而构造函数招待过程中 y变量为初始化为 5,故程序执行的结果为 7。 50 【正确答案】 21 【试题解析】 本题用数组地址来访问数组内容,通过数组指针来操作数组内容,依次取出数组内容进行加和,然后进行输出。 51 【正确答案】 重载 虚函数 【试题解析】 C+编译时的多态性体现在重载,运行时的多态性体现在虚函数。

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

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

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