《2016上半年程序员考试真题及答案.docx》由会员分享,可在线阅读,更多相关《2016上半年程序员考试真题及答案.docx(35页珍藏版)》请在三一办公上搜索。
1、2016上半年程序员考试真题及答案-上午卷在windows系统中,若要将文件D: usermy.doc设置成只读属性,可以通过修改该 文件的(1)来实现。将文件设置为只读属性可控制用户对文件的修改,这一级安全管理称 之为(2)安全管理。C.文件名D.路径名C.文件级D.系统级(1)A.属性B.内容(2)A.用户级B-目录级【答案】A C【解析】本题考察文件管理的基础知识。文件属性决定文件是只读或者可读可写。文件级安全管理控制用户对文件的改变。权限由高到低大概为: administrators, power users, users, guests某公司员工技能培训课程成绩表如下所示。若员工笔试
2、成绩、技能成绩和岗位实习成绩 分别占综合成绩的25%、20%和55%、那么可先在E3:单元格中输入(),再向垂直方向拖动填充柄至E10单元格,则可自动算出这些员工的综合成绩。若要将及格和不及格的人数统计结果显示在B11和E11单元格中,则应在B11和E11中分别填写(4)。;笔试谚-:飙解W岗位买习成藤综合成蜻到桐- 1 -泥-艇 -h -. m 一 ii-堆5王萃华12S58S86晚萍-:71,一跖武军君62767。- !69辛晓铀70处SO.77朱曲商38536S63推张小净.65 42-7670 七?涵匚黄建建5054605= 60)和*0心直3王10,= 60”)和=COUNT(E3:
3、E10,”= 60)和*0。皿更(3王10,= 60”)和=COUNTIF(E3:E10,” 0)的(37)时,其最后一个结点编号为2i-1(37)A.二叉树为满二叉树(即每层的结点数达到最大值)B. 二叉树中每个内部结点都有两个孩子C. 二叉树中每个内部结点都只有左孩子D. 二叉树中每个内部结点都只有右孩子【答案】C【解析】本题考察二叉树的基础知识。可采用验证法。结点数为1时,只有一个结点,编号为1。结点数为2时,最后一个结 点为3,那也说明只有左孩子。结点数为3时,最后一个结点编号为7。某二叉树的先序遍历序列为ABCDFGE,中序遍历序列为BAFDGCE。以下关于该二叉树的 叙述中,正确的
4、是(38)。(38)A.该二叉树的高度(层饮数)为4B. 该二叉树中结点D是叶子结点C. 该二叉树是满二叉树(即每层的结点数达到最大值)D.该二叉树有5个叶子结点【答案】A【解析】本题考查数据结构与算法基础知识。二叉树的先序遍历定义为:访问根结点,先序遍历根的左子树,先序遍历根的右子树。二叉树的中序遍历定义为:中序遍历根的左子树,访问根结点,中序遍历根的右子树。 显然,先序遍历序列的第一个结点就是二叉树的根结点,而在中序遍历序列中,根结点的左 边为左子树上的结点,右边为右子树上的结点。因此,首先由先序遍历序列确定根结点,然 后在中序遍历序列中找到根结点,据此就可以将左子树和右子树的结点区分开。
5、对于左、右 子树同样处理,就可以得到对应的二叉树。本题的二叉树为:ABCD对于关键码序列(54,34,5,14,50,36, 47,83),用链地址法(或拉链法)解决冲 突构造散列表(即将冲突的元素存储在同一个单链表中,单链表的头指针存入散列地址对应 的单元),设散列函数为H (Key) =Key MOD 7 (MOD表示整除取余运算),则构造散列表时冲 突次数最多的哈希单元的地址是(9)。(39) A. OB.C.D.6【答案】C【解析】本题考察数据结构与算法基础知识。计算关键码序列(54,34,5,14,50,36,47,83)的散列函数值,为5,6,5,0,1,1,5,6,则其出现5的次
6、数为3次。冲突次数最多。某图G的邻接矩阵如下所示。以下关于该图的叙述中,错误的是(40)。(40) A.该图存在回路(环)C.图中所有顶点的入度都大于0【答案】B【解析】本题考察数据结构与算法的基础知识。0000oo ad co 9 oo 6 oo oo100B.该图为完全有向图D.图中所有顶点的出度都大于0对于完全图,需要满足每一个顶点与其他的所有顶点都存在边,显然此图不满足。设有二叉排序树如下图所示,根据关键码序列(41)构造出该二叉排序树。(41) A. 30 20 10 40 B. 30 40 20 10 C. 30 20 40 10 D 30 40 10 20【答案】D【解析】本题考
7、察数据结构与算法的基础知识。对于此题而言,10必须在20的前面。对n个记录进行非递减排序,在第一趟排序之后,一定能把关键码序列中的最大或最小 元素放在其最终排序位置上的排序算法是(42)(42) A.冒泡排序 B.快速排序C.直接插入排序D.归并排序【答案】A【解析】本题考察数据结构与算法的基础知识。冒泡排序Bubble sort:原理是临近的数字两两进行比较,按照从小到大或者从大到小 的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始 进行两两比较交换,直到倒数第二位时结束。对于n个元素的关键码序列k1,k2,,Kn,当且仅当满足下列关系时称其为堆。*峪或 听
8、N知U踞用 U 2瞄以下关键码序列中,(43)不是堆。B. 12, 25, 22, 30, 65,60, 53(43) A. 12, 25, 22, 53, 65, 60, 30C. 65, 60,25, 22, 12, 53, 30D. 65,60, 25, 30, 53, 12,22【答案】C【解析】本题考察数据结构与算法的基础知识。对于C选项,其k1k2,但k3k5,因此不满足堆的条件。对象、类、继承和消息传递是面向对象的4个核心概念。其中对象是封装(44)的整体。(44)A.命名空间B.要完成任务C. 一组数据D.数据和行为【答案】D【解析】本题考察面向对象的基本概念。可参考程序员教程
9、(第四版)第254页。在面向对象的系统中,对象是基本的运行 时实体,它既包括数据(属性),也包括作用于数据的操作(行为)。所以,一个对象把属性 和行为封装为一个整体。UML由三个要素构成:UML的基本构造块、支配这些构造块如何放置在一起的规则、用 于整个语言的公共机制。UML的词汇表包含三种构造块:事物、关系和图。类、接口、构件 属于(45)构造块。泛化和聚集等是(46)。将多边形与三角形、四边形分别设计为类,多 边形类与三角形之间是(47)关系。(45) A.事物B.关系C.规则D.图(46) A.事物B.关系C.规则D.图(47) A.关联B.依赖C.聚集D.泛化【答案】A B D【解析】
10、本题考察UML基础知识。UML有3种基本的构造块:事物、关系和图。事物是对模型中最具有代表性的成分的抽象,包括结构事物,如类( Class)、接口 (Interface)、协作(Collaboration)、用例(UseCase)、主动类(ActiveClass)、组件 (Component)和节点(Node);行为事物,如交互(Interaction)、态机(Statemachine)、分组事物(包,Package)、注释事物(注解,Note)。关系用来把事物结合在一起,包括依赖、关联、泛化和实现关系。创建型设计模式抽象了实例化过程,有助于系统开发者将对象的创建、组合和表示方式 进行抽象。以
11、下(48)模式是创建型模式。(48) A.组合(Composite)B.装饰器(Decorator)C.代理(Proxy)D.单例(Singleton)【答案】D【解析】此题考查设计模式基础概念,需要搞清楚各个设计模式的特点与不同,设计模式共有结 构型,创建型,行为型三大类,里面又各自包含了多种具体详细模式。具体内容如下:朔皇匹可EAIW 式 $truccijrial Pjifttm*w上型式小专wux.a*r?;wtu* 一第.馄行口手和曲n赂ia咬或目蜘醇I语行了M.也可迥赣ti 用用*1加若了均争.打*户瑜*位3* .竣甘枷施宣旬.H而 近利夷成一您的肺珀巨时,理格 5奴何有了房审多顷B
12、娜操, ffM: rfitr* 航一 苴.咐)略SM!(酒皿,事帼翊了 tt尊串垣5力增以HiB;菱 g珪*以可募为行 涕 岫C行型!*院行小时便用堑版孔职嵌曲握行顾!a映孑一电?想岸柯互mf以哄(申任何一必无梏gSffXM,FMlwyWeBwdgp心如iffterpc&icrTeimpLalc: MafwdCham of 日翔5SCiWfWtfMotyJCDomtiostetefatwStivjwcnXaraux土皿Wwrver周成HraseyIf戚以下流程图中,至少设计(49)一个测试用例可以分别满足语句覆盖和路径覆盖。(49) A. 1 和 2B.1和 4C.2 和 2D.2 和 4【答
13、案】B【解析】本题考察软件测试的基础知识。白盒测试的方法包括一系列的逻辑覆盖,主要的覆盖标准有语句覆盖、判定覆盖、条件 覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。(1) 语句覆盖。语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程 序的每个语句至少执行一次。很显然,语句覆盖是一种很弱的覆盖标准。(2) 判定覆盖。判定覆盖也称为分支覆盖,它是指不仅每个语句至少执行一次,而且每个 判定的每种可能的结果(分支)都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的 覆盖程度仍然不高。(3) 条件覆盖。条件覆盖是指不仅每个语句至少执行一次,而且使判定表达式中的每
14、个条 件都取得各种可能的结果。条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。(4) 路径覆盖。路径覆盖是指选取足够的测试用例,使得程序的每条可能执行到的路径都 至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)。路径覆盖实际上 考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。但路径覆盖并未 考虑判定中的条件结果的组合,并不能代替条件覆盖和条件组合覆盖。某一资格考试系统的需求为:管理办公室发布考试资格条件,考生报名,系统对考试资 格审查,并给出资格审查信息;对符合资格条件的考生,管理办公室给出试题,考生答题, 管理办公室给出答案,系统自动判卷,并将考试
15、结果发给考生。根据该需求绘制数据流图, 则(50)是外部实体,(51)是加工。(50) A.考生B.试题C.资格审查D.考试资格条件(51) A.考生B.试题C.资格审查D.考试资格条件【答案】A C【解析】本题考察数据流图的基础知识。在DFD中,通常会出现4种基本符号,分别是数据流、加工、数据存储和外部实体(数 据源及数据终点)。数据流是具有名字和流向的数据,在DFD中用标有名字的箭头表示。加 工是对数据流的变换,一般用圆圈表示。数据存储是可访问的存储信息,一般用直线段表示。 外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它 们分别表明数据处理过程的数据来源及
16、数据去向,用标有名字的方框表示。由于设计缺陷和编码缺陷对已经运行的软件系统进行修改,此行为属于(52)维护。(52) A.改正性B.适应性C.完善性D.预防性【答案】A【解析】软件维护有如下类型:(1) 更正性维护,是指在使用过程中发现了隐蔽的错误后,为了诊断和改正这些隐蔽错误 而修改软件的活动,该类维护一般占总维护工作量的17-21%;(2) 适应性维护,是指为了适应变化了的环境而修改软件的活动,该类维护一般占总维护 工作量的18-25%;(3) 完善性维护,是指为了扩充或完善原有软件的功能或性能而修改软件的活动,该类维 护一般占总维护工作量的60%;(4) 预防性维护,是指为了提高软件的可
17、维护性和可靠性、为未来的进一步改进打下基础 而修改软件的活动,该类维护一般占总维护工作量的5%。IT企业对专业程序员的素质要求中,不包括(3)。(53)A.能千方百计缩短程序提高运行效率B. 与企业文化高度契合C. 参与软件项目开发并解决所遇到的问题D. 诚信、聪明、肯干【答案】A【解析】本题考察程序员的能力要求。千方百计缩短程序是没有必要的,关键是程序运行正常,没有错误,其次才是性能要求。以下关于软件开发相关的叙述中,不正确的是(54)。(54)A.专业程序员应将复杂的问题分解为若干个相对简单的易于编程的问题B. 移动互联网时代的软件开发人员应注重用户界面设计,提高用户体验C. 软件测试时应
18、对所有可能导致软件运行出错的情况都进行详尽的测试D. 软件设计者应有敏锐的产品感觉,不因枝节而影响产品的迭代和上线。【答案】A【解析】软件测试对所有可能导致软件运行出错的情况都进行详尽的测试是不可能的。软件文档的作用不包括(5)。(55)A.有利于提高软件开发的可见度B.有利于软件维护和用户使用C.有利于总结经验和实现可重用D.有利于各企业之间交流技术【答案】C【解析】在软件的生产过程中,总是伴随着大量的信息要记录、要使用。因此,软件文档在产品 的开发生产过程中起着重要的作用。1)提高软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档 中。管理人员可把这些记载下来的材料作
19、为检查软件开发进度和开发质量的依据,实现对软 件开发的工程管理。2)提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘 权衡、从而减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正。3)作为开发人员在一定阶段的工作成果和结束标志。4)记录开发过程中的有关信息,便于协调以后的软件、开发、使用和维护。5)提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户 之间的协作、交流和了解。使软件开发活动更科学、更有成效。6)便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依 据。某公司的程序员小王写了一些提升编程
20、能力的经验,其中(56)并不恰当。(56)A.只参加最适合提升自己技术能力的项目B. 根据项目特点选择合适的开发环境和工具,抓紧学习C. 重视培养自己的沟通能力,包括撰写文档的能力D. 参加网络上的编程论坛,善于向高手学习【答案】A【解析】程序员也应配合公司需要参与到其他的项目。数据字典存放的是01。(57)A.数据库管理系统软件B.数据定义语言DDLC.数据库应用程序D.各类数据描述的集合【答案】D【解析】数据字典是用来定义数据流图中各个成分的具体含义,它以一种准确的、无二义性的说 明方法为系统的分析、设计及维护提供了有关元素一致的定义和详细的描述。数据字典是指对数据的数据项、数据结构、数据
21、流、数据存储、处理逻辑、外部实体等进行 定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的 建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的 定义的集合。在数据库设计过程中,关系规范化属于(8)。(58)A.概念结构设计B.逻辑结构设计C.物理设计D.数据库实施【答案】B【解析】数据字典是用来定义数据流图中各个成分的具体含义,它以一种准确的、无二义性的说 明方法为系统的分析、设计及维护提供了有关元素一致的定义和详细的描述。数据库设计可以分为需求分析阶段、概念结构设计、逻辑结构设计和物理结构设计等阶段。 需求分析阶段:分析用户的需求,
22、包括数据、功能和性能需求;概念结构设计:在分析阶段,已经得到了系统的数据流程图和数据字典,现在要结合数 据规范化的理论,用一种数据模型将用户的数据需求明确地表示出来。概念数据模型是面向 问题的模型,反映了用户的现实工作环境,是与数据库的具体实现技术无关的。建立系统概 念数据模型的过程叫做概念结构设计。逻辑结构设计:根据已经建立的概念数据模型,以及所采用的某个数据库管理系统软件 的数据模型特性,按照一定的转换规则,把概念模型转换为这个数据库管理系统所能够接受 的逻辑数据模型。不同的数据库管理系统提供了不同的逻辑数据模型,如层次模型、网状模 型、关系模型等。物理结构设计:为一个确定的逻辑数据模型选择一个最适合应用要求的物 理结构的过程,就叫做数据库的物理结构设计。数据库在物理设备上的存储结构和存取方法称为数据库的物理数据模型。设有一个关系emp-sales (部门号,部门名,商品编号,销售数),查询各部门至少销 售了 5种商品或者部门总销售数大于2000的部门号、部门名及平均