《2012上半年程序员考试真题及答案-上午卷.doc》由会员分享,可在线阅读,更多相关《2012上半年程序员考试真题及答案-上午卷.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2012上半年程序员考试真题及答案-上午卷Word 2003中的水平标尺如下图所示,图中和分别表示(1):图中和分别表示(2)。 (1)A.首行缩进和左缩进B.悬挂缩进和左缩进C.首行缩进和右缩进D.悬挂缩进和右缩进(2)A.首行缩进和左缩进B.悬挂缩进和左缩进C.首行缩进和右缩进D.悬挂缩进和右缩进【答案】B C【解析】段落缩进是指段落与左、右页边距的距离。在Word中,编辑窗口中的水平标尺上分别显示了段落的缩进标记,包括首行缩进、悬挂缩进、左缩进和右缩进。各类缩进的 含义如下:首行缩进:指段落的第一行相对于左页边距向右缩进的距离,如首行空两个字符。图中表示首行缩进。 悬挂缩进:指段落的除第
2、一行外,其余各行相对于左边界向右缩进的距离。图中表示悬挂缩进。左缩进:指整个段落的左边界向右缩进的距离。图中表示左缩进。右缩进:指整个段落的右边界向左缩进的距离。图中表示右缩进。在Excel中,设A1单元格的值为23, A2单元格的值为36,若在A3单元格中输入A1-A2,则A3单元格中的内容为(3);若在A3单元格输入公式“=TEXT(A2, Y0.00)”,则A3单元格的值为(4)。(3)A.-13B.13C.#D.A1-A2(4) A.36B.Y36.00C.36.00D.#VALUE【答案】D B【解析】本题考査Excel应用知识。(3)根据题意,在A3单元格中输入A1-A2,意味着在
3、A3单元格中输入的是字符串。(4) 函数TEXT的功能是根据指定格式将数值转.换为文本,公式“=TEXT(A1,Y0.00”)” 转换的结果为Y36.00,因此试题(4)正确的答案为选项B。(5)A.域名B.所使用的协议C.访问的主机D.请求查看的文档名【答案】B【解析】本题考查网络地址方面的基础知识。统一资源地址(URL)用来在Internet上唯一确定位置的地址,通常用来指明所使用的计算机资源位置及查询信息的类型。 示所使用的协议,表示访问的主机和域名,表示域名,index.html 表示请求查看的文档。寄存器寻址方式中的操作数放在(6)中。(6)A.高速缓存B.主存单元C.通用寄存器 D
4、.程序计数器【答案】C【解析】本题考查计算机系统中指令系统的基础知识。指令中的寻址方式就是如何对指令中的地址字段进行解释,以获得操作数的方法或获得程序转移地址的方法。常用的寻址方式有:立即寻址。操作数就包含在指令中。直接寻址。操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址。寄存器寻址。操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。寄存器间接寻址。操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。间接寻址。指令中给出操作数地址的地址。相对寻址。指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移量。变址寻址。操作数地址等于变址
5、寄存器的内容加偏移量。以下关于虚拟存储器的叙述中,正确的是(7)。(7)A.虚拟存储器的容量必须等于主存的容量B.虚拟存储器的容量是高速缓存、主存和辅助的容量之和C.虚拟存储器由应用程序来实现信息调度和管理D.虚拟存储器由硬件和操作系统来实现信息调度和管理【答案】D【解析】本题考查计算机系统中存储器基础知识。虚拟存储器(Virtual Memory)是为了给用户提供更大的随机存取空间而采用的一种存储技术。它将内存与外存(辅存)结合使用,好像有一个容量极大的内存储器,工作速度接近于主存,每位的成本又与辅存相近,在整机形成多层次存储系统。虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构
6、和可用磁盘容量。虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的,其工作过程包括6个步骤:中央处理器将访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即以a为索引查地址变换表,以确定该组信息是否在主存中。若该组号已在主存,则转而执行;否则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将需要的这组信息调入主存。从辅存读出所要的组,并送到主存空闲区,并登记在地址变换表中。从地址变换表读出与逻辑组号a对应的物理组号a。从物理组号a和组内字节地址b得到物理地址。根据物理地址从主存中存取需要的信息。以下关于奇偶校验的叙述中,正确的是(8)。(8)A.
7、奇校验能够检测出信息传输过程中所有出错的信息位B.偶校验能够检测出信息传输过程中所有出错的信息位C.奇校验能够检测出信息传输过程中一位数据出错的情况,但不能检测出是哪 一位出错D.偶校验能够检测出信息传输过程中两位数据出错的情况,但不能检测出是哪两位出错【答案】C【解析】本题考查数据校验基础知识。奇偶校验是一种简单有效的校验方法。这种方法通过在编码中增加一个校验位来使 编码中1的个数为奇数(奇校验)或者偶数(偶校验)。对于奇偶校验,若合法编码中奇数个位发生了错误,也就是编码中的1变成0或0变成1,则编码中1的个数的奇偶性就发生了变化,从而可以发现错误,但不能检测出是哪些位出错。常见的内存由(9
8、)构成,它用电容存储信息且需要周期性地进行刷新。(9)A.DRAMB.SRAMC.EPROMD.Flash ROM【答案】A【解析】本题考査计算机系统中存储器基础知识。DRAM (Dynamic Random Access Memory,动态随机存取存储器)使用电容存储,为了保持数据,必须隔一段时间刷新一次,如果存储单元没有被刷新,存储的信息就会丢失。SRAM (Static Random Access Memory)利用晶体管来存储数据,不需要刷新电路即能保存它内部存储的数据。SRAM具有较高的性能,缺点是集成度较低。相同容量的DRAM内存可以设计为较小的体积,SRAM却需要很大的体积,功耗
9、较大。主存常用DRAM,高速缓存(Cache)常采用SRAM。EEPROM (Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)是一种掉电后数据不丢失的存储芯片。闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)存储器,它是电子可擦除只读存储器(EEPROM)的变种,由于能在字节水平上进行删除和重写而不是整个芯片擦写,闪存比EEPROM的更新速度快。在8位、16位、32位和64位字长的计算机中,(10)位字长计算机的数据运算精度最高;计算机的运算速度通常是指每秒钟所能执行(
10、11)指令的数目,常用MIPS来表示。(10)A.8B.16C.32D.64(11)A.加法B.减法C.乘法D.除法【答案】D A【解析】本题考查考生计算机性能方面的基础知识。(10)字长是计算机运算部件一次能同时处理的二进制数据的位数,字长越长,数据的运算精度也就越高,计算机的处理能力就越强。(11)计算机的运算速度通常是指每秒钟所能执行加法指令数目,常用每秒百万次(MIPS) 来表示。以下文件格式中,(12)属于声音文件格式。(12)A.PDFB.MIDC.XLSD.GIF【答案】B【解析】声音在计算机中存储和处理时,其数据必须以文件的形式进行组织,所选用的文件格式必须得到操作系统和应用软
11、件的支持。如同文本文件一样,在因特网上和各种不同 计算机以及应用软件中使用的声音文件格式也互不相同。MID是目前较成熟的音乐格式, 实际上已经成为一种产业标准,如General MIDI就是最常见的通行标准。作为音乐产业 的数据通信标准,MIDI能指挥各音乐设备的运转,而且具有统一的标准格式,能够模仿原始乐器的各种演奏技巧甚至无法演奏的效果,而且文件的长度非常短。一幅分辨率为320x240的256色未压缩图像所占用的存储空间为(13)KB。(13)A. B.C.D.【答案】A【解析】本题考查多媒体基础知识。扫描生成一幅图像时,实际上就是按一定的图像分辨率和一定的图像深度对模拟图 片或照片进行采
12、样,而生成一幅数字化的图像。图像的图像分辨率越高,图像深度越深,则数字化后的图像效果越逼真,图像数据量越大。如果按照像素点及其深度映射图像数据大小采样,可用下面的公式估算数据量:图像数据量=图像的总像素X图像深度/8 (字节)其中图像的总像素为图像的水平方向像素乘以垂直方向像素数。声音信号采样时,(14)不会影响数字音频数据量的多少。(14)A.采样率B.量化精度C.声道数量D.音量放大倍数【答案】D【解析】本题考查多媒体基础知识。波形声音信息是一个用来表示声音振幅的数据序列,它是通过对模拟声音按一定间隔采样获得的幅度值,再经过量化和编码后得到的便于计算机存储和处理的数据格式。 声音信号数字化
13、后,其数据传输率(每秒位数)与信号在计算机中的实时传输有直接关系,而其总数据量又与计算机的存储空间有直接关系。在Windows系统中,如果希望某用户对系统具有完全控制权限,则应该将该用户添加到(15)用户组中。(15)A.everyoneB.administratorsC.power usersD.users【答案】B【解析】本题考查Windows用户权限方面的知识。在以上4个选项中,用户组默认权限由高到低的顺序是administratorspower users userseveryone,其中只有administrators拥有完全控制权限。以下关于钓鱼网站的说法中,错误的是(16)。(1
14、6)A.钓鱼网站仿冒真实网站的URL地址以及页面内容B.钓鱼网站是一种新型网络病毒C.钓鱼网站的目的主要是窃取访问者的账号和密码D.钓鱼网站可以通过E-mail传播网址【答案】B【解析】本题考查网络安全方面的知识。钓鱼网站是指一类仿冒真实网站的URL地址,通过E-mail传播网址,目的是窃取用户账号、密码等机密信息的网站。M软件公司为确保其软件产品在行业中的技术领先地位,保持其在市场竞争中占据优势,对公司职工进行了保密约束,防止技术秘密外泄。但该公司某开发人员将其所开发软件的程序设计技巧和算法流程通过论文发表。以下说法正确的是(17)。(17)A.M软件公司不享有商业秘密权B.该开发人员享有商
15、业秘密权C.该开发人员的行为侵犯了公司的商业秘密权 D.该开发人员的行为未侵犯公司的商业秘密权【答案】C【解析】软件公司享有商业秘密权。一项商业秘密受到法律保护的依据,必须具备构成商业秘密的三个条件,即不为公众所知悉、具有实用性、采取了保密措施。商业秘密权保护 软件是以软件中是否包含着“商业秘密”为必要条件的。该软件公司组织开发的应用软件具有商业秘密的特征,即包含着他人不能知道的技术秘密;具有实用性,能为软件公 司带来经济效益;对职工进行了保密的约束,在客观上已经采取相应的保密措施。该开发人员的行为侵犯了公司的商业秘密权。反不正当竞争法中罗列的侵犯商业秘密的行为之一是“违反保密义务披露、使用或
16、允许他人使用其掌握的商业秘密”。该开发人员不顾权利人(软件公司)的保密要求,擅自将其所知悉的软件技术秘密通过论文披露,属于侵犯商业秘密权的行为。(18)不是软件商业秘密的基本条件。(18)A.秘密性B.实用性C.保密性D.公开性【答案】D【解析】我国反不正当竞争法中对商业秘密的定义为“不为公众所知悉、能为权利人带来经济利益、具有实用性并经权利人采取保密措施的技术信息和经营信息”。从这一定义中可以看出商业秘密具有秘密性、实用性和保密性三个特征。这些特征表明了商业秘密的基本构成条件。秘密性(未公开性)是指商业秘密事实上未被公众了解(不为公众所知悉)或没有进入公共领域。“公众”的含义是相对的,除负有
17、保密或不得利用该秘密义务的人外,都可以称之为“公众”。狭义的讲,只要被一个“公众”从公开渠道直接知晓,该秘密就意味着公开,也就丧失了 “秘密性”。实用性(价值性)是指商业秘密能给拥有者带来经济利益,或者说商业秘密能为权利人带来商业利益,具有经济上的价值。这种经济利益或实用性,是指该信息具有确定的可应用性(该信息能够直接应用),能够为权利人带来现实的或潜在的经济利益或竞争优势,或者具有积极意义。保密性是指商业秘密的合法拥有者在主观上应有保守商业秘密的意愿,在客观上已 经采取相应的措施进行保密。如果主观上没有保守商业秘密的意愿,或者客观上没有采取相应的保密措施,那么就认为不具有保密性。一项商业秘密
18、受到法律保护的依据是必须具备构成商业秘密的三个条件,即不为公 众所知悉(未公开)、具有实用性、采取了保密措施,当缺少三个条件之一都会造成商业 秘密丧失保护。例如,由于商业秘密权利人采取的保密措施不当,或者第三人的善意取得(如合法购买者通过对软件的反编译得到软件的源代码),都可能导致“秘密性”的丧 失,不再构成商业秘密。只要商业秘密不再是“秘密”,也就无法据此来主张权利。公开性是知识产权保护对象(客体)的一个基本特征,但商业秘密不具有此特征, 它是依靠保密来维持其专有权利的,如果公开将失去法律的保护。若用8位机器码表示十进制整数-127,则其原码表示为(19),补码表示为(20)。(19)A.1
19、0000000B.11111111C.10111111D.11111110(20)A.10000001B.11111111C.10111110D.11111110【答案】B A【解析】(19)如果机器字长为n (即采用n个二进制位表示数据),则最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。正数的补码与其原码相同,负数的补码则等于其原码的数值部分各位取反,末尾再加1。十进制整数-127的二进制表示为-1111111,其原码表示为11111111,补码表示为100000010(20) 如果机器字长为n (即采用n个二进制位表示数据),则最高位是符号位,0表示正号,1表示负
20、号,其余的n-1位表示数值的绝对值。正数的补码与其原码相同,负数的补码则等于其原码的数值部分各位取反,末尾再加1。十进制整数-127的二进制表示为-1111111,其原码表示为11111111,补码表示为10000001.要判断16位二进制整数x的低三位是否全为0,则令其与十六进制数0007进行(21). 运算,然后判断运算结果是否等于0。(21)A.逻辑与B.逻辑或C.逻辑异或D.算术相加【答案】A【解析】本题考查计算机系统中数据运算基础知识。在逻辑运算中,设A和B为两个逻辑变量,当且仅当A和B的取值都为“真”时, A与B的值为“真”;否则A与B的值为“假”。当且仅当A和B的取值都为“假”时
21、, A或B的值为“假”;否则A或B的值为“真”。当且仅当A、B的值不同时,A异或B为“真”,否则A异或B为“假”。对于16位二进制整数X,其与0000000000000111 (即十六进制数0007)进行逻辑 与运算后,结果的高13位都为0,低3位则保留x的低3位,因此当x的低3位全为0时,上述逻辑与运算的结果等于0。在计算机系统中,(22)是指在CPU执行程序的过程中,由于发生了某个事件, 需要CPU暂时中止正在执行的程序,转去处理这一事件,之后又回到原先被中止的程序, 接着中止前的状态继续向下执行。(22)A.调用B.调度C.同步D.中断【答案】D【解析】本题考查计算机系统的中断基础知识。
22、中断是计算机系统中的一个重要概念,它是指在CPU执行程序的过程中,由于某一个外部的或CPU内部事件的发生,使CPU暂时中止正在执行的程序,转去处理这一事件,当事件处理完毕后又回到原先被中止的程序,接着中止前的状态继续向下执行。在Windows系统中,若要查找文件名中第二个字母为b的所有文件,则可在查找对话框中输入(23);若用鼠标左键双击应用程序窗口左上角的图标,则可以(24)该应用程序窗口。(23)A.?b*.*B.?b.*C.*b*.*D.*b.*(24)A.缩小B.放大C.移动D.关闭【答案】A D【解析】本题考查Windows系统基本操作方面的基础知识。(23)Windows系统中有两
23、个通配符?、*,其中?与单个字符匹配,而*与0至多个字符匹配,故若要查找文件名的第二个字母为b的所有文件,则可在查找对话框中输入“?b*.*”。(24)在Windows系统中用鼠标左键双击应用程序窗口左上角的图标,则可以关闭该应用程序窗口。在操作系统的进程管理中,若系统中有8个进程要使用互斥资源R,但最多只允许两个进程进入互斥段(临界区),则信号量S的变化范围是(25);若信号量S的当前值为-4,则表示系统中有(26)个进程正在等待该资源。(25)A.-20B.-21C.-62D.81(26)A.1B.2C.3D.4【答案】C D【解析】(25)本题中,已知有8个进程共享一个互斥资源R,如果最
24、多允许两个进程同时进入互斥段,这意味着系统有两个单位的资源,信号量的初值应设为2。当第一个申请该资源的进程对信号量S执行P操作,信号量S减1等于1,进程可继续执行;当第二个申请该资源的进程对信号量S执行P操作,信号量S减1等于0, 进程可继续执行;当第三个申请该资源的进程对信号量S执行P操作,信号量S减1等于-1,进程由于得不到所需资源而不能继续执行;当第8个申请该资源的进程对信号量S执行P操作,信号量S减1等于-6。可见,信号量的取值范围为-62。(26) 因为信号量S的物理意义为:当S=0,表示资源的可用数;当S0时,其绝对值表示等待资源的进程数。由于S当前值为-4,其绝对值为 4,表示系
25、统中有4个正在等待该资源的进程。在移臂调度算法中,(27)算法可能会随时改变移动臂的运动方向。(27)A.电梯调度算法和最短寻道时间优先算法B.先来先服务算法和最短寻道时间优先算法C.单向扫描算法和最短寻道时间优先算法D.先来先服务算法和电梯调度算法【答案】B【解析】在磁盘移臂调度算法中,先来先服务是根据谁先请求满足谁的请求,而最短寻道时间优先是根据当前磁臂到要请求访问磁道的距离,谁移臂距离短满足谁的请求,故先来 先服务和最短寻道时间优先算法可能会随时改变移动臂的运动方向。若正规式为“(1|01)*0”,则该正规式描述了(28)。(28)A.长度为奇数且仅由字符0和1构成的串B.长度为偶数且仅
26、由字符0和1构成的串 C.以0结尾,0不能连续出现且仅由字符0和1构成的串 D.以1开始,以0结尾且仅由字符0和1构成的串【答案】C【解析】本题考查程序语言基础知识。正规式中的基本运算符号有“丨”、“ ”、“*”,分别称为“或”、“连接”和“闭包”, 连接运算符“ ”可省略。正规式“(1|01)”表示的串是“1”或者“01”,对其进行运算得到的串为空串, 或者“ 1 ”无限次地连接“ 1”或“01 ”,或者“01 ”无限次地连接“ 1”或“01 ”,例如“ 1 ”、 “01”、“11”、“101”、“011”、“0101”、。“(1丨01)*0”则表示这样的0和1构成的串: 以0结尾且0不能连
27、续出现。(29)专门用于翻译汇编语言源程序。(29)A.编译程序B.汇编程序C.解释程序D.链接程序【答案】B【解析】本题考查程序语言翻译基础知识。用某种高级语言或汇编语言编写的程序称为源程序,源程序不能直接在计算机上执行。如果源程序是用汇编语言编写的,则需要一个称为汇编程序的翻译程序将其翻译成 目标程序后才能执行。如果源程序是用某种高级语言编写的,则需要对应的解释程序或 编译程序对其进行翻译,然后在机器上运行。解释程序翻译源程序时不产生与源程序等价的、独立的目标程序,而编译程序则需将源程序翻译成独立的目标程序。链接程序则用于将多个目标程序链接起来,以形成可执行程序程序设计中,不能(30)。(
28、30)A.为常量命名B.为变量命名C.用赋值运算改变变量的值D.用赋值运算改变常量的值【答案】D【解析】本题考查程序语言基础知识。在程序执行过程中,常量的值不能被修改,而变量的值则可以修改。赋值运算是程序执行过程中频繁使用的一种运算,用于改变数据对象的值。进行程序设计时,可以为常量和变量命名,变量的值常由赋值运算修改,而常量的值则不能通过赋值运算修改。后缀表达式“ab+cd-*”与表达式(31)对应。(31)A.(a+b)*(c-d)B.a+b*c-dC.a+b*(c-d)D.(a+b)*c-d【答案】A【解析】本题考查程序语言基础知识。后缀表达式(也称为逆波兰式)是波兰逻辑学家卢卡西维奇(L
29、ukasiewicz)发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如把a+b写成 ab+。这种表示法的优点是根据运算对象和算符的出现次序进行计算,不需要使用括号, 也便于用栈实现求值。后缀表达式“ab+cd-*”中的运算是:第一步进行a+b运算,第二步进行c-d运算, 最后进行乘(“*”)运算,所以表示为常见形式就是“(a+b)*(c-d)”。“a+b*c-d” 的后缀式为 “abc*+d-”。“a+b*(oKi)” 的后缀式为 “abcd-*+”。“(a+b)*cwl” 的后缀式为 “ab+c*d-”。函数f()、g()的定义如下所示,已知调用f时传递给形参x的值是
30、1。在函数f中, 若以引用调用(call by reference)的方式调用g,则函数f的返回值为(32):若以值 调用(call by value)的方式调用g,则函数f的返回值为(33)。(32)A.10B.11C.20D.30(33)A.10B.11C.20D.30【答案】D C【解析】本题考查程序语言基础知识。(32)若实现函数调用时实参向形式参数传递相应类型的值,则称为是传值调用。这种方式下形式参数不能向实参传递信息。引用调用的本质是将实参的地址传给形参,函数中 对形参的访问和修改实际上就是针对相应实际参数变量所作的访问和改变。在函数f中,先通过“a = x-l”将a的值设置为0。
31、函数调用g(a)执行时,在引用调用方式下,g函数体中的b就是f中a的引用,即访问b也就是访问f中的a,修改b就 是修改f中的a,因此“b=b+10”将f中a的值改为了 10,语句“return 2*b;”则使f中的x得到的值为20,这样,f中的语句“return a+ x;”就会返回30。(33)在值调用方式下,g函数体中的b与f中的a是相互独立的,它们之间唯一的联系 就是函数调用g(a)执行时将a的值(即0)传给了b,因此运算“b=b+10”将b的值改为10,语句“return2*b;”则使f中的x得到的值为20,此时a的值仍然为0,因此f中的语句“retuma + x;”返回的值为20。对
32、于高级语言源程序,若(34),则可断定程序中出现语法错误。(34)A.编译时发现所定义的变量未赋初值B.编译时发现表达式中的括号不匹配C.运行时出现数组下标越界的情况D.运行时出现除数为0的情况【答案】B【解析】本题考查程序语言基础知识。由用户编写的源程序不可避免地会有一些错误,这些错误大致可分为静态错误和动态错误两类。动态错误也称为动态语义错误,它们发生在程序运行时,例如变量取零时作除数、引用数组元素下标越界等。静态错误是指编译时所发现的程序错误,可分为语法错误和静态语义错误,如单词拼写错误、标点符号错、表达式中缺少操作数、括号不 匹配等有关语言结构上的错误称为语法错误;而语义分析时发现的运
33、算符与运算对象类型不合法等错误属于静态语义错误。对于有语法错误的程序,在编译阶段就会报错。设有二维数组al.m,l.n(2ml),则元素a2,2的存储 位置相对于数组空间首地址的偏移量为(35)。(35)A.(n+l)*kB.n*k+lC.(m+l)*kD.m*k+l【答案】A【解析】本题考查数据结构基础知识。二维数组al.m,l.n如下所示。 当元素以行为主序存放时,a2,2之前的元素有al,l,al,2,al,n,a2,l, 因此在数组a的存储空间中,a2,2的存储地址就等于al,l的存储地址+(n+l)*k,即a2,2 的存储位置相对于数组空间首地址的偏移量为(n+l)*k。某研究机构有
34、n名研究人员(n2),其每个人都与一名以上的同事有过研究项目合作关系,那么用(36)结构表示该机构研究人员间的项目合作关系较为合适。(36)A.树B.图C.桟D.队列【答案】B【解析】本题考查数据结构应用知识。栈和队列都是线性结构,其逻辑关系为一对一,即除了唯一的开始结点和唯一的终止结点外,其余每个结点有唯一的直接前驱和唯一的直接后继,结点间是线性关系。树结构中结点间的逻辑关系为一对多,即每个结点有多个直接后继(孩子结点), 每个结点(除根结点之外)有唯一的直接前驱(父结点),结点间是严格的层次关系。在图结构中,任意两个结点之间都可能有直接的关系,所以图中一个结点的直接前 驱和直接后继的数目是
35、没有限制的。对应到本题,任意两名研究人员之间都可能有合作关系,因此用图结构表示该机构研究人员间的项目合作关系最为合适。以下关于字符串的叙述中,正确的是(37)。(37)A.包含任意个空格字符的字符串称为空串B.仅包含一个空格字符的字符串称为空串C.字符串的长度是指串中所含字符的个数D.字符串的长度是指串中所含非空格字符的个数【答案】C【解析】本题考査数据结构基础知识。字符串是仅由字符构成的有限序列,串长是指字符串中的字符个数,空串是长度为0的串,即空串不包含任何字符。空格串是由一个或多个空格组成的串。空格串不是空串。设循环队列Q的定义中有rear和size两个域变量,其中,rear指示队尾元素
36、之后的位置,size表示队列的长度,如图所示(队列长度为3,队头元素为X)。设队列的存储空间容量为M,则队头元素的位置为(38).(38)A.(Q.rear-Q.size+1)B.(Q.rear-Q.size+1 )%MC.(Q.rear-Q.size)D.(Q.rear-Q.size+M)%M【答案】D【解析】本题考查数据结构基础知识。队列是一种先进先出(FIFO)的线性表,它只允许在表的一端插入元素,而在表的另一端删除元素。在队列中,允许插入元素的一端称为队尾(rear),允许删除元素的一 端称为队头(front)。将元素存储在一维数组中的队列假想成一个环状结构,称为循环队列。根据题中的图
37、示,Q.size的合法取值为0M,Q.rear的合法取值为0M-1,显然, 队头元素的合法位置应该为0M-1,因此通过整除M取余运算(即M)可以确保这 一点。当Q.rear-Q.size0时,队头元素的位置就是Q.rear-Q.size,其值一定在0M-1之间;当Q.rear-Q.size0)的二叉树,其高度h (40)。(40)A.一定大于nB.一定小于nC.一定小于log2n D.一定大于log2n【答案】D【解析】本题考查数据结构基础知识。对于有n(n0)个结点的二叉树,若这n个结点分布在n层上,则该二叉树的高度为n,若结点尽可能分布在低层上,即只有在第k层布满结点后,才在第k+1层分布
38、结点,则高度为log2n+ l,因此任意一个结点数为n (n0)的二叉树,其高度都一定大于log2n。(41)最不适用于处理序列已经正序有序的情况。(41)A.冒泡排序B.快速排序C.归并排序D.直接插入排序【答案】B【解析】本题考查排序算法基础知识。分析冒泡排序、快速排序、归并排序和直接插入排序的过程可知,在待排序列已经有序的情况下,快速排序的效率最低。以下关于顺序查找和二分查找的叙述中,正确的是(42)。(42)A.顺序查找方法只适用于采用顺序存储结构的查找表 B.顺序查找方法只适用于采用链表存储结构的查找表 C.二分查找只适用于采用顺序存储结构的査找表D.二分査找只适用于采用循环链表存储
39、结构的查找表【答案】C【解析】本题考查查找运算基础知识。顺序查找是从表中的一端开始,逐个将记录的关键字和给定值进行比较,若找到一个记录的关键字与给定值相等,则查找成功;若整个表中的记录均比较过,仍未找到关键字等于给定值的记录,则查找失败。二分查找过程是首先令处于中间位置记录的关键字和给定值比较,若相等,则查找成功;若不等,则缩小范围,以中间位置为界,下一步到前半区或后半区继续进行折半査找,直至新的查找区间中间位置记录的关键字等于给定值或者查找区间没有元素时(表 明査找不成功)为止。因此,二分查找要求查找表有序且采用顺序存储结构,而顺序查找方法在顺序存储结构和链表上都适用。以下关于图的存储结构的
40、叙述中,正确的是(43)(43)A.有向图的邻接矩阵一定是对称的B.有向图的邻接矩阵一定是不对称的C.无向图的邻接矩阵一定是对称的D.无向图的邻接矩阵一定是不对称的【答案】C【解析】本题考查数据结构基础知识。图的基本存储结构有邻接矩阵表示法和邻接链表表示法两种。图的邻接矩阵表示利用一个矩阵来表示图中顶点之间的关系。对于具有n个顶点的图G=(V,E),其邻接矩阵是一个n阶方阵,且满足:在无向图中,Vi到Vj、的边同时也是Vj到Vi的边;而在有向图中,Vi到Vj有弧不代表Vj到Vi有弧,因此无向图的邻接矩阵一定是对称的,有向图则不一定。在面向对象系统中,对象是基本的运行时实体,它(44)(44)A
41、.只能包括数据(属性)B.只能包括操作(行为) C.把属性和行为封装为一个整体D.必须具有显式定义的对象名【答案】C【解析】在面向对象系统中,对象是基本的运行时实体,它既包括数据(属性),也包括作用于数据的操作(行为),一个对象把属性和行为封装为一个整体。通常可由对象名、属性和行为三部分组成,但并非必须显式定义对象名。在统一建模语言(UML)中,(45)用于描述一组对象类、接口、协作以及它们之间的关系。其中关联的多重度是指(46)。(45)A.对象图B.类图C.用例图D.通信图 (46) A.一个类中能被另一个类调用的方法个数 B.一个类的某个方法被另一个类调用的次数C.一个类的实例能够与另一
42、个类的多少个实例相关联D.两个类所具有的相同的方法数和属性数【答案】B C【解析】本题考查统一建模语言(UML)的基本知识。(45)UML2.0中提供了多种图形,从不同方面描述系统。对象图展现了一组对象及其之间的关系,描述了在类图中所建立事物的实例的静态快照。类图展现了一组对象、接口、协作和它们之间的关联关系,还可以在类图中图示关联中的数量关系,即多重度,用以说明数量或数量范围,表示有多少个实例(对象)能被连接起来,即一个类的实例能够 与另一个类的多少个实例相关联。用例图展现了一组用例,参与者以及它们之间的关系, 描述了谁将使用系统以及用户期望以什么方式与系统交互。通信图强调收发消息的对象的结
43、构组织。(46)类图展现了一组对象、接口、 协作和它们之间的关联关系,还可以在类图中图示关联中的数量关系,即多重度,用以说明数量或数量范围,表示有多少个实例(对象)能被连接起来,即一个类的实例能够 与另一个类的多少个实例相关联。用例图展现了一组用例、参与者以及它们之间的关系, 描述了谁将使用系统以及用户期望以什么方式与系统交互。通信图强调收发消息的对象的结构组织。在有些程序设计语言中,一个给定的过程调用和响应调用需执行的代码的结合是在编译时进行的,这种绑定称为(47)。(47)A.静态绑定B.动态绑定C.过载绑定D.强制绑定【答案】A【解析】本题考查面向对象的基本知识。在面向对象系统中,绑定是
44、一个把过程调用和响应调用需要执行的代码加以结合的过程。在有些程序设计语言中,绑定是在编译时进行的,叫做静态绑定。在有些程序设计语言中,绑定则是在运行时进行的,即一个给定的过程调用和响应调用需执行的代码 的结合直到调用发生时才进行。以下关于类继承的说法中,错误的是(48)。(48)A.通过类继承,在程序中可以复用基类的代码B.在继承类中可以增加新代码C.在继承类中不能定义与被继承类(基类)中的方法同名的方法D.在继承类中可以覆盖被继承类(基类)中的方法【答案】C【解析】本题考查面向对象的基本知识。继承是面向对象技术的核心概念之一,它是父类和子类之间共享数据和方法的机制,是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在