1、2013 年下半年软件水平考试(初级)程序员上午(基础知识)试题真题试卷及答案解析(总分:150.00,做题时间:90 分钟)一、选择题(总题数:61,分数:150.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。_2.“http:/wwwsinacomcn”中,“(5)”属于组织和地理性域名。(分数:2.00)A.sinacomB.comcnC.sinacnD.wwwsina3.在下列寻址方式中,(6)取得操作数的速度最快。(分数:2.00)A.直接寻址B.寄存器寻址C.立即寻址D.寄存器间接寻址4.用来指出
2、下一条待执行指令地址的是(7)。(分数:2.00)A.程序计数器B.通用寄存器C.指令寄存器D.状态寄存器5.构成运算器的部件中,最核心的是(8)。(分数:2.00)A.数据总线B.累加器C.算术和逻辑运算单元D.状态寄存器6.Cache 的作用是(9)。(分数:2.00)A.处理中断请求并实现内外存的数据交换B.解决 CPU 与主存间的速度匹配问题C.增加外存容量并提高外存访问速度D.扩大主存容量并提高主存访问速度7.以下文件中,(12)是图像文件。(分数:2.00)A.marrywpsB.marryhtmC.marryjpgD.marrymp38.掉电后存储在(13)中的数据会丢失。(分数
3、:2.00)A.U 盘B.光盘C.ROMD.RAM9.计算机系统中,显示器属于(14)。(分数:2.00)A.感觉媒体B.传输媒体C.表现媒体D.存储媒体10.下面关于数字签名的说法中,正确的是(15)。(分数:2.00)A.数字签名是指利用接受方的公钥对消息加密B.数字签名是指利用接受方的公钥对消息的摘要加密C.数字签名是指利用发送方的私钥对消息加密D.数字签名是指利用发送方的私钥对消息的摘要加密11.下面不属于访问控制策略的是(16)。(分数:2.00)A.加口令B.设置访问权限C.加密解密D.角色认证12.M 书法家将自己创作的一幅书法作品原件出售给了 L 公司。L 公司未经 M 书法家
4、的许可将这幅书法作品作为商标注册,并取得商标权。以下说法正确的是(14)。(分数:2.00)A.L 公司的行为侵犯了 M 书法家的著作权B.L 公司的行为未侵犯 M 书法家的著作权C.L 公司的行为侵犯 M 书法家的商标权D.L 公司与 M 书法家共同享有该书法作品的著作权13.关于软件著作权产生的时间,表述正确的是(18)。(分数:2.00)A.自软件首次公开发表时B.自开发者有开发意图时C.自软件开发完成之日时D.自软件著作权登记时14.某计算机内存空间按字节编址,若某区域的起始地址为 4A000H,终止地址为 4DFFFH,则该段内存区域的容量为(19)。(分数:2.00)A.2 4 K
5、BB.2 14 KBC.1MBD.2MB15.某 CPU 的时钟频率为 20GHz,其时钟信号周期为(20)ns。(分数:2.00)A.20B.10C.05D.02516.某数据的 7 位编码为 0100011,若要增加一位奇校验位(最高数据位之前),则编码为(21)。(分数:2.00)A.11011100B.01011100C.10100011D.0010001117.在堆栈操作中,(22)保持不变。(分数:2.00)A.堆栈的顶B.堆栈的底C.堆栈指针D.堆栈中的数据18.嵌入式操作系统的主要特点是微型化、(25)。(分数:2.00)A.可定制、实时性、高可靠性和易移植性B.可定制、实时性
6、和易移植性,但可靠性差C.实时性、可靠性和易移植性,但不可定制D.可定制、实时性和可靠性,但不易移植19.Fibnacci 数列的定义为:F 0 =0,F 1 =1,F n =F n-1 +F n-2 (n2,nN * ),要计算该数列的任意项F n ,既可以采用递归方式编程也可以采用循环语句编程,由于(31),所以需要较多的运行时间。(分数:2.00)A.递归代码经编译后形成较长目标代码B.递归代码执行时多次复制同一段目标代码C.递归代码执行时需要进行一系列的函数调用及返回且存在重复计算D.递归代码执行过程中重复存取相同的数据20.当程序运行陷于死循环时,说明程序中存在(34)。(分数:2.
7、00)A.语法错误B.静态的语义错误C.词法错误D.动态的语义错误21.设数组 a1n,1m(n1,m1)中的元素以列为主序存放,每个元素占用 1 个存储单元,则数组元素 ai,j(1in,1jm)相对于数组空间首地址的偏移量为(35)。(分数:2.00)A.(i-1)*=m+j-1B.(i-1)*n+j-1C.(j-1)*m+i-1D.(j-1)*n+i-122.用链表作为栈的存储结构时,若要入栈操作成功,则(38)。(分数:2.00)A.必须先判断是否栈满B.必须先判断是否栈空C.必须先判断栈顶元素的类型D.必须成功申请到入栈元素所需结点23.在一棵非空的二叉排序树(二叉查找树)中,进行(
8、41)遍历运算并输出所访问结点的关键码后,可得到一个有序序列。(分数:2.00)A.先序B.中序C.后序D.层序24.若关键码序列(23,35,14,49,8,12,30,7)采用散列法进行存储和查找。设散列函数为 H(Key)=Key11,采用线性探查法(顺序地探查可用存储单元)解决冲突,尚未构造完成的散列表如下所示,则元素 12 应存入哈希地址单元(42)。 (分数:2.00)A.0B.4C.11D.1225.在第一趟排序之后,一定能把数据序列中最大或最小元素放在其最终位置上的排序方法是(43)。(分数:2.00)A.冒泡排序B.插入排序C.快速排序D.归并排序26.在面向对象方法中,(4
9、4)是一种信息隐蔽技术,其目的是使对象的使用者和生产者分离,使对象的定义和实现分开。(分数:2.00)A.对象B.属性C.封装D.行为27.统一建模语言(UML)图中,(47)用于建模系统的动态行为,它描述活动的顺序,展现从一个活动到另一个活动的控制流。(分数:2.00)A.序列图B.交互图C.活动图D.通信图28.在采用面向对象开发方法开发交通系统时,若将“汽车”与“交通工具”分别设计为类,则最适合描述“汽车”与“交通工具”之间的关系为(48)。(分数:2.00)A.继承B.封装C.多态D.重载29.设一组语句需要在程序中多处出现,按照模块独立性原则,把这些语句放在一个模块中,则该模块的内聚
10、是(49)。(分数:2.00)A.逻辑内聚B.瞬时内聚C.偶然内聚D.通信内聚30.以下关于软件维护的叙述中,错误的是(50)。(分数:2.00)A.软件维护解决软件产品交付用户之后运行中发生的各种问题B.软件维护期通常比开发期长得多,投入也大得多C.软件的可维护性是软件开发阶段各个时期的关键目标D.软件工程存在定量度量软件可维护性的很好的普遍适用的方法31.以下关于软件测试的叙述中,不正确的是(51)。(分数:2.00)A.软件测试的目的是为了发现错误B.成功的测试是能发现至今尚未发现的错误的测试C.测试不能用来证明软件没有错误D.当软件不存在错误时,测试终止32.为了检查对软件进行修改后是
11、否引入新的错误,需要对软件进行的测试类型为(52)测试。(分数:2.00)A.功能B.回归C.可靠性D.恢复33.专业程序员的职业素养要求中不包括(53)。(分数:2.00)A.要严格按照程序设计规格说明书编写程序,不应该有任何质疑B.不要为了赶工期而压缩测试,要反复测试确信代码能正常运行C.既要善于独处,又要善于合作,要不断学习,不要落后于时代D.要勇担责任,出了错误自己来收拾,确保以后不再犯同样的错34.评价软件详细设计时不考虑(54)。(分数:2.00)A.可理解性,使最终用户能理解详细设计,并提出改进意见B.可扩展性,容易添加新的功能C.灵活性,使代码修改能平稳地进行D.可插入性,容易
12、将一个模块抽出去,将另一个有同样接口的模块加进来35.用户小王对某软件的操作界面提出了以下四条改进意见,其中,(55)是不需要考虑的。(分数:2.00)A.输入信用卡号时应该允许在其中插入空格B.显示较长的说明信息时不要很快就消失C.输入注册信息时有些项应该允许留空D.切换选项卡时,应自动保存已修改的设置36.以下关于软件文档的叙述中,不正确的是(56)。(分数:2.00)A.撰写规范的文档有助于传授经验,降低风险B.开发过程文档化的目标是易于据此重建项目C.由代码生成文档的全自动工具软件现已成熟D.过时的文档比没有文档更糟,会误导使用者37.某营销公司员工绩效考核系统,对不同岗位的员工绩效考
13、核指标不同,例如:一级销售员月销售额不得低于 200 万元,二级销售员月销售额不得低于 100 万元,三级销售员月销售额不得低于 50 万元。对于这种情况在系统实现时可以通过(57)进行约束。(分数:2.00)A.实体完整性B.参照完整性C.主键完整性D.用户定义完整性38.设 a,b,c,d 是不同的四个数,已知 a1,m1)中的元素以列为主序存放,每个元素占用 1 个存储单元,则数组元素 ai,j(1in,1jm)相对于数组空间首地址的偏移量为(35)。(分数:2.00)A.(i-1)*=m+j-1B.(i-1)*n+j-1C.(j-1)*m+i-1D.(j-1)*n+i-1 解析:解析:
14、本题考查程序语言基础知识。存储数组元素时,需要将元素按照某种顺序排列。对于二维及多维数组,则有按行存储和按列存储两种方式,其不同在于同一个元素相对于数组空间起始位置的偏移量不同。本问题中 n 行 m 列的二维数组 a1n,1m是按列存储,则对于元素 aij来说,它之前有完整的 j-1 列、每列 n 个元素,在第 j 列上排在 aij之前的元素个数是 i 一 1 个,因此排列在 ai,j之前的元素个数为(j-1)*n+i-1,由于每个元素占一个单元,该表达式的值就是偏移量。22.用链表作为栈的存储结构时,若要入栈操作成功,则(38)。(分数:2.00)A.必须先判断是否栈满B.必须先判断是否栈空
15、C.必须先判断栈顶元素的类型D.必须成功申请到入栈元素所需结点 解析:解析:本题考查数据结构基础知识。栈的修改要求是仅在表尾进行插入和删除操作,元素间的关系仍是线性的。对于删除操作(即出栈),无论在何种存储方式下实现该运算,栈不为空才能操作成功。对于插入操作(即入栈),要求为新加入的元素准备好存储空间,在链式存储方式下,不存在栈满的情形,只需判断是否为新元素成功申请到需要的结点。23.在一棵非空的二叉排序树(二叉查找树)中,进行(41)遍历运算并输出所访问结点的关键码后,可得到一个有序序列。(分数:2.00)A.先序B.中序 C.后序D.层序解析:解析:本题考查数据结构基础知识。根据二叉排序树
16、的定义,对于树中的每个结点,其左子树中的关键字均小于根结点的关键字,其右子树中的关键字均大于根结点的关键字,而中序遍历的次序是左子树、根结点、右子树,因此,对一个非空的二叉排序树进行中序遍历,所输出的关键码序列是递增有序序列。24.若关键码序列(23,35,14,49,8,12,30,7)采用散列法进行存储和查找。设散列函数为 H(Key)=Key11,采用线性探查法(顺序地探查可用存储单元)解决冲突,尚未构造完成的散列表如下所示,则元素 12 应存入哈希地址单元(42)。 (分数:2.00)A.0B.4 C.11D.12解析:解析:本题考查数据结构基础知识。根据构造哈希表的方式,先由哈希函数
17、计算 12 在哈希表中的存储位置为 l(1211),此时因 l 号单元被 23 占用而发生冲突,线性探查法解决冲突的方式是顺序地探查 2 号单元,仍然冲突,再探查 3 号单元,继续冲突,再探查 4 号单元,不再冲突,从而在经过 4 次探查后把 12 存入空闲的 4 号单元。25.在第一趟排序之后,一定能把数据序列中最大或最小元素放在其最终位置上的排序方法是(43)。(分数:2.00)A.冒泡排序 B.插入排序C.快速排序D.归并排序解析:解析:本题考查算法基础知识。冒泡排序是通过不断比较和交换逻辑上相邻的元素而进行的排序过程,当从头到尾将元素进行一趟冒泡排序后,可以将最大元素(或最小)元素交换
18、至最终位置。插入排序是不断将元素插入到有序序列中来实现排序的过程,在完成最后一个元素的插入处理之前,不能保证之前得到的有序序列包含了最大元素(或最小元素)。快速排序是在设置枢轴元素后,通过与其余元素的比较和交换(或移动),确保一趟快速排序后实现枢轴元素的最终定位,但是不能保证枢轴是最大元素(或最小元素),实际上若枢轴元素为序列的最大(或最小)元素,反而是快速排序的最坏情况。归并排序是将两个(或多个)有序子序列合并为一个有序序列的方式来实现排序的过程,只有完成最后一趟归并时才能将最大或最小元素放在其最终位置上。26.在面向对象方法中,(44)是一种信息隐蔽技术,其目的是使对象的使用者和生产者分离
19、,使对象的定义和实现分开。(分数:2.00)A.对象B.属性C.封装 D.行为解析:解析:本题考查面向对象的基本概念。在面向对象系统中,对象是基本的运行时实体,它既包括数据(属性),也包括作用于数据的操作(行为)。一个对象把属性和行为封装为一个整体。封装是一种信息隐蔽技术,其主要目的是对象的使用者和生产者分离,是对象的定义和实现分开。27.统一建模语言(UML)图中,(47)用于建模系统的动态行为,它描述活动的顺序,展现从一个活动到另一个活动的控制流。(分数:2.00)A.序列图B.交互图C.活动图 D.通信图解析:解析:本题考查统一建模语言(UML)的基础知识。UML20 中提供了多种图形。
20、序列图是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动,对用例中的场景可以采用序列图进行描述。活动图专注于系统的动态视图,它对于系统的功能建模特别重要,并强调对象间的控制流程。交互图组合了序列图和活动图的特征,显示了每个用例的活动中对象如何交互。通信图强调收发消息的对象之间的结构组织。28.在采用面向对象开发方法开发交通系统时,若将“汽车”与“交通工具”分别设计为类,则最适合描述“汽车”与“交通工具”之间的关系为(48)。(分数:2.00)A.继承 B.封装C.多态D.重载解析:解析:本题考查面向对象的基础知识。继承是父类和子类之间共享数据和方法的机制。这是类之间的一种关系,在定义
21、和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容,即子类比父类更加具体化。封装是一种信息隐蔽技术,其主要目的是将对象的使用者和生产者分离,是对象的定义和实现分开。多态(polyInorl)hism)是不同的对象收到同一消息可以进行不同的响应,产生完全不同的结果,用户可以发送一个通用的消息,而实现细节则由接收对象自行决定,使得同一个消息就可以调用不同的方法,即一个对象具有多种形态。重载是一个名称多个含义,即同一个方法名称,带有不同的参数个数或类型。交通工具是泛指各类交通工具,而汽车是一种交通工具,且具有自己的特性。因此,继
22、承关系最适合表达这些类的设计,在继承交通工具的基础上,设计汽车类,添加自己特有的行为,设计出子类。29.设一组语句需要在程序中多处出现,按照模块独立性原则,把这些语句放在一个模块中,则该模块的内聚是(49)。(分数:2.00)A.逻辑内聚B.瞬时内聚C.偶然内聚 D.通信内聚解析:解析:本题考查软件工程中软件设计的基础知识。模块化是指将软件划分成独立命名且可以独立访问的模块,不同的模块通常具有不同的功能或职责。每个模块可以独立地开发、测试,最后组装成完整的软件。模块独立性是指软件系统中每个模块只涉及软件要求的具体的一个子功能,而和其他模块之间的接口尽量简单,是模块化设计的一个重要原则,主要用模
23、块间的耦合和模块内的内聚来衡量。模块的内聚性一般有以下几种:偶然内聚,指一个模块内的几个处理元素之间没有任何联系。逻辑内聚,指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。时间内聚,把需要同时执行的动作组合在一起形成的模块。通信内聚,指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或者产生相同的输出数据。顺序内聚,指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一个功能元素的输出就是下一个功能元素的输入。功能内聚,是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。本题中的多条语句之间只是为了避免重复才提取出来构成一个模块,故
24、该模块的内聚类型应属于偶然内聚。30.以下关于软件维护的叙述中,错误的是(50)。(分数:2.00)A.软件维护解决软件产品交付用户之后运行中发生的各种问题B.软件维护期通常比开发期长得多,投入也大得多C.软件的可维护性是软件开发阶段各个时期的关键目标D.软件工程存在定量度量软件可维护性的很好的普遍适用的方法 解析:解析:本题考查软件工程中软件维护的基础知识。在软件开发完成交付用户使用后,就进入软件运行维护阶段。在维护阶段,对软件进行的任何工作,都视为软件维护。软件维护阶段通常比软件开发阶段,包括需求分析、软件设计、软件构造和软件测试,时间更长,需要的投入也更多。由于软件的需求会随时发生变化,
25、软件的错误也不可能在测试阶段全部能发现和修改,环境和技术在发生变化,开发团队也会有变化,因此在开发过程的每个阶段都应该以可维护性作为重要的目标。目前,可维护性还没有很好的定量度量指标。31.以下关于软件测试的叙述中,不正确的是(51)。(分数:2.00)A.软件测试的目的是为了发现错误B.成功的测试是能发现至今尚未发现的错误的测试C.测试不能用来证明软件没有错误D.当软件不存在错误时,测试终止 解析:解析:本题考查软件测试的基础知识。软件测试是为了发现错误而执行程序的过程。因此软件测试的目的是发现软件的错误。成功的测试是能发现至今尚未发现的错误的测试。软件测试不能证明软件中不存在错误,只能说明
26、软件中存在错误。穷举测试是不实际的,因此不能说明软件不存在错误,才终止测试。32.为了检查对软件进行修改后是否引入新的错误,需要对软件进行的测试类型为(52)测试。(分数:2.00)A.功能B.回归 C.可靠性D.恢复解析:解析:本题考查软件测试的基础知识。软件测试的目的是识别错误,而不是改正错误。但是,开发团队希望错误发现后尽快地找出其原因,进而改正错误。而且,有些错误的持续存在会阻止进一步的测试。在这种情况下,在测试过程中改正错误可能会在修复已有错误的同时引入新的错误。回归测试用于识别在改正当前错误的同时可能引入的新错误。33.专业程序员的职业素养要求中不包括(53)。(分数:2.00)A
27、.要严格按照程序设计规格说明书编写程序,不应该有任何质疑 B.不要为了赶工期而压缩测试,要反复测试确信代码能正常运行C.既要善于独处,又要善于合作,要不断学习,不要落后于时代D.要勇担责任,出了错误自己来收拾,确保以后不再犯同样的错解析:解析:本题考查软件工程实践的基础知识(专业程序员的职业素养)。程序员的主要任务是按照程序设计规格说明书编写程序。但对于专业程序员来说,不能简单机械地按照它编写程序,而是需要深刻理解它。对于其中不合理之处或低效之处,应该有所质疑,并与软件设计师讨论。有时,需要理解其中的关键点,有时需要更正一些错误,有时需要更换算法或修改流程,有时需要优化流程。软件设计师一般都会
28、欢迎专业程序员的质疑,加深对算法的理解和认识,纠正可能有的错误,提高软件的质量。测试是软件开发过程中必不可少的重要步骤。因为一般的软件都或多或少包含了一些错误,必须反复通过严格的测试才能保障软件的质量。许多程序员为了赶工期而压缩测试环节,导致交付的软件隐藏不少问题。这不是专业程序员应有的职业素质。专业程序员既要善于独处,冷静思考处理复杂逻辑的正确性;又要善于合作,认真讨论与其他部分的接口,听取别人的评审和改进意见。过分欣赏自己的小技巧,固执己见常常导致软件出错。由于软件技术发展更新快,程序员需要不断学习,不要落后于时代。专业程序员有时也会犯错误,但要勇担责任,不能总想把问题推到别人身上。出了错
29、误要由自己来收拾,确保以后不再犯同样的错。即使是自己的下属犯错误,也要自己来承担检查不仔细、教育不够的责任。34.评价软件详细设计时不考虑(54)。(分数:2.00)A.可理解性,使最终用户能理解详细设计,并提出改进意见 B.可扩展性,容易添加新的功能C.灵活性,使代码修改能平稳地进行D.可插入性,容易将一个模块抽出去,将另一个有同样接口的模块加进来解析:解析:本题考查软件工程实践的基础知识(软件详细设计)。软件的概要设计需要征求用户的意见,但软件的详细设计主要是给软件实施人员用的,并不是给最终用户看的。最终用户不理解、看不懂详细设计是正常的。正如商品房的详细设计工程图纸是给施工人员用的,不是
30、给住户看的。软件的详细设计应考虑可扩展性、灵活性、可插入性等,这些特性都是对软件开发的要求,为今后软件的维护使用奠定良好的基础。35.用户小王对某软件的操作界面提出了以下四条改进意见,其中,(55)是不需要考虑的。(分数:2.00)A.输入信用卡号时应该允许在其中插入空格B.显示较长的说明信息时不要很快就消失C.输入注册信息时有些项应该允许留空D.切换选项卡时,应自动保存已修改的设置 解析:解析:本题考查软件工程实践的基础知识(用户界面设计)。从用户的角度看,软件的操作界面体现了软件的功能和使用特性。操作界面的设计需要征求最终用户的意见。用户小王提的四条意见中,意见 A是正确的。因为信用卡号比
31、较长,输入时最好分段,其间插入空格,容易检查,不容易出错。意见 B 也是正确的。有些软件的提示信息或警告信息较长,如果只显示了很短时间,用户还没有看完,就消失了,用户就不明白、不满意。意见 C 也是正确的,输入注册信息时有些项是必须填写的,但有些项并不重要或者有些人无法填写,这些项应该允许留空。一般软件中,用“*”标记是必填项写的注册信息项。没有该标记的项是可填可不填的。意见 D 不完全正确。软件某方面的设置可能有多张选项卡,每张选项卡上可有多个选项。通常每张选项卡上都有“确认取消”按钮,是否保存用户的选择应由用户自己决定。因为用户的选择往往需要反复思考,再三决策,不宜完全采用自动保存的做法。
32、36.以下关于软件文档的叙述中,不正确的是(56)。(分数:2.00)A.撰写规范的文档有助于传授经验,降低风险B.开发过程文档化的目标是易于据此重建项目C.由代码生成文档的全自动工具软件现已成熟 D.过时的文档比没有文档更糟,会误导使用者解析:解析:本题考查软件工程实践的基础知识(文档撰写)。撰写规范的文档,记录开发过程和所用的技术,有助于记载并传授经验,便于自己整理总结提高,也有助于指导他人。撰写规范的文档后,即使开发过程中有人调走了,别人也能接得上,同时,也有利于检查审核,找出问题的原因,有助于降低开发风险。开发过程文档化的目标是易于据此重建项目。需要撰写哪些文档,写到什么程度,这些都将
33、由这个目标决定。由代码生成文档是非常复杂的,因为文档非结构化,其中还包含了人文因素。一般只能半自动生成文档的框架,再由专业人员具体仔细补充。半自动生成文档框架有利于文档的全面完整,不容易遗漏某些方面。因此,对复杂系统来说,不会存在全自动生成文档的工具软件。过时的文档比没有文档更糟,许多功能已经删除了或者已经调整了,有些操作方法发生了变化,处理问题的方法也可能变了,所以过时文档会误导使用者和开发者,造成维护的困难和问题。37.某营销公司员工绩效考核系统,对不同岗位的员工绩效考核指标不同,例如:一级销售员月销售额不得低于 200 万元,二级销售员月销售额不得低于 100 万元,三级销售员月销售额不
34、得低于 50 万元。对于这种情况在系统实现时可以通过(57)进行约束。(分数:2.00)A.实体完整性B.参照完整性C.主键完整性D.用户定义完整性 解析:解析:本题考查对数据库完整性约束方面的基础知识。数据库完整性(Database Integrity)是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束包括实体完整性、参照完整性和用户定义完整性。实体完整性(Entity Integrity)指表中行的完整性。主要用于保证操作的数据(记录)非空、唯一且不重复。即实体完整性要求每个关系(表)有且仅有一
35、个主键,每一个主键值必须唯一,而且不允许为“空”(NULL)或重复。参照完整性(Referential Integrity)属于表间规则。在关系数据库中,关系之间的联系是通过公共属性实现的。这个公共属性经常是一个表的主键,同时是另一个表的外键。参照完整性体现在两个方面:实现了表与表之间的联系,外键的取值必须是另一个表的主键的有效值,或是“空“值。参照完整性规则要求:若属性组 F 是关系模式 R1 的主键,同时 F 也是关系模式 R2 的外键,则在 R2 的关系中,F 的取值只允许两种可能:空值或等于 R1 关系中某个主键值。用户定义完整性(User-defined Integrity)也称域完
36、整性规则,是对数据表中字段属性的约束,包括字段的值域、字段的类型和字段的有效规则(如小数位数)等约束,是由确定关系结构时所定义的字段的属性决定的。例如,百分制成绩的取值范围在0100 之间;性别取值为“男”或“女”等。38.设 a,b,c,d 是不同的四个数,已知 a1 即等同于 a1,a 的值是 5 所以该条件表达式成立,从而执行了“x=x*x”,就将 x 所对应存储单元的内容改为了 25,然后结束 f2 的执行并将所返回的-10 赋值给 f1 中的 x,因此在 f1 结束时返回的值为 a+x=25-10=15。在值调用方式下调用 f2(a)时,是将实参 a 的值 5 传递给 f2 的形参
37、x,a 和 x 所对应的存储单元是不同的,此后执行 f2 时,由于 x 的值是 5,所以条件表达式 xl 即等同于 51,是成立的,从而执行了“x=x*x”,此时是将 f2 中的 x 修改为 25,与 f1 中的 a 和x 都无关,在结束 f2 的执行并将返回值-10 赋值给 f1 中的 x 后,f1 结束时进行的计算为 a+x=5=10=5。一个计算机算法是对特定问题求解步骤的一种描述。(36)并不是一个算法必须具备的特性;若一个算法能够识别非法的输入数据并进行适当处理或反馈,则说明该算法的(37)较好。(分数:4.00)(1).(36)(分数:2.00)A.可移植性 B.可行性C.确定性D
38、.有穷性解析:(2).(37)(分数:2.00)A.可行性B.正确性C.健壮性 D.确定性解析:解析:本题考查算法基础知识。算法是问题求解过程的精确描述,它为解决某一特定类型的问题规定了一个运算过程,并且具有下列特性。 有穷性。一个算法必须在执行有穷步骤之后结束,且每一步都可在有穷时间内完成。 确定性。算法的每一步必须是确切定义的,不能有歧义。 可行性。算法应该是可行的,这意味着算法中所有要进行的运算都能够由相应的计算装置所理解和实现,并可通过有穷次运算完成。 输入。一个算法有零个或多个输入,它们是算法所需的初始量或被加工的对象的表示。这些输入取自特定的对象集合。 输出。一个算法有一个或多个输
39、出,它们是与输入有特定关系的量。算法的健壮性也称为鲁棒性,即对非法输入的抵抗能力。对于非法的输入数据,算法应能加以识别和处理,而不会产生误动作或执行过程失控。下图的邻接矩阵表示为(39)(行列均以 A、B、C、D、E 为序);若某无向图具有 10 个顶点,则其完全图应包含(40)条边。 (分数:4.00)(1).(39)(分数:2.00)A.B.C. D.解析:解析:本题考查数据结构基础知识。图的邻接矩阵是一个方阵,所有行标和列标都与图中的顶点一一对应,这样对于矩阵中的一个元素i,j,其值为 1 表示 i、j 对应的顶点间有边(或弧),其值为 0 则表示 i、j 对应的顶点间不存在边(或弧)。
40、显然,(39)的选项符合以上说明。完全图是指图中任意一对顶点间都存在边(或弧),在无向图中,边(ij)与(j,i)是指同一条边,在有向图中,i,j 与j,i是两条不同的弧。若完全无向图具有 10 个顶点,则边的数目为 10*92=45。(2).(40)(分数:2.00)A.10B.20C.45 D.90解析:从下列名词中区分类和对象。其中,(45)全部是类,(46)全部是对象。(分数:4.00)(1).(45)(分数:2.00)A.课程、2013“Web 工程”课程、学生B.课程、学生、教室 C.2013“Web 工程”课程、学生D.2013“Web 工程”课程、B601 教室解析:(2).(
41、46)(分数:2.00)A.课程、B601 教室、学生B.课程、学生、教室C.2013 课程“Web 工程”、学生D.2013 课程“Web 工程“、B601 教室 解析:解析:本题考查面向对象的基础知识。在面向对象的系统中,一个类定义了一组大体上相似的对象,所包含的方法和数据描述了一组对象的共同行为和属性。每个现实世界中的实体都是对象,即对象是基本的运行时实体,每个对象都有自己的属性和操作。类是对象之上的抽象,对象是类的具体化,是类的实例。如课程、学生、教室等是类,而 2013“Web 工程”课程说明具体某年度的一门课,是课程的一个实例,B601 教室是具体的一间教室,是教室的一个实例。编译
42、和解释是实现高级语言翻译的两种基本方式,相对应的程序分别称为编译器和解释器。与编译器相比,解释器(28)。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段;其中,代码优化和(29)并不是每种编译器都必需的。词法分析的作用是识别源程序中的(30)。(分数:6.00)(1).(28)(分数:2.00)A.不参与用户程序的运行控制,用户程序执行的速度更慢B.参与用户程序的运行控制,用户程序执行的速度更慢 C.参与用户程序的运行控制,用户程序执行的速度更快D.不参与用户程序的运行控制,用户程序执行的速度更快解析:(2).(29)(分
43、数:2.00)A.语法分析B.语义分析C.中间代码生成 D.目标代码生成解析:(3).(30)(分数:2.00)A.常量和变量B.数据类型C.记号 D.语句解析:解析:本题考查程序语言基础知识。在实现程序语言的编译和解释两种方式中,编译方式下会生成用户源程序的目标代码,而解释方式下则不产生目标代码。目标代码经链接后产生可执行代码,可执行代码可独立加载运行,与源程序和编译程序都不再相关。而在解释方式下,在解释器的控制下执行源程序或其中间代码,因此相对而言,用户程序执行的速度更慢。中间代码生成和优化不是编译过程中必需的阶段。对用户源程序依次进行了词法分析、语法分析和语义分析后,原则上就可以产生目标
44、代码了,只是目标代码的质量和效率可能不够高。词法分析时编译或解释用户源程序过程中唯一与源程序打交道的阶段,其主要功能是按顺序分析出源程序的记号。假设某公司营销系统有营销点关系 S(营销点,负责人姓名,联系方式)、商品关系 P(商品名,条形码,型号,产地,数量,价格),其中,营销点唯一标识 S 中的每一个元组。每个营销点可以销售多种商品,每一种商品可以由不同的营销点销售。关系 S 和 P 的主键分别为(58),S 和 P 之间的联系类型属于(59)。(分数:10.00)(1).(58)(分数:2.00)A.营销点、商品名B.营销点、条形码 C.负责人姓名、商品名D.负责人姓名、条形码解析:(2)
45、.(59)(分数:2.00)A.1:1B.1:nC.n:1D.n:m 为查询产于“上海”且商品名为“冰箱“或“电视”的型号及价格,并要求价格按降序排列。实现的 SQL 语句如下:SELECT 商品名,型号,价格 FROMPWHERE(60)AND(61)(62); 解析:(3).(60)(分数:2.00)A.商品名=冰箱OR 商品名=电视 B.商品名=冰箱 OR 商品名=电视C.商品名=冰箱AND 商品名=电视D.商品名=冰箱 AND 商品名=电视解析:(4).(61)(分数:2.00)A.条形码=上海B.条形码=上海C.产地=上海D.产地=上海 解析:(5).(62)(分数:2.00)A.G
46、ROUPBY 价格 DESCB.ORDERBY 价格 DESC C.GROUPBY 价格DESCD.ORDERBY 价格DESC解析:解析:本题考查数据库基本概念和 SQL 语言应用。根据题意,营销点唯一标识 S 中的每一个元组,所以营销点可以作为 S 的主键。商品关系 P(商品名,条形码,型号,产地,数量,价格)中的条形码属性可以作为该关系的主键,因为,条形码是由宽度不同、反射率不同的条和空,按照一定的编码规则(码制)编制成的,用以表达一组数字或字母符号信息的图形标识符。利用条形码可以标出商品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等信息,所以,条形码在商
47、品流通、图书管理、邮电管理、银行系统等许多领域都得到了广泛的应用。显然,试题(58)的正确答案是“营销点、条形码”。根据题意“每个营销点可以销售多种商品,每一种商品可以由不同的营销点销售“,故 S 和 P之间的联系类型属于 n:m。查询产地为“上海”的产于“上海”且商品名为“冰箱”或“电视”的型号及价格信息,并要求按价格的降序排列的 SQL 语句为:SELECT 商品名,型号,价格 FROMPWHERE(商品名=冰箱OR 商品名=电视)AND 产地=上海ORDERBY 价格 DESC。46.With respect to program variables,(71) means assigni
48、ng a beginning value to a varible(分数:2.00)A.setupB.startupC.initialization D.pre-compile解析:解析:对程序变量来说,初始化意味着给变量赋初值。47.A (72) translates a computer program written in a humanreadable computer language into a form that a computer Can execute(分数:2.00)A.compiler B.linkerC.assemblerD.application解析:解析:编译程
49、序将易被人读的计算机语言编写的计算机程序翻译成计算机可执行的形式。48.The identification and removal ofbugs in a program is called”(73 )”(分数:2.00)A.checkingB.debugging C.revisionD.verification解析:解析:在程序中找出并排除错误称为排错。49.The process whereby sottware is installed into an operational environment is called”( 74)”(分数:2.00)A.deployment B.developmentC.setupD.1ayup解析:解析:将软件安装在运行环境中的过程称为部署。50.A (75 ) application is made u