《2016上半年程序员考试真题及答案-上午卷.doc》由会员分享,可在线阅读,更多相关《2016上半年程序员考试真题及答案-上午卷.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2016上半年程序员考试真题及答案-上午卷在windows系统中,若要将文件“D:usermy.doc设置成只读属性,可以通过修改该文件的(1)来实现。将文件设置为只读属性可控制用户对文件的修改,这一级安全管理称之为( 2)安全管理。(1)A属性 B内容 C文件名 D路径名(2)A用户级 B目录级 C文件级 D系统级【答案】A C【解析】本题考察文件管理的基础知识。文件属性决定文件是只读或者可读可写。文件级安全管理控制用户对文件的改变。权限由高到低大概为: administrators,power users,users,guests某公司员工技能培训课程成绩表如下所示。若员工笔试成绩、技能成
2、绩和岗位实习成绩分别占综合成绩的25%、20%和55%、那么可先在E3:单元格中输入(3),再向垂直方向拖动填充柄至E10单元格,则可自动算出这些员工的综合成绩。若要将及格和不及格的人数统计结果显示在B11和E11单元格中,则应在B11和E11中分别填写(4)。(3)A=B$3*0.25+C$3*0.2+D$3*0.55 B=B3*0.25+ C3 *0.2+ D3*0.55 C=SUM (B$3*0.25+C$3*0.2+D$3*0.55)D= SUM ($B$3*0.25+ $C$3 *0.2+ $D$3*0.55) (4)A=COUNT(E3:E10,= 60)和=COUNT(E3:E1
3、0,= 60”)和=COUNT(E3:E10,”= 60)和=COUNTIF(E3:E10,= 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、点区分开。对于左、右子树同样处理,就可以得到对应的二叉树。本题的二叉树为:对于关键码序列(54,34,5,14,50,36,47,83),用链地址法(或拉链法)解决冲突构造散列表(即将冲突的元素存储在同一个单链表中,单链表的头指针存入散列地址对应的单元),设散列函数为H(Key)=Key MOD 7(MOD表示整除取余运算),则构造散列表时冲突次数最多的哈希单元的地址是(39)。 (39)AO B1 C5 D6【答案】C【解析】本题考察数据结构与算法基础知识。计算关键码序列(54,34,5,14,50,36,47,83)的散列函数值,为5,6,5,0,1,1,5,6,则其出现5的次数为3次。冲
6、突次数最多。某图G的邻接矩阵如下所示。以下关于该图的叙述中,错误的是(40)。 (40)A该图存在回路(环)B该图为完全有向图C图中所有顶点的入度都大于0D图中所有顶点的出度都大于0【答案】B【解析】本题考察数据结构与算法的基础知识。对于完全图,需要满足每一个顶点与其他的所有顶点都存在边,显然此图不满足。设有二叉排序树如下图所示,根据关键码序列(41)构造出该二叉排序树。(41)A30 20 10 40B30 40 20 10C30 20 40 10 D30 40 10 20【答案】D【解析】本题考察数据结构与算法的基础知识。对于此题而言,10必须在20的前面。对n个记录进行非递减排序,在第一
7、趟排序之后,一定能把关键码序列中的最大或最小元素放在其最终排序位置上的排序算法是(42)(42)A冒泡排序 B快速排序 C直接插入排序 D归并排序【答案】A【解析】本题考察数据结构与算法的基础知识。冒泡排序Bubble sort:原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束。对于n个元素的关键码序列k1,k2,Kn,当且仅当满足下列关系时称其为堆。以下关键码序列中,(43)不是堆。(43)A12, 25, 22, 53, 65, 60, 30 B12, 25, 22
8、, 30, 65,60, 53C65, 60,25, 22, 12, 53, 30 D65,60, 25, 30, 53, 12,22【答案】C【解析】本题考察数据结构与算法的基础知识。对于C选项,其k1k2,但k3k5,因此不满足堆的条件。对象、类、继承和消息传递是面向对象的4个核心概念。其中对象是封装(44)的整体。(44)A命名空间 B要完成任务 C一组数据 D数据和行为【答案】D【解析】本题考察面向对象的基本概念。可参考程序员教程(第四版)第254页。在面向对象的系统中,对象是基本的运行时实体,它既包括数据(属性),也包括作用于数据的操作(行为)。所以,一个对象把属性和行为封装为一个整
9、体。UML由三个要素构成:UML的基本构造块、支配这些构造块如何放置在一起的规则、用于整个语言的公共机制。UML的词汇表包含三种构造块:事物、关系和图。类、接口、构件属于(45)构造块。泛化和聚集等是(46)。将多边形与三角形、四边形分别设计为类,多边形类与三角形之间是(47)关系。(45)A事物B关系C规则D图(46)A事物B关系C规则D图(47)A关联B依赖C聚集D泛化【答案】A B D【解析】本题考察UML基础知识。UML有3种基本的构造块:事物、关系和图。事物是对模型中最具有代表性的成分的抽象,包括结构事物,如类(Class)、接口(Interface)、协作(Collaboratio
10、n)、用例(UseCase)、主动类(ActiveClass)、组件(Component)和节点(Node);行为事物,如交互(Interaction)、态机(Statemachine)、分组事物(包,Package)、注释事物(注解,Note)。关系用来把事物结合在一起,包括依赖、关联、泛化和实现关系。创建型设计模式抽象了实例化过程,有助于系统开发者将对象的创建、组合和表示方式进行抽象。以下(48)模式是创建型模式。(48)A组合(Composite)B装饰器(Decorator)C代理(Proxy)D单例(Singleton)【答案】D【解析】此题考查设计模式基础概念,需要搞清楚各个设计模
11、式的特点与不同,设计模式共有结构型,创建型,行为型三大类,里面又各自包含了多种具体详细模式。具体内容如下:以下流程图中,至少设计(49)个测试用例可以分别满足语句覆盖和路径覆盖。(49)A1和2B1和4C2和2D2和4【答案】B【解析】本题考察软件测试的基础知识。白盒测试的方法包括一系列的逻辑覆盖,主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。(1)语句覆盖。语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。很显然,语句覆盖是一种很弱的覆盖标准。(2)判定覆盖。判定覆盖也称为分支覆盖,它是指
12、不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的覆盖程度仍然不高。(3)条件覆盖。条件覆盖是指不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取得各种可能的结果。条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。(4)路径覆盖。路径覆盖是指选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)。路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。但路径覆盖并未考虑判定中的条件结果的组合,并不能代替条件覆盖和条件组合覆盖。某一
13、资格考试系统的需求为:管理办公室发布考试资格条件,考生报名,系统对考试资格审查,并给出资格审查信息;对符合资格条件的考生,管理办公室给出试题,考生答题,管理办公室给出答案,系统自动判卷,并将考试结果发给考生。根据该需求绘制数据流图,则(50)是外部实体,(51)是加工。(50)A考生B试题C资格审查D考试资格条件(51)A考生B试题C资格审查D考试资格条件【答案】A C【解析】本题考察数据流图的基础知识。在DFD中,通常会出现4种基本符号,分别是数据流、加工、数据存储和外部实体(数据源及数据终点)。数据流是具有名字和流向的数据,在DFD中用标有名字的箭头表示。加工是对数据流的变换,一般用圆圈表
14、示。数据存储是可访问的存储信息,一般用直线段表示。外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。由于设计缺陷和编码缺陷对已经运行的软件系统进行修改,此行为属于(52)维护。(52)A改正性B适应性C完善性D预防性【答案】A【解析】软件维护有如下类型:(1)更正性维护,是指在使用过程中发现了隐蔽的错误后,为了诊断和改正这些隐蔽错误而修改软件的活动,该类维护一般占总维护工作量的17-21%;(2)适应性维护,是指为了适应变化了的环境而修改软件的活动,该类维护一般占总维护工作量的18-25%;(3)完
15、善性维护,是指为了扩充或完善原有软件的功能或性能而修改软件的活动,该类维护一般占总维护工作量的60%;(4)预防性维护,是指为了提高软件的可维护性和可靠性、为未来的进一步改进打下基础而修改软件的活动,该类维护一般占总维护工作量的5%。IT企业对专业程序员的素质要求中,不包括(53)。(53)A能千方百计缩短程序提高运行效率B与企业文化高度契合C参与软件项目开发并解决所遇到的问题D诚信、聪明、肯干【答案】A【解析】本题考察程序员的能力要求。千方百计缩短程序是没有必要的,关键是程序运行正常,没有错误,其次才是性能要求。以下关于软件开发相关的叙述中,不正确的是(54)。(54)A专业程序员应将复杂的
16、问题分解为若干个相对简单的易于编程的问题B移动互联网时代的软件开发人员应注重用户界面设计,提高用户体验C软件测试时应对所有可能导致软件运行出错的情况都进行详尽的测试D软件设计者应有敏锐的产品感觉,不因枝节而影响产品的迭代和上线。【答案】A【解析】软件测试对所有可能导致软件运行出错的情况都进行详尽的测试是不可能的。软件文档的作用不包括(55)。(55)A有利于提高软件开发的可见度B有利于软件维护和用户使用C有利于总结经验和实现可重用D有利于各企业之间交流技术【答案】C【解析】在软件的生产过程中,总是伴随着大量的信息要记录、要使用。因此,软件文档在产品的开发生产过程中起着重要的作用。1)提高软件开
17、发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中。管理人员可把这些记载下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。2)提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、从而减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正。3)作为开发人员在一定阶段的工作成果和结束标志。4)记录开发过程中的有关信息,便于协调以后的软件、开发、使用和维护。5)提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。使软件开发活动更科学、更有成效。6)便于潜在用户了解软件的
18、功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。某公司的程序员小王写了一些提升编程能力的经验,其中(56)并不恰当。(56)A只参加最适合提升自己技术能力的项目B根据项目特点选择合适的开发环境和工具,抓紧学习C重视培养自己的沟通能力,包括撰写文档的能力D参加网络上的编程论坛,善于向高手学习【答案】A【解析】程序员也应配合公司需要参与到其他的项目。数据字典存放的是(57)。(57)A数据库管理系统软件B数据定义语言DDLC数据库应用程序D各类数据描述的集合【答案】D【解析】数据字典是用来定义数据流图中各个成分的具体含义,它以一种准确的、无二义性的说明方法为系统的分析、设计及维护提供了
19、有关元素一致的定义和详细的描述。数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。在数据库设计过程中,关系规范化属于(58)。(58)A概念结构设计B逻辑结构设计C物理设计D数据库实施【答案】B【解析】数据字典是用来定义数据流图中各个成分的具体含义,它以一种准确的、无二义性的说明方法为系统的分析、设计及维护提供了有关元素一致的定义和详细的描述。数据库设计可以分为需求分析阶段、概念结构设计、逻辑结
20、构设计和物理结构设计等阶段。需求分析阶段:分析用户的需求,包括数据、功能和性能需求;概念结构设计:在分析阶段,已经得到了系统的数据流程图和数据字典,现在要结合数据规范化的理论,用一种数据模型将用户的数据需求明确地表示出来。概念数据模型是面向问题的模型,反映了用户的现实工作环境,是与数据库的具体实现技术无关的。建立系统概念数据模型的过程叫做概念结构设计。逻辑结构设计:根据已经建立的概念数据模型,以及所采用的某个数据库管理系统软件的数据模型特性,按照一定的转换规则,把概念模型转换为这个数据库管理系统所能够接受的逻辑数据模型。不同的数据库管理系统提供了不同的逻辑数据模型,如层次模型、网状模型、关系模
21、型等。物理结构设计:为一个确定的逻辑数据模型选择一个最适合应用要求的物理结构的过程,就叫做数据库的物理结构设计。数据库在物理设备上的存储结构和存取方法称为数据库的物理数据模型。设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至少销售了5种商品或者部门总销售数大于2000的部门号、部门名及平均销售数的SQL语句如下:SELECT部门号,部门名,AVG(销售数)AS平均销售数FROMemp-salesGROUPBY(59)HAVING(60)OR(61);(59)A部门号B部门名C商品编号D销售数(60)ACOUNT(商品编号)5BCOUNT(商品编号)=5CCOUN
22、T(DISTINCT部门号)=5D.COUNT(DISTINCT部门号)5(61)ASUM(销售数)2000BSUM(销售数)-2000CSUM(销售数)2000DSUM(销售数)-2000【答案】A B C【解析】本题考察数据库SQL基础知识。要查询各部门至少销售了5种商品或者部门总销售数大于2000的部门号、部门名及平均销售数的SQL语句为:SELECT部门号,部门名,AVG(销售数)AS平均销售数FROMemp-salesGROUPBY部门号HAVINGCOUNT(商品编号)=5ORSUM(销售数)2000事务有多种性质,“当多个事务并发执行时,任何一个事务的更新操作直到其成功提交前的整个过程,对其他事务都是不可见的。”这一性质属于事务的(62)性质。(62)A原子性B一致性C隔离性D持久性【答案】C【解析】原子性:事务是原子的,要么做,要么都不做。一致性:事务执行的结果必须保证数据库从一个一致性状态变到另一个一致性状态。隔离性:事务相互隔离。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其它事物都是不可见的。持久性:一旦事务成功提交,即使数