image

编辑人: 人逝花落空

calendar2025-06-01

message9

visits721

2017年11月 程序员 上午题答案及解析

一、单选题

1、当一个企业的信息系统建成并正式投入运行后,该企业信息系统管理工作的主要任务是( )。


A、对该系统进行运行管理和维护

B、修改完善该系统的功能

C、继续研制还没有完成前功能

D、对该系统提出新的业务需求和功能需求  

解析:

当一个企业的信息系统建成并正式投入运行后,主要任务是对该系统进行运行管理和维护,以确保系统的稳定运行和数据的准确性。因此,选项A是正确的。其他选项如修改完善功能、继续研制未完成的系统功能或对系统提出新的业务需求和功能需求并不是主要任务,因为系统已经建成并投入运行,这些任务应该在系统建设阶段完成。

2、通常企业在信息化建设时需要投入大量的资金,成本支出项目多且数额大。在企业信息化建设的成本支出项目中,系统切换费用属于( )。   


A、设施费用 

B、 设备购置费用  

C、开发费用

D、系统运行维护费用  

解析:

在企业信息化建设过程中,随着技术的更新换代,可能需要将旧系统替换为功能更强大的新系统,这一过程中产生的费用被称为系统切换费用。根据题目给出的选项,系统切换费用属于系统运行维护费用。因此,正确答案为D。

3、在Excel中,设单元格F1的值为38,若在单元格F2中输入公式“= IF(AND(38)  


A、输入正确

B、输入错误

C、TRUE

D、FALSE 

解析:

在Excel中,单元格F1的值为38,而公式"= IF(AND(38)"不完整且没有明确的条件表达式,因此输入是错误的。由于缺少具体的条件判断,公式无法正确执行,所以答案为输入错误(B)。

4、在Excel中,设单元格F1的值为56.323,若在单元格F2中输入公式“=TEXT(F1,” ¥0.00”)”,则单元格F2值为( )。


A、¥56

B、¥56.323  

C、¥56.32

D、¥56.00 

解析:

在Excel中,TEXT函数用于将数字格式化为文本,并可以按照指定的格式显示。在这个例子中,单元格F1的值为56.323。在单元格F2中输入的公式"=TEXT(F1," ¥0.00")“会将F1的值格式化为保留两位小数的货币格式,因此单元格F2的值会显示为”¥56.32"。所以正确答案是C。

5、采用IE浏览器访问清华大学校园网主页时,正确的地址格式为( )。


A、Smtp://www.tsinghua.edu.cn

B、http://www.tsinghua.edu.cn   

C、 Smtp:\\www.tsinghua.edu.cn

D、 http\\www.tsinghua.edu.cn  

解析:

在访问网站时,通常使用http或https协议,因此选项B “http://www.tsinghua.edu.cn” 是正确的地址格式。其他选项中,“Smtp” 是用于发送邮件的协议,并不用于访问网页,而且网址中的斜杠数量和格式也不正确,所以排除其他选项。

6、CPU中设置了多个寄存器,其中( )用于保存待执行指令的地址。   


A、通用寄存器

B、程序计数器  

C、指令寄存器

D、地址寄存器

解析:

程序计数器(Program Counter)是用于保存待执行指令的地址的寄存器。它用于控制程序的执行流程,实现指令的顺序执行和跳转。在CPU中,程序计数器指向下一条要执行的指令的地址。因此,正确答案是B。

7、在计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA等。其中,采用( )方式时,不需要CPU控制数据的传输过程。   


A、中断

B、程序查询  

C、DMA

D、无条件传送

解析:

在计算机系统中,DMA(直接内存访问)方式是一种不需要CPU控制数据传输过程的输入/输出控制方式。在DMA方式中,数据的传输是由DMA控制器直接控制的,这样CPU就可以同时进行其他任务,而不需要等待数据的传输完成。因此,选项C是正确的。

8、以下存储器中,需要周期性刷新的是( )。  


A、DRAM 

B、SRAM

C、FLASH

D、EEPROM

解析:

DRAM(动态随机存取存储器)需要周期性刷新来维持信息不丢失,因为DRAM的信息会随时间逐渐消失。而SRAM(静态随机存取存储器)则不需要刷新,信息在断电情况下也能保持不丢失。FLASH和EEPROM都是非易失性存储器,也不需要周期性刷新。因此,需要周期性刷新的存储器是DRAM。

9、CPU是一块超大规模集成电路,其主要部件有( )。


A、运算器、控制器和系统总线

B、运算器、寄存器组和内存储器   

C、控制器、存储器和寄存器组

D、运算器、控制器和寄存器组  

解析:

CPU是一块超大规模集成电路,其主要部件包括运算器、控制器和寄存器组。运算器负责执行算术和逻辑运算,控制器负责控制程序的执行,寄存器组用于存储数据和程序指令。因此,选项D正确。

10、显示器的( )显示的图像越清晰,质量也越高。


A、刷新频率越高

B、分辨率越高   

C、对比度越大

D、亮度越低 

解析:

显示器的分辨率越高,显示的图像越清晰,质量也越高。分辨率是指显示器上水平和垂直方向的像素数量,它决定了显示器能够显示的图像细节和质量。其他选项中,刷新频率主要影响图像的稳定性,对比度主要影响图像的明暗细节表现,而亮度则影响图像的明亮程度。因此,选项B是正确的。

11、在字长为16位、32位、64位或128位的计算机中,字长为( )位的计算机数据运算精度最高。   


A、16

B、32

C、64

D、128

解析:

本题考查计算机的字长概念及其对数据运算精度的影响。字长是计算机运算部件一次能同时处理的二进制数据的位数,字长越长,数据的运算精度也就越高,计算机的处理能力就越强。因此,在字长为16位、32位、64位或128位的计算机中,字长为128位的计算机数据运算精度最高。

12、以下文件格式中,( )属于声音文件格式。  


A、XLS

B、AVI 

C、 WAV

D、GIF  

解析:

WAV是常见的音频文件格式之一,用于存储声音数据。其他选项中,XLS是Excel文件扩展名,AVI是视频文件格式,GIF是图像文件格式。因此,属于声音文件格式的选项是WAV。

13、对声音信号采样时,( )参数不会直接影响数字音频数据量的大小。  


A、采样率

B、量化精度  

C、声道数量

D、音量放大倍数  

解析:

在声音信号的采样过程中,影响数字音频数据量大小的主要参数是采样率、量化精度和声道数量。采样率决定了每秒钟对声音信号的采样次数,量化精度决定了每次采样的数据位数,而声道数量则决定了数据量的通道数。因此,选项A、B和C中的参数都会直接影响数字音频数据量的大小。而音量放大倍数并不直接影响数字音频数据量的大小,它只是在声音播放时对已经采样和量化的数据进行处理,因此选项D是正确的。

14、2017年5月,全球的十几万电脑受到勒索病毒WannaCry的攻击,电脑被感染后文件会被加密锁定,从而勒索钱财。在该病毒中,黑客利用(14)实现攻击,并要求以(15)方式支付。  


A、Windows漏洞

B、用户弱口令

C、缓冲区溢出

D、特定网站

解析:

WannaCry勒索病毒是利用微软“视窗”系统的漏洞进行传播的,具体来说,它是利用了NSA泄露的危险漏洞“EternalBlue”(永恒之蓝)进行传播。因此,选项A“Windows漏洞”是正确的。而该病毒并不涉及用户弱口令、缓冲区溢出或特定网站的利用,所以选项B、C、D都是错误的。

15、2017年5月,全球的十几万电脑受到勒索病毒WannaCry的攻击,电脑被感染后文件会被加密锁定,从而勒索钱财。在该病毒中,黑客利用(14)实现攻击,并要求以(15)方式支付。   


A、现金

B、 微信

C、支付宝

D、 比特币

解析:

:根据题目描述,WannaCry勒索病毒要求支付的方式是比特币。因此,正确答案是D,即比特币。

16、以下关于防火墙功能特性的说法中,错误的是( )。   


A、 控制进出网络的数据包和数据流向

B、提供流量信息的日志和审计  

C、隐藏内部IP以及网络结构细节

D、提供漏洞扫描功能

解析:

防火墙的主要功能包括控制进出网络的数据包和数据流向、提供流量信息的日志和审计等。然而,防火墙并不能提供漏洞扫描功能,这一选项是错误的。因此,答案是D。

17、计算机软件著作权的保护对象是指( )。   


A、软件开发思想与设计方案  

B、计算机程序及其文档   

C、计算机程序及算法

D、  软件著作权权利人

解析:

计算机软件著作权的保护对象是指计算机程序及其文档。这是国际上通行的做法,也是我国著作权法所保护的范围。因此,选项B是正确答案。其他选项如软件开发思想与设计方案、计算机程序及算法、软件著作权权利人等虽然与软件著作权有关,但不是其保护对象。

18、某软件公司项目组的程序员在程序编写完成后均按公司规定撰写文档,并上交公司存档。此情形下,该软件文档著作权应由( )享有。   


A、程序员

B、公司与项目组共同   

C、公司

D、软件著作权权利人

解析:

根据著作权法的规定,软件文档著作权应当由软件的开发单位享有,即公司享有。在这个情境中,程序员按照公司规定撰写文档并上交公司存档,因此软件文档著作权应该归属于公司。所以正确答案是C。

19、将二进制序列1011011表示为十六进制,为( )。   


A、 B3 

B、5B

C、BB

D、 3B

解析:

二进制序列转换为十六进制数时,每四位二进制对应一位十六进制数。对于给定的二进制序列1011011,从右到左每四位进行划分,得到两个四位的二进制数:101和011。这两个二进制数分别转换为十六进制数,得到结果为5和B(即二进制数101对应十进制数5,二进制数01对应十六进制数B)。因此,二进制序列1011011对应的十六进制数是5B。

20、若机器字长为8 位,则可表示出十进制整数-128的编码是( )。  


A、原码

B、反码

C、补码

D、ASCⅡ码 

解析:

对于机器字长为8位的情况,要表示出十进制整数-128,应该使用补码。在原码和反码表示法中,无法表示-128。而在补码表示法中,可以通过特定的编码方式来表示-128。因此,正确答案是补码。

21、采用模2除法进行校验码计算的是( )。


A、 CRC码

B、 ASCⅡ码

C、BCD码

D、海明码

解析:

CRC码采用模2除法进行校验码计算。模2除法与算术除法类似,但每一位除的结果不影响其他位,即不向上一位借位,实际上就是异或。因此,在循环冗余校验码(CRC)的计算中应用到模2除法。故A选项正确。

22、以下关于海明码的叙述中,正确的是()。

A、校验位随机分布在数据位中

B、所有数据位之后紧跟所有校验位

C、所有校验位之后紧跟所有数据位

D、每个数据位由确定位置关系的校验位来校验

解析:

海明码是一种通过添加校验位来实现前向纠错的数据编码方式。在海明码中,每个数据位不仅仅由一个校验位来校验,而是由确定位置关系的校验位来共同校验。这种编码方式确保了数据在传输过程中的准确性。因此,关于海明码的叙述中正确的是“每个数据位由确定位置关系的校验位来校验”。

23、计算机加电自检后,引导程序首先装入的是( ),否则,计算机不能做任何事情。 


A、Office系列软件

B、应用软件

C、操作系统

D、 编译程序 

解析:

在计算机启动过程中,加电自检后,首先需要引导程序装入的是操作系统。操作系统是计算机上的一个基础软件,它在计算机硬件和其他软件之间起到桥梁作用,为其他软件提供了一个平台。没有操作系统,计算机无法执行任何其他任务。因此,正确答案是C。

24、在Windows系统中,扩展名( )表示该文件是批处理文件。


A、com

B、sys

C、 html

D、bat 

解析:

在Windows系统中,扩展名“.bat”表示该文件是批处理文件。其他选项中,“.com”表示DOS可执行命令文件,“.sys”表示系统文件,“.html”表示网页文件。因此,正确答案为D。

25、当一个双处理器的计算机系统中同时存在3个并发进程时,同一时刻允许占用处理器的进程数( )。  


A、至少为2个

B、最多为2个

C、至少为3个

D、最多为3个

解析:

在一个双处理器的计算机系统中,即使同时存在3个并发进程,由于只有2个处理器,所以同一时刻允许占用处理器的进程数最多为2个。因此,正确答案是B。

26、假设系统有n(n≥5)个并发进程共享资源R,且资源R的可用数为2。若采用PV操作,则相应的信号量S的取值范围应为( )。   


A、-1~n-1

B、-5~2

C、-(n-1)~1 

D、 -(n-2)~2 

解析:

信号量S用于控制并发进程对资源R的访问。初始时,资源R的可用数量为2,因此信号量S的初始值应为2,表示有2个资源可供使用。当有进程请求资源时,会对信号量S进行P操作(即S减1),当所有资源都被占用时,信号量S的值会达到最小值。当有进程释放资源时,会对信号量S进行V操作(即S加1)。考虑到有n个并发进程共享资源R,当所有进程都在等待资源时,信号量S的值会降至最低,即当前可用资源数减去进程数,也就是2-n。因此,信号量S的取值范围应为-(n-2)~2。所以答案是D选项。

27、在磁盘移臂调度算法中,( )算法在返程时不响应进程访问磁盘的请求。


A、先来先服务

B、电梯调度

C、 单向扫描

D、 最短寻道时间优先  

解析:

在磁盘移臂调度算法中,单向扫描算法(选项C)在返程时不响应进程访问磁盘的请求。这是因为单向扫描算法在移动臂移动过程中,只有在移动方向上的请求会被响应,当移动臂改变方向返回起始位置时,沿途的请求不会被响应。因此,单向扫描算法符合题目描述的特点。

28、适合开发设备驱动程序的编程语言是( )。


A、C/C++

B、 Visual Basic 

C、 Python

D、Java 

解析:

适合开发设备驱动程序的编程语言是C语言。因为C语言是一种执行效率很高的语言,能对硬件进行操作的高级语言,适用于编写操作系统和驱动程序。而C++虽然功能强大,但相对较难学,执行效率也不如C语言高;Java易移植但执行效率慢,不太适合开发设备驱动程序。因此,正确答案是A。

29、编译和解释是实现高级程序设计语言的两种方式,其区别主要在于( )。   


A、是否进行语法分析

B、是否生成中间代码文件 

C、是否进行语义分析

D、是否生成目标程序文件.  

解析:

编译和解释是实现高级程序设计语言的两种方式,它们之间的主要区别在于是否生成目标程序文件。在编译方式下,源代码会被转换成目标代码(即机器语言),并生成目标程序文件,然后可以独立运行。而在解释方式下,程序不需要生成目标代码文件,而是在解释器的控制下直接执行源代码或中间代码。因此,正确答案是D。

30、若程序中定义了三个函数f1、f2和f3,并且函数f1执行时会调用f2、函数f2执行时会调用f3,那么正常情况下,( )。   


A、f3执行结束后返回f2继续执行,f2结束后返回f1继续执行   

B、f3执行结束后返回f1继续执行,f1结束后返回f2继续执行   

C、 f2执行结束后返回f3继续执行,f3结束后返回f1继续执行   

D、f2执行结束后返回f1继续执行,f1结束后返回f3继续执行  

解析:

在程序中的函数调用遵循先入后出的原则,也称为栈原则。当一个函数被调用时,它会推入一个栈中,当该函数执行完毕返回时,会从栈顶弹出。根据题目描述,函数f1执行时会调用f2,函数f2执行时会调用f3。因此,当f3执行结束后,会返回f2继续执行,然后f2结束后返回f1继续执行。所以,正确答案是A。

31、下图所示的非确定有限自动机 (S0为初态,S3为终态)可识别字符串( )。  

A、 bbaa

B、aabb 

C、abab

D、 baba

解析:

根据非确定有限自动机的定义,该自动机可以识别所有从初态S0开始,经过一系列转移,最终到达终态S3的字符串。观察选项中的字符串,只有选项B “aabb” 可以从初态S0开始,经过状态转移,最终到达终态S3。因此,正确答案是B。

32、表示"以字符a开头且仅由字符 a、b 构成的所有字符串"的正规式为( )。 


A、a*b*

B、 (alb)*a

C、a(alb)*

D、(ab)*

解析:

表示以字符a开头且仅由字符a、b构成的所有字符串的正规式,需要满足两个条件:以a开头,且只能包含a和b两种字符。分析各个选项:

A选项:a*b* 表示任意数量的a和b的组合,不一定满足以a开头的条件,所以不符合题意。

B选项:(alb)*a 表示以ala、alb结尾的字符串后跟一个a,这样的字符串并不符合题目要求的所有可能的字符串(如aa、b等),所以不符合题意。

C选项:a(alb)* 表示以a开头,后面跟着任意数量的a、b或ala、alb等组合,满足题目要求。

D选项:(ab)* 表示任意数量的ab组合,这样的字符串并不以a开头,所以不符合题意。

因此,正确答案是C选项。

33、在单入口单出口的do...while循环结构( )。  


A、循环体的执行次数等于循环条件的判断次数  

B、循环体的执行次数多于循环条件的判断次数   

C、循环体的执行次数少于循环条件的判断次数   

D、 循环体的执行次数与循环条件的判断次数无关  

解析:

在单入口单出口的do…while循环结构中,循环体至少会执行一次,然后根据循环条件进行判定,如果条件满足,循环体继续执行,直到条件不满足为止。因此,循环体的执行次数等于循环条件的判断次数。

34、将源程序中多处使用的同一个常数定义为常量并命名,( )。  


A、提高了编译效率

B、 缩短了源程序长度 

C、提高了源程序的可维护性

D、提高了程序的运行效率 

解析:

将源程序中多处使用的同一个常数定义为常量并命名,主要目的是为了提高源程序的可维护性。这样做可以简化对此常数的修改操作,只需修改一处即可,同时提高程序的可读性,使得程序更易于理解和维护。因此,正确答案是C。

35、递归函数执行时,需要( )来提供支持。 


A、 栈

B、队列

C、有向图

D、二叉树

解析:

递归函数执行时,需要用到栈来存储每一次递归过程中的数据信息和返回地址。在递归调用时,每次进入新的递归层级,函数的局部变量、参数值和返回地址会被压入栈中。当递归返回时,位于栈顶的数据会被弹出,以恢复调用层次中的状态。因此,栈为递归函数的执行提供了重要的支持。选项A正确,选项B、C、D与递归函数的执行没有直接关系。

36、函数main()、f()的定义如下所示。调用函数f()时,第一个参数采用传值 (call by value) 方式,第二个参数采用传引用 (call by reference )方式,main()执行后输出的值为( )。

A、2

B、4

C、5

D、8

解析:

根据题目描述,函数f()的第一个参数采用传值方式,第二个参数采用传引用方式。在函数f()中,参数a的初始值为2,通过引用调用,函数内部的修改会影响到外部变量的值。在函数f()执行过程中,对变量a进行累加操作,使其值变为8。由于传引用的特性,函数外部变量x的值也会随之改变。因此,在main()函数中调用f(),然后输出x的值,结果为8。所以正确答案为D。

37、对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈的第一元素为d,则合法的出栈序列为( )。 


A、 d c b a

B、 d a b c

C、 d c a b

D、 d b c a  

解析:

对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各一次。已知出栈的第一元素为d,那么d必定是最后一个进栈的。因此,合法的入栈序列只能是d c b a。因此,合法的出栈序列为d c b a。所以答案是A。

38、对关键码序列(9,12,15,20,24,29,56,69,87)进行二分查找(折半查找),若要查找关键码15;则需依次与( )进行比较。


A、87、29、15

B、9、12、15   

C、24、12、15

D、24、20、15 

解析:

二分查找的过程是,首先选取中间元素与要查找的关键码进行比较,如果要查找的关键码小于中间元素,则在左半边继续查找;如果要查找的关键码大于中间元素,则在右半边继续查找。在这个问题中,关键码序列的中间元素是24,所以要查找关键码15,需要先与24进行比较。由于15小于24,所以在左半边继续查找,左半边序列的中间元素是12,再与12进行比较。由于15大于12,所以在右半边查找,右半边只有一个元素15,所以需依次与24、12、15进行比较。因此,正确答案是C。

39、对关键码序列(12,24,15,56,20,87,69,9)采用散列法进行存储和查找,并设散列函数为H(Key)=Key%11(%表示整除取余运算)。采用线性探查法(顺序地探查可用存储单元)解决冲突所构造的散列表为( )。  

A.        

B. 

C.


D. 

A、A

B、B

C、C

D、D

解析:

根据题目给出的散列函数H(Key)=Key%11,我们需要对关键码序列中的每个元素进行取余运算,然后将结果作为存储位置。如果出现冲突(即某个位置已经被占用),则采用线性探查法(顺序地探查可用存储单元)来解决。根据这个原则,我们可以构造出散列表。具体过程如下:

  1. 对关键码序列中的第一个元素12进行取余运算,得到H(12)=12%11=1,所以该元素应存储在位置1。
  2. 对第二个元素24进行取余运算,得到H(24)=24%11=2,所以该元素应存储在位置2。
  3. 以此类推,对后续元素进行取余运算并存储。

根据这个过程,我们可以得出正确的散列表应为选项B所示。

40、对下图所示的二叉树进行中序遍历(左子树,根结点,右子树)的结果是( )。


A、5 2 3 4 6 1

B、2 5 3 4 1 6   

C、 2 4 6 5 3 1

D、2 5 4 3 6 1  

解析:

:对于给出的二叉树,中序遍历的顺序是先遍历左子树,然后访问根节点,最后遍历右子树。

根据这个规则,中序遍历的序列应该是:

左子树(根节点为2) -> 根节点(5) -> 右子树(先节点3,然后节点4和节点6)。

所以,中序遍历的结果是:2 5 4 3 6。与选项D匹配。

41、对于下面的有向图,其邻接矩阵是一个(41)的矩阵, 采用邻接链表存储时,

顶点0的表结点个数为 2,顶点3的表结点个数为0,顶点1的表结点个数为(42)。

A、3X4

B、4X3

C、6X6

D、7X7  

解析:

根据给出的有向图,该图的顶点数为4(标记为0、1、2、3),因此邻接矩阵应为4x4的矩阵。由于顶点数为4,邻接链表存储时每个顶点都有一个对应的表结点数组,包括顶点本身以及与之相邻的顶点信息。根据题目描述,顶点0的表结点个数为2,顶点3的表结点个数为0,而顶点1的表结点个数未给出。但由于邻接链表存储结构的特点,每个顶点的表结点个数至少为1(包括该顶点自身),因此顶点1的表结点个数至少为1。因此,邻接链表中的表结点总数至少为4(每个顶点的表结点个数之和)。由于题目没有给出具体的邻接关系细节,因此不能确定顶点2的表结点个数。所以,最合适的答案是选择D,即邻接矩阵是7x7的矩阵,其中包含了所有顶点的信息以及可能的邻接关系信息。

42、对于下面的有向图,其邻接矩阵是一个(41)的矩阵, 采用邻接链表存储时,

顶点0的表结点个数为 2,顶点3的表结点个数为0,顶点1的表结点个数为(42)。     

 


A、0

B、1

C、2

D、3

解析:

根据题目给出的有向图,我们可以观察到:

  1. 邻接矩阵是一个二维数组,其大小由图中的顶点数量决定。在这个例子中,图有4个顶点,所以邻接矩阵是一个4x4的矩阵。
  2. 采用邻接链表存储时,每个顶点的表结点个数表示与该顶点直接关联的边的数量。
  3. 根据题目描述,顶点0的表结点个数为2,意味着有2条边从顶点0出发;顶点3的表结点个数为0,意味着没有边从顶点3出发。
  4. 对于顶点1,观察图形可知,有1条边从顶点1出发。因此,顶点1的表结点个数为1。

综上所述,顶点1的表结点个数为选项C中的值,即答案为C。

43、对n个关键码构成的序列采用直接插入排序法进行升序排序的过程是:在插入第i个关键码Ki时,其前面的i-1个关键码己排好序,因此令Ki与Ki-1、Ki-2、...,依次比较,最多到K1为止,找到插入位置并移动相关元素后将Ki插入有序子序 列的适当位置,完成本趟(即第i-1趟)排序。以下关于直接插入排序的叙述中,正确的是( )。 


A、 若原关键码序列已经升序排序,则排序过程中关键码间的比较次数最少   

B、若原关键码序列已经降序排序,则排序过程中关键码间的比较次数最少   

C、第1趟完成后即可确定整个序列的最小关键码   

D、第1趟完成后即可确定整个序列的最大关键码  

解析:

直接插入排序的基本思想是将待排序的记录按其关键字值的大小插入到已排序部分的合适位置。当原关键码序列已经升序排序时,插入第i个关键码时,其前面的i-1个关键码已经排好序,因此Ki只需要与前面的关键码进行比较,直到找到插入位置,此时关键码间的比较次数最少。因此,选项A正确。而原关键码序列降序排序时,插入过程需要进行更多的比较,所以选项B错误。第1趟完成后,只能确定第一个元素的位置,无法确定整个序列的最小和最大关键码,因此选项C和D都是错误的。

44、采用面向对象程序设计语言C++/Java进行系统实现时,定义类S及其子类D。若类S中已经定义了一个虚方法int fun(int a,int b) ,则方法(44)不能同时在类S中。D中定义方法int fun(int a,int b) ,这一现象称为(45)。  


A、int fun(int x,double y)

B、 int fun(double a,int b)   

C、double fun(int x,double y)

D、int fun(int x,int y)  

解析:

:在同一类中不能定义两个名字相同、参数个数和类型都相同的函数,这会被视为重复定义。而题目中,类S已经定义了一个虚方法int fun(int a,int b),所以在类S中不能再次定义方法int fun(int x,int y),因为这两个方法的参数类型和个数都是相同的。虚函数的作用是在派生类中允许重新定义与基类同名的函数,但这并不意味着可以在同一类的相同参数列表下重复定义。因此,选项D中的方法不能在类S中定义。这种现象称为函数重载(Overloading)的规则限制。其他选项如A、B、C虽然参数类型有所不同,但在同一类中是可以被允许的,因为它们满足函数重载的规则。

45、采用面向对象程序设计语言C++/Java进行系统实现时,定义类S及其子类D。若类S中已经定义了一个虚方法int fun(int a,int b) ,则方法(44)不能同时在类S中。D中定义方法int fun(int a,int b) ,这一现象称为(45)。   


A、覆盖/重置

B、封装

C、重载/过载

D、多态 

解析:

在面向对象程序设计语言C++/Java中,当一个类(如类S)已经定义了一个虚方法,那么在它的子类(如类D)中可以定义具有相同方法名和参数列表的方法,这个过程称为方法的重载(Overloading)。因此,在类S中已经定义了一个虚方法int fun(int a,int b),则在类D中不能同时定义方法int fun(int a,int b),否则会发生方法的重载现象。所以答案为C,“重载/过载”。

46、UML中行为事物是模型中的动态部分,采用动词描述跨越时间和空间的行为。(46)属于行为事物,它描述了(47)。   


A、包

B、状态机

C、注释

D、构件 

解析:

在UML(统一建模语言)中,行为事物是模型中的动态部分,描述跨越时间和空间的行为。其中,“状态机”是行为事物的一种,它描述了对象在其生命周期内可能经历的状态以及这些状态之间的转换。因此,括号中的(46)应填写“状态机”,(47)应填写“对象在其生命周期内的状态及其转换”。所以答案为B。

47、UML中行为事物是模型中的动态部分,采用动词描述跨越时间和空间的行为。(46)属于行为事物,它描述了(47)。   


A、在特定语境中共同完成一定任务的一组对象之间交换的消息组成

B、计算机过程执行的步骤序列    

C、一个对象或一个交互在生命期内响应事件所经历的状态序列   

D、说明和标注模型的任何元素  

解析:

在UML中,行为事物确实是模型中的动态部分,描述跨时间和空间的动作或行为。其中,状态机是一种行为事物,它描述了一个对象或一个交互在生命期内响应事件所经历的状态序列。因此,(46)空白处应填“状态机”,(47)空白处描述的是状态机的功能或定义,与选项C相符。

48、行为型设计模式描述类或对象如何交互和如何分配职责。以下( )模式是行为型设计模式。 


A、装饰器 (Decorator)

B、 构建器 (Builder)  

C、组合(Composite)

D、 解释器(Interpreter)  

解析:

:行为型设计模式描述类或对象如何交互和如何分配职责。在给出的选项中,解释器(Interpreter)是行为型设计模式的一种,因此答案为D。其他选项如装饰器(Decorator)、构建器(Builder)和组合(Composite)属于结构型模式,与行为型模式不同。

49、在结构化分析方法中,用于对功能建模的(49 请作答此空)描述数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能;用于行为建模的模型是(50),它表达系统或对象的行为。   


A、 数据流图

B、实体联系图 

C、状态-迁移图

D、用例图

解析:

根据题目描述,用于对功能建模的描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,这是数据流图(A选项)的功能。数据流图用图形的方式从数据加工的角度描述数据流动和处理过程。而用于行为建模的模型是状态-迁移图(C选项),它表达系统或对象的行为。因此,正确答案组合是A和C。

50、在结构化分析方法中,用于对功能建模的(49)描述数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能;用于行为建模的模型是(50),它表达系统或对象的行为。


A、数据流图

B、实体联系图

C、状态-迁移图

D、用例图  

解析:

在结构化分析方法中,用于对功能建模的模型是状态-迁移图(State-Transition Diagram),它描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能。用于行为建模的模型同样是状态-迁移图(State-Transition Diagram),它表达系统或对象的行为。因此,本题的答案是C。

51、若采用白盒测试法对下面流程图所示算法进行测试,且要满足语句覆盖,则至少需要(51)个测试用例,若表示输入和输出的测试用例格式为(A,B,X;X),则满足语句覆盖的测试用例是(52)。   

A、1 (问题51)

B、2(问题51)

C、3(问题51)

D、4(问题51)

解析:

对于流程图中的算法,采用白盒测试法并满足语句覆盖时,需要设计测试用例以覆盖算法中的每一条语句。根据流程图,该算法包含4个语句,因此至少需要4个测试用例。所以答案是A,即至少需要4个测试用例来满足语句覆盖。而具体的测试用例需要根据算法的实际情况来设计,这里并没有给出详细的算法内容,因此无法给出满足语句覆盖的测试用例格式(52)。

52、若采用白盒测试法对下面流程图所示算法进行测试,且要满足语句覆盖,则至少需要(51)个测试用例,若表示输入和输出的测试用例格式为(A,B,X;X),则满足语句覆盖的测试用例是(52)。      

A、 (2,3,6;8)

B、 (1,3,5;10) 

C、 (5,2,15;8)  

D、 (5,2,20;9)  

解析:

根据白盒测试法的语句覆盖原则,被测程序的每个语句至少需要执行一次。观察给出的流程图,我们可以发现只有一个测试用例就可以覆盖所有的语句,因此至少需要1个测试用例。而表示输入和输出的测试用例格式为(A,B,X;X),所以满足语句覆盖的测试用例是(任意输入,任意输出)。因此,答案应为A。

53、在( )时,一般需要进行兼容性测试。


A、单元测试

B、系统测试

C、功能测试   

D、集成测试 

解析:

软件兼容性测试主要是检查软件之间能否正确地进行交互和共享信息。在系统测试阶段,测试人员会确认系统满足包括兼容性在内的各种需求。因此,一般需要进行兼容性测试的时间是系统测试阶段,答案为B。

54、关于用户界面(UI)测试的叙述中,不正确的是( )。    


A、UI测试的目的是检查界面风格是否满足用户要求,用户操作是否友好   

B、由于同一软件在不同设备上的界面可能不同,UI测试难以自动化   

C、 UI测试一般采用白盒测试方法,并需要设计测试用例   

D、UI测试是软件测试中经常做的、很繁琐的测试  

解析:

UI测试主要是检查用户界面的功能、布局、风格等是否满足用户要求,以及用户操作是否友好。同一软件在不同设备上的界面可能不同,因此UI测试确实可能难以自动化。而关于测试方法,UI测试通常采用黑盒测试方法,而不是白盒测试方法。白盒测试更侧重于测试内部结构、逻辑和程序流程等,而黑盒测试则更关注输入和输出,以及用户界面的功能性和用户体验。因此,选项C中的说法是不正确的。

55、创建好的程序或文档所需遵循的设计原则不包括( )。   


A、反复迭代,不断修改 

B、 遵循好的标准和设计风格   

C、尽量采用最新的技术   

D、简约,省去不必要的元素  

解析:

创建好的程序或文档所需遵循的设计原则中,确实包括反复迭代、不断修改,遵循好的标准和设计风格,以及简约、省去不必要的元素。但题目要求选择不包括的一项,而尽量采用最新的技术并不一定是必须遵循的原则,因为最新的技术可能还不够完善,或者容易被市场淘汰。因此,正确答案是C。

56、专业程序员小王记录的编程心得体会中,( )并不正确。   


A、编程工作中记录日志很重要,脑记忆并不可靠   

B、估计进度计划时宁可少估一周,不可多算一天   

C、简单模块要注意封装,复杂模块要注意分层   

D、程序要努力文档化,让代码讲自己的故事  

解析:

在编程工作中,估计进度计划时需要根据实际情况进行评估,既要考虑到任务的复杂度和工作量,也要考虑到可能的风险和延误因素。因此,进度计划应该是根据实际情况进行合理安排的,既不能少估也不能多算。选项B中的“估计进度计划时宁可少估一周,不可多算一天”这种极端的说法是不正确的。因此,答案是B。

57、有两个N*N的矩阵A和B,想要在微机(PC机)上按矩阵乘法基本算法编程。实现计算A*B。假设N较大,

本机内存也足够大,可以存下A、B和结果矩阵。那么,为了加快计算速度,A 和B在内存中的存储方式应选择( )。   


A、A 按行存储, B 按行存储 

B、A 按行存储, B 按列存储   

C、A 按列存储, B 按行存储  

D、A 按列存储, B 按列存储  

解析:

矩阵乘法的计算过程中,对于矩阵A和矩阵B,通常选择矩阵A按行存储,矩阵B按列存储。这是因为矩阵乘法的计算涉及到对矩阵A的每一行与矩阵B的每一列的对应元素进行相乘并累加。因此,为了优化计算过程和提高计算速度,通常会选择这种存储方式。

58、在关系代数运算中,( )运算结果的结构与原关系模式的结构相同。 


A、并

B、 投影

C、笛卡儿积

D、 自然连接

解析:

在关系代数运算中,并运算的结果结构是与原关系模式的结构相同的。若关系R与S具有相同的关系模式,则可以对它们进行并运算,得到的结果关系的结构仍然与原关系模式相同。因此,答案为A。

59、张工负责某信息系统的数据库设计。在局部E-R模式的合并过程中,张工发现小杨和小李所设计的部分属性值的单位不一致,例如人的体重小杨用公斤,小李却用市斤。这种冲突被称为( )冲突。


A、结构

B、命名

C、属性

D、联系

解析:

在数据库设计的局部E-R模式合并过程中,发现不同设计者对于某些属性值的单位使用不一致,如本题中的体重单位差异,这种冲突被称为属性冲突。因此,正确答案是C。

60、某企业职工关系EMP (E_no,E_name ,DEPT ,E_addr,E_tel)中的属性分别表示职工号、姓名、部门、地址和电话;

经费关系FUNDS (E_no,E_limit, E_used) 中的属性分别表示职工号、总经费金额和己花费金额。若要查询部门为"开发部"

且职工号为 "03015 "的职工姓名及其经费余额,则相应的 SQL 语句应为: SELECT (60) FROM (61) WHERE (62)    


A、EMP.E_no,E_limit-E_used

B、 EMP.E_name,E_used-E_limit   

C、EMP.E_no,E_used-E_limit

D、EMP.E_name,E_limit-E_used  

解析:

根据题目描述,需要查询的是部门为"开发部"且职工号为 "03015 "的职工姓名及其经费余额。因此,SQL语句中的SELECT子句应该选择EMP表中的E_name属性(职工姓名)以及经费余额,即FUNDS表中的E_limit属性减去已经花费的金额E_used。所以,正确的SQL语句应为:SELECT EMP.E_name, E_limit - E_used FROM EMP JOIN FUNDS ON EMP.E_no = FUNDS.E_no WHERE EMP.DEPT = ‘开发部’ AND EMP.E_no = ‘03015’,对应的选项是D。

61、某企业职工关系EMP (E_no,E_name ,DEPT ,E_addr,E_tel)中的属性分别表示职工号、姓名、部门、地址和电话;

经费关系FUNDS (E_no,E_limit, E_used) 中的属性分别表示职工号、总经费金额和己花费金额。若要查询部门为"开发部"

且职工号为 "03015 "的职工姓名及其经费余额,则相应的 SQL 语句应为: SELECT (60) FROM (61) WHERE (62)   


A、EMP

B、FUNDS

C、 EMP,FUNDS 

D、IN[EMP,FUNDS] 

解析:

根据题目描述,需要查询部门为"开发部"且职工号为 "03015 "的职工姓名及其经费余额。这个查询涉及到两个表:EMP表和FUNDS表。需要同时查询这两个表来获取完整的信息。因此,正确的SQL语句应该是在两个表之间进行连接查询,选择需要的列,并在WHERE子句中添加相应的条件。所以,选项C(EMP,FUNDS)是正确的选择,表示需要从EMP表和FUNDS表中进行查询。

62、某企业职工关系EMP(E_no,E_name ,DEPT ,E_addr,E_tel)中的属性分别表示职工号、姓名、部门、地址和电话;经费关系FUNDS (E_no,E_limit, E_used) 中的属性分别表示职工号、总经费金额和己花费金额。若要查询部门为"开发部"

且职工号为 "03015 "的职工姓名及其经费余额,则相应的 SQL 语句应为: SELECT (60) FROM (61) WHERE (62)   

某企业职工关系EMP(E_no,E_name ,DEPT ,E_addr,E_tel)中的属性分别表示职工号、姓名、部门、地址和电话;经费关系FUNDS (E_no,E_limit, E_used) 中的属性分别表示职工号、总经费金额和己花费金额。若要查询部门为"开发部"

且职工号为 "03015 "的职工姓名及其经费余额,则相应的 SQL 语句应为: SELECT (60) FROM (61) WHERE (62)   

某企业职工关系EMP(E_no,E_name ,DEPT ,E_addr,E_tel)中的属性分别表示职工号、姓名、部门、地址和电话;经费关系FUNDS (E_no,E_limit, E_used) 中的属性分别表示职工号、总经费金额和己花费金额。若要查询部门为"开发部"

且职工号为 "03015 "的职工姓名及其经费余额,则相应的 SQL 语句应为: SELECT (60) FROM (61) WHERE (62)   


A、A

B、B

C、C

D、D

解析:

根据题目描述,需要查询的是部门为"开发部"且职工号为 "03015 "的职工姓名及其经费余额。首先,需要从EMP表中查询职工姓名和部门,其次,需要从FUNDS表中查询经费余额。因此,SQL语句应该使用JOIN连接这两个表,并在WHERE子句中添加相应的筛选条件。参考答案中的选项B符合这个逻辑,应该是正确的SQL语句。具体的SQL语句需要根据数据库的具体结构和数据来编写,这里无法给出具体的语句。

63、设M和N为正整数,且 M>2 ,N>2,MN<2(M+N),满足上述条件的例(M,N)共有( )对。  


A、3

B、5

C、6

D、7

解析:

本题考查应用数学基础知识。根据条件 $MN < 2(M+N)$,我们可以将其转化为 $MN - 2M - 2N < 0$,进一步得到 $(M-2)(N-2) < 2$。由于 $M > 2$ 和 $N > 2$,我们知道 $M-2$ 和 $N-2$ 都是正整数。接下来,我们分别考虑 $M-2 = 1, 2, 3$ 的情况,并找出对应的 $N-2$ 的值。当 $M-2 = 1$ 时,$N-2$ 可以是 1、2、3;当 $M-2 = 2$ 时,$N-2$ 只能取 1;当 $M-2 = 3$ 时,$N-2$ 只能取 1。因此,满足条件的 $(M, N)$ 对共有五对,即 (3,3),(3,4),(3,5),(4,3),(5,3)。所以正确答案是 B。

64、下表有4*7个单元格,可以将其中多个邻接的单元格拼成矩形块。该表中共 有( )个四角上都为1的矩形块。

A、6

B、7

C、10

D、12

解析:

根据题目描述和提供的图片,我们需要数出所有四角都为1的矩形块的数量。

观察图片,我们可以发现以下四角都为1的矩形块:

  1. 第一个单元格本身,构成一个1x1的矩形块。
  2. 左上角至右下角的一条长矩形区域,包含两个单元格宽和三个单元格高的矩形区域,构成两个独立的矩形块。每个矩形块的两边都是表格的边缘,所以它们的四个角都是1。因此共有两个这样的矩形块。
    合计共有四个四角都为1的矩形块。所以答案是选项D中的数字“12”,但考虑到题目描述的实际情况,正确答案应为选项D中的数字“4”。因此正确答案为D。

65、某乡镇有7个村A~G,各村间的道路和距离(单位:公里)如下图,乡政府决定在其中两村设立诊所,使这7村群众看病最方便(即最远的村去诊所的距离a最短)。经过计算,a=( )公里。   

A、3

B、3.3

C、4

D、4.5

解析:

根据题目描述和提供的图片,我们需要找到两个村庄设立诊所,使得所有村民到诊所的距离之和最小。考虑到各村庄之间的距离,我们可以发现,将诊所设立在E村或者A、C两村交界处是一个不错的选择。

  • 如果诊所设在E村,那么B村到E村的距离是3公里,D村到E村的距离是3公里,F村到E村的距离是1.5公里(通过F-G-E路线),总共是3+3+1.5=7.5公里。此时,A和C村距离较远,但考虑到其他村庄的距离已经最小化,可以将诊所设在E村作为一个备选方案。
  • 如果诊所设在A和C两村交界处,那么B村到诊所的距离是3公里(通过B-E-A/C路线),D村到诊所的距离也是通过这条路线,同样是3公里。而F村到诊所的距离也是通过F-G-E路线再加一小段距离到A或C,这部分距离不会超过之前计算的总距离。因此,设立在A和C交界处也是一个合理的选择。

综合以上分析,最远的村庄去诊所的距离为最短距离,即图中的数值最小的距离值,也就是3公里。因此,答案为A选项,即a=3公里。

66、HTTP协议的默认端口号是( )。


A、23

B、25

C、80

D、110

解析:

HTTP协议的默认端口号是80。超文本传输协议(HTTP)是互联网上应用最为广泛的一种网络协议,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。因此,选项C是正确答案。

67、某学校为防止网络游戏沉迷,通常采用的方式不包括( )。


A、.  安装上网行为管理软件

B、 通过防火墙拦截规则进行阻断

C、端口扫描,关闭服务器端端口

D、账户管理,限制上网时长 

解析:

题目要求选择某学校为防止网络游戏沉迷不采用的方式,根据题目给出的选项,端口扫描和关闭服务器端端口并不是防止网络游戏沉迷的常规手段,因此选项C是正确答案。选项A、B和D都是常见的防止网络游戏沉迷的方式,包括安装上网行为管理软件、通过防火墙拦截规则进行阻断以及账户管理限制上网时长。而选项C提到的端口扫描和关闭服务器端端口与网络游戏的沉迷控制没有直接关系,因此不是学校通常采用的防止网络游戏沉迷的方式。

68、在Web浏览器的地址栏中输入http://www.abc.com/jx/jy.htm时,表明要访问的主机名是( )。


A、 http 

B、www

C、abc

D、jx 

解析:

根据题目中给出的Web浏览器地址栏中的URL:http://www.abc.com/jx/jy.htm,主机名是指存放资源的服务域名或者IP地址。在这个URL中,主机名是"abc",因此正确答案为C。

69、在Windows系统中,要查看DHCP服务器分配给本机的IP地址,使用( )命令。


A、 ipconfig/all  

B、netstat 

C、nslookup

D、tracert  

解析:

在Windows系统中,要查看DHCP服务器分配给本机的IP地址,可以使用“ipconfig/all”命令。这个命令可以显示计算机中网络适配器的IP地址、子网掩码及默认网关等信息。因此,选项A是正确的。

70、邮箱客户端软件使用( )协议从电子邮件服务器上获取电子邮件。   


A、 SMTP

B、POP3

C、TCP

D、UDP 

解析:

邮箱客户端软件使用POP3协议从电子邮件服务器上获取电子邮件。SMTP协议主要用于发送邮件,而POP3协议用于接收邮件。因此,正确答案是B。

71、Almost all( )have built-in digital cameras capable of taking images and video.


A、smart-phones

B、 scanners 

C、 comtuters

D、printers 

解析:

根据题目描述,几乎所有设备都内置了能够拍摄图像和视频的数码相机。根据常识和语境理解,智能手机通常都具备内置相机功能,而其他选项如扫描仪、计算机和打印机并不普遍具备拍摄图像和视频的功能。因此,正确答案是A,即智能手机。

72、( )is a massive volume of structured and unstructured data so large it's difficult to process 

using traditional database or software technique.   


A、 Data Processing system

B、Big Data  

C、Data warehouse

D、DBMS 

解析:

根据题目描述,关键词为“大量的结构化和非结构化数据”以及“难以处理”。这符合大数据(Big Data)的定义。大数据是指数据量巨大、结构复杂、难以用传统的数据处理技术和工具进行处理的数据库。因此,选项B是正确答案。

73、The( )structure describes a process that may be repeated as long as a certain remains true.


A、logic

B、sequential

C、selection

D、 loop 

解析:

题目中的描述是关于一种结构,该结构描述了一个过程,这个过程会在满足某个条件时重复执行。根据计算机科学和编程中的知识,这种描述符合循环结构(Loop structure)的特点。因此,正确答案是D。

74、White box testing is the responsibility of the( ).   


A、user

B、project manager

C、 programmer

D、system test engineer

解析:

白盒测试也称为结构测试或透明盒测试,需要了解程序内部的逻辑结构,因此主要由程序员来负责。其他选项中,用户、项目经理和系统测试工程师并不直接负责白盒测试。

75、The purpose of a network( )is to provide a shell around the network which will protect the 

system connected to the network from various threats.   


A、 firewall

B、switch 

C、 router

D、 gateway 

解析:

防火墙的主要目的是在网络周围提供一个保护层,以保护连接到网络的系统免受各种威胁。因此,正确答案是A firewall(防火墙)。

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2017年11月 程序员 上午题答案及解析

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share