查看“程序员 2019年 下半年 上午”的源代码
←
程序员 2019年 下半年 上午
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
=== 第1题 === 以下关于信息的描述,错误的是()。 A、信息具有时效性和可共享性 B、信息必须依附于某种载体进行传输 C、信息可反映客观事物的运动状态和方式 D、无法从数据中抽象出信息 √ === 第2题 === 通常,不做全体调查只做抽样调查的原因不包括()。 A、全体调查成本太高 B、可能会破坏被调查的个体 √ C、样本太多难以统计 D、总量太大不可能逐一调查 【解析】 本题考查信息处理技术基础知识。 抽样调查是按照随机原则从总体中抽取一部分单位作为样本来进行观察研究,所以不会破坏被调查的个体。 === 第3题 === 在Excel中,“工作表”是由行和列组成的表格,列和行分别用()标识。 A、字母和数字 √ B、数字和字母 C、数字和数字 D、字母和字母 === 第4题 === 在Excel的A1单元格中输入公式"=MIN(SUM(5,4), AVERAGE(5,11,8))",按回车键后,A1单元格中显示的值为()。 A、4 B、5 C、8 √ D、9 === 第5题 === ()服务器的主要作用是提供文件的上传和下载服务。 A、Gopher B、FTP √ C、Telnet D、E-mail === 第6题 === 虚拟存储技术使()密切配合来构成虚拟存储器。 A、寄存器和内存 B、主存和辅存 √ C、寄存器和Cache D、硬盘和Cache 【解析】 本题考查计算机系统基础知识。 虚拟存储器(虚拟内存)是计算机系统内存管理的一种技术,能从逻辑上对内存容量加以扩充,它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间), 而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。 === 第7题 === 若计算机字长为32,则采用补码表示的整数范围为()。 A、[-2<sup>31</sup>,2<sup>31</sup>) √ B、(-2<sup>31</sup>,2<sup>31</sup>) C、[-2<sup>32</sup>,2<sup>31</sup>) D、[-2<sup>31</sup>,2<sup>32</sup>) === 第8题 === CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入(),然后译码并执行。 A、数据寄存器 B、累加寄存器 C、地址寄存器 D、指令寄存器 √ 【解析】 本题考查计算机系统基础知识。 指令寄存器是控制器中的一个暂存部件,控制器从内存中取出指令,将取出的指令送入指令寄存器,并指出下一条指令在内存中的位置,启动指令译码器对指令进行分析, 最后发出相应的控制信号和定时信息,控制和协调计算机的各个部件有条不紊地工作,以完成指令所规定的操作。 === 第9题 === 以下关于CPU与I/O设备交换数据所用控制方式的叙述中,正确的是()。 A、中断方式下,CPU与外设是串行工作的 B、中断方式下,CPU需要主动查询和等待外设 C、DMA方式下,CPU与外设可并行工作 √ D、DMA方式下,CPU需要执行程序来传送数据 【解析】 本题考查计算机系统基础知识。 当I/O接口准备好接收数据或传送数据时,就发出中断信号通知CPU。对中断信号进行确认后,CPU保存正在执行的程序的现场,转而执行提前设置好的I/O中断服务程序,完成一次数据传送的处理。 这样,CPU就不需要主动查询外设的状态,在等待数据期间可以执行其他程序,从而提高了CPU的利用率。采用中断方式管理I/O设备,CPU和外设可以并行地工作。 直接存储器存取(Direct Memory Access, DMA)方式的基本思想是:通过硬件控制实现主存与I/O设备间的直接数据传送,数据的传送过程由DMA控制器(DMAC)进行控制,不需要CPU的干预。 在DMA方式下,由CPU启动传送过程,即向设备发出“传送一块数据”的命令,在传送过程结束时,DMAC通过中断方式通知CPU进行一些后续处理工作。 DMA方式简化了CPU对数据传送的控制,提高了主机与外设并行工作的程度,实现了快速外设和主存之间成批的数据传送,使系统的效率明显提高。 === 第10题 === 衡量系统可靠性的指标是()。 A、周转时间和故障率A B、周转时间和吞吐量 C、平均无故障时间MTBF和故障率λ √ D、平均无故障时间MTBF和吞吐量 === 第11题 === 某计算机的主存储器以字节为单位进行编址,其主存储器的容量为1TB,也就是()。 A、2<sup>30</sup>B B、2<sup>10</sup>KB C、2<sup>10</sup>MB D、2<sup>10</sup>GB √ 【解析】 1KB=1024B=2<sup>10</sup>B 1MB=1024KB=2<sup>10</sup>KB=2<sup>20</sup>B 1G=1024MB=2<sup>10</sup>MB=2<sup>20</sup>KB=2<sup>30</sup>B 1TB=1024G=2<sup>10</sup>G=2<sup>20</sup>MB=2<sup>30</sup>KB=2<sup>40</sup>B === 第12题 === ()是音频文件的扩展名。 A、XLS B、AVI C、WAV √ D、GIF === 第13题 === 声音信号的数字化过程就是在时间和幅度两个维度上的离散化过程,其中时间的离散化称为()。 A、分时 √ B、采样 C、量化 D、调频 === 第14题 === ()是构成我国保护计算机软件著作权的两个基本法律文件。 A、《中华人民共和国著作权法》和《计算机软件保护条例》 B、《中华人民共和国著作权法》和《中华人民共和国版权法》 C、《计算机软件保护条例》和《中华人民共和国软件法》 D、《中华人民共和国软件法》和《中华人民共和国著作权法》 √ === 第15题 === 软件著作权的客体不包括()。 A、源程序 B、目标程序 C、软件文档 D、软件开发思想 √ === 第16题 === 下列与电子邮件安全无关的是()。 A、用户身份认证 B、传输加密 C、存储加密 D、邮箱地址加密 √ === 第17题 === 常用作网络边界防范的是()。 A、防火墙 √ B、入侵检测 C、防毒墙 D、漏洞扫描 === 第18题 === 甲怀疑乙发给他的信息已遭人篡改,同时怀疑乙的公钥也是被人冒充的。 为了消除甲的疑虑,甲、乙需要找一个双方都信任的第三方,即()来签发数字证书。 A、注册中心RA B、国家信息安全测评中心 C、认证中心CA √ D、国际电信联盟ITU === 第19题 === 将二进制序列0011011表示为八进制形式,为()。 A、033 √ B、27 C、66 D、154 【解析】 0 011 011 =033 === 第20题 === 计算机启动时CPU从()读取硬件配置的重要参数。 A、SRAM B、CMOS √ C、DRAM D、CD-ROM 【解析】 本题考查计算机系统基础知识。 SRAM(Static Random Access Memory,静态随机存取存储器)是指这种存储器只要保持通电,里面存储的数据就可以恒常保持。 DRAM(Dynamic Random Access Memory,动态随机存取存储器)隔一段时间要刷新充电一次,否则内部的数据会消失。 CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)是指制造大规模集成电路芯片用的一种技术或用这种技术制造出来的芯片, 是计算机主板上的一块可读写的RAM芯片,用来保存BIOS设置完计算机硬件参数后的数据,这个芯片仅用来存放数据。 === 第21题 === 设X、Y、Z为逻辑变量,当且仅当X和Y同时为1时,Z为0,其他情况下Z为1,则对应的逻辑表达式为()。 A、Z=X·Y B、Z=X+Y C、Z=X⊕Y √ {| class="wikitable" |D、 |[[文件:软考 程序员 2019 下 上 21 1.png|无|缩略图]] |} 【解析】 {| class="wikitable" |+ |X |1 |1 |0 |0 |- |Y |1 |0 |1 |0 |- |Z |0 |1 |1 |1 |- |X·Y(且) |1 |0 |0 |0 |- |X+Y(或) |1 |1 |1 |0 |- |X⊕Y(异或) |0 |1 |1 |0 |- |[[文件:软考 程序员 2019 下 上 21 1.png|无|缩略图]] |0 |1 |1 |1 |- | | | | | |} === 第22题 === 以下关于海明码的叙述中,正确的是()。 A、校验位与数据信息位混淆且随机分布 B、数据信息与校验位需要满足一定的位置关系 √ C、需将所有校验位设置在所有数据信息位之后 D、校验位的长度必须与数据信息位的长度相同 【解析】 本题考查计算机系统数据校验基础知识。 海明码是利用奇偶性来检错和纠错的校验方法。 海明码的构成方法是:在数据位之间插入k个校验位,通过扩大码距来实现检错和纠错。 海明码中数据信息位与校验位需要满足一定的位置关系。 === 第23题 === 以下描述中,属于通用操作系统基本功能的是()。 A、对计算机系统中各种软、硬件资源进行管理 √ B、对信息系统的运行状态进行监控 C、对数据库中的各种数据进行汇总和检索 D、对所播放的视频文件内容进行分析 === 第24题 === 某计算机系统页面大小为4K,进程P的页面变换表如下表所示。 {| class="wikitable" !页号 !物理块号 |- |0 |2 |- |1 |4 |- |2 |5 |- |3 |8 |} 若P中某块数据的逻辑地址为十六进制2C18H,则该地址的页号和页内地址分别为(); A、2和518H B、2和C18H C、5和518H D、5和C18H 经过地址变换后,其物理地址应为十六进制()。 A、2C18H B、4C18H C、5C18H √ D、8C18H 【解析】 根据题意页面大小为4K,逻辑地址为十六进制2C18H,其页号为2,页内地址为C18H; 查页表后可知物理块号为5,该地址经过变换后,其物理地址应为物理块号5C18H。 === 第25题 === 假设系统有n(n≥5)个并发进程,它们竞争互斥资源R。若采用PV操作,当有3个进程同时申请资源R,而系统只能满足其中1个进程的申请时,资源R对应的信号量S的值应为()。 A、-1 B、-2 √ C、-3 D、0 【解析】 本题考查操作系统基本概念方面的基础知识。 根据题目叙述“若采用PV操作,当有3个进程分别申请1个资源R,系统只能满足1个进程的申请”,意味着有2个进程等待资源R。 按照信号量的物理意义“S≤0时,其绝对值等于等待该资源的进程数”,故S=-2。 === 第26题 === 若系统中有4个互斥资源R,当系统中有2个进程竞争R,且每个进程都需要i个R(i≤3)时,该系统可能发生死锁的最小i值是()。 A、1 B、2 C、3 √ D、4 【解析】 本题考查操作系统基础知识。 假设每个进程都需要1个资源R,系统为1个进程各分配1个资源R,进程都能得到所需资源,故不会发生死锁。 假设每个进程都需要2个资源R,系统为2个进程各分配2个资源R,进程都能得到所需资源,故不会发生死锁。 假设每个进程都需要3个资源R,系统为2个进程各分配2个资源R,系统可用资源数为0,进程再申请1个资源R得不到满足,故发生死锁。 === 第27题 === 以下关于汇编语言的叙述中,正确的是()。 A、汇编语言源程序只能由伪指令语句构成 B、汇编语言源程序都是通过对某高级语言源程序进行编译而得到的 C、汇编语言的每条指令语句可以没有操作字段,但必须具有操作数字段 D、汇编语言的每条指令语句可以没有操作数字段,但必须具有操作码字段 √ 【解析】 本题考查程序语言基础知识。 汇编器将汇编指令翻译为机器语言字节,并且在运行时由CPU加载和执行。 一条指令语句可以有四个组成部分:标号(可选),指令助记符(操作码,必需),操作数(通常是必需的),注释(可选)。 === 第28题 === 编译和解释是实现高级程序设计语言的两种基本方式,()是这两种方式的主要区别。 A、是否进行代码优化 B、是否进行语法分析 C、是否生成中间代码 D、是否生成目标代码 √ 【解析】 本题考查程序语言基础知识。 解释程序是另一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但是在运行用户程序时,它直接执行源程序或源程序的内部形式。 因此,解释程序不产生源程序的目标程序,这是它和编译程序的主要区别。 === 第29题 === 某个不确定有限自动机(S<sub>0</sub>为初态,S<sub>3</sub>为终态)如下图所示,()是该自动机可识别的字符串(即从初态到终态的路径中,所有边上标记的字符构成的序列)。 [[文件:软考 程序员 2019 下 上 29 1.png|无|缩略图]] A、baabb √ B、bbaab C、aabab D、ababa 【解析】 可以从终态开始向后倒退回溯,最后一个一定是b,排除掉选项D; 倒数第二个一定是b,排除掉选项B和C,所以答案是A。 === 第30题 === C语言规定程序中的变量必须先定义(或声明)再引用,若违反此规定,则对程序进行()时报错。 A、汇编 B、编译 √ C、链接 D、运行 【解析】 本题考查程序语言基础知识。 概括来看,将C语言源程序翻译为可执行程序的过程为:首先进行预处理,之后进行编译形成目标代码(若目标代码为汇编语言形式,则需要进一步汇编), 最后进行链接以生成可执行程序代码。如果没有对变量进行声明(定义)就使用,则在编译时会报错。 只有不存在语法错误及静态语义错误的程序才能编译为目标代码。 === 第31题 === 在C程序中,()是合法的用户定义变量名。 ①_123 ②form-7 ③short ④form_7 A、①③ B、②③④ C、②④ D、①④ 【解析】 short是关键字,所以有③一定是错的,排除掉A和B; -号是算术运算符,所以有②一定是错的,再排除掉C; 所以答案是D。 本题考查程序语言基础知识。 C语言规定用户定义的标识符(变量名、函数名等)必须以字母或下划线开头且由字母、数字和下划线构成, 同时不能使用语言的保留字(关键字)。short是表示短整型数据的关键字,form-7中包含的“-”不符合规定。 _123和form_7是合法的用户定义标识符。<syntaxhighlight lang="c++"> #include<stdio.h> int main() { int _123 = 123; printf("%d", _123); return 0; } </syntaxhighlight>正常运行。<syntaxhighlight lang="java"> public class Test4 { public static void main(String[] args) { int _123=123; System.out.printf("%d", _123); } } </syntaxhighlight>正常运行。 === 第32题 === 在C程序中,设有“int a=3, b=2, c=1;”,则表达式a>b>c的值是()。 A、0 √ B、1 C、2 D、不确定 【解析】 从左到右,所以最后判断的是?>c,?是a>b的结果,不是0就是1,然后不管是0还是1,c是1: 0>1是false、0; 1>1是false、0; 所以答案是A。 本题考查程序语言基础知识。 关系运算“>”左结合,先计算“a>b”结果为1(关系成立), 然后计算“1>c”即“1>1”,结果为0(关系不成立)。 === 第33题 === 在C程序中,对于如下的两个for语句,其运行后a和b的值分别为()。<syntaxhighlight lang="c"> for(int a=0; a==0; a++); for(int b=0; b=0; b++); </syntaxhighlight>A、0,0 B、0,1 C、1,0 √ D、1,1 【解析】 本题考查程序语言基础知识。 对于第一个for语句,循环条件是表达式“a==0”。a的初始值为0,执行相等判断的条件“a==0”,结果为成立(循环条件为真),因此执行一次a++,将a的值递增为1; 再判断“a==0”时,结果为不成立,因此循环结束后a的值为1。 对于第二个for语句循环条件是表达式“b=0”。b的初始值为0,执行赋值表达式“b=0”,结果为0,表示循环条件为假,因此不执行b++,循环条件结束后b的值为0。 === 第34题 === 函数main()、f()的定义如下所示。调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,main()执行后输出的值为()。<syntaxhighlight lang="c"> main() int x = 2; f(5, x); print(x); f(int x, int &a) x = 2*a-1; a = x+5; return; </syntaxhighlight>A、2 B、3 C、8 √ D、10 【解析】 本题考查程序语言基础知识。 调用函数时,传值调用时将实参的值拷贝给形参,在被调用函数中对形参的修改再与实参无关。 引用调用(或传引用)的实质是将实参的地址传给形参,在被调用函数中修改形参的实质是修改实参; 函数f()执行时,其第一个参数x得到值5,其第二个参数a是main()函数中x的引用,即在f中对a的修改就是对main中x的修改。 在函数f()中,运算“x=2*a-1”(x=2*2-1)的结果是将f的x修改为3,运算“a=x+5”即“a=3+5”将a的值修改为8,也就是将f中x的值修改为8,因此输出的值为8。 === 第35题 === 数据结构中的()常用来对函数调用和返回处理的控制进行支持。 A、栈 √ B、队列 C、有序树 D、有向图 === 第36题 === 单向循环链表如下图所示,以下关于单向循环链表的叙述中,正确的是()。 [[文件:软考 程序员 2019 下 上 36 1.png|无|缩略图|400x400像素]] A、仅设头指针时,遍历单向循环链表的时间复杂度是O(1) B、仅设尾指针时,遍历单向循环链表的时间复杂度是O(1) C、仅设头指针时,在表尾插入一个新元素的时间复杂度是O(n) √ D、仅设尾指针时,在表头插入一个新元素的时间复杂度是O(n) 【解析】 本题考查数据结构基础知识。 在单链表存储结构中,不管是有头指针还是尾指针,其实现遍历(即遍访表中的所有元素)的时间复杂度都是O(n)。 在单链表任何位置插入或删除结点,首先需要找到插入位置(该算法的时间复杂度不确定),然后修改指针即可实现(该时间复杂度为O(1))。 循环链表仅设头指针时,在表尾插入一个新元素时,因为要找到表尾位置,需从头结点遍历到尾结点,因此其时间复杂度是O(n)。 循环链表仅设尾指针时,在表头插入一个新元素时,因为有尾指针且是循环链表,因此尾指针所指向结点的下一个结点就是头结点,进行在表头插入的时间复杂度是O(1)。 === 第37题 === 对关键码序列{12,15,18,23,29,34,56,71,82}进行二分查找(折半查找),若要查找关键码71,则()。 A、需依次与29、56、71进行比较 B、仅需与71进行比较 C、需依次与29、34、71进行比较 D、仅需与29进行比较 【解析】 共9个数,折半向下取整是(low+hi)/2, 下标从0开始计数就是(0+8)/2=4,是下标为4的数——29; 下标从1开始计数就是(1+9)/2=5,是第5个数,也是29。 29<71,所以再次折半,low变成5,(5+8)/2=6, 是下标从0开始计数的下标为6的数——56。 所以答案是A。 === 第38题 === 在()中,要按照确定的计算关系来找到给定关键码的存储位置。 A、顺序表 B、哈希表 √ C、单向链表 D、双向链表 【解析】 本题考查数据结构——哈希查找基础知识。 在哈希表(散列表)中,通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。 这个映射函数叫做散列函数,存放记录的数组叫做哈希表(散列表)。 哈希查找的操作步骤: (1)用给定的哈希函数构造哈希表; (2)根据选择的冲突处理方法解决地址冲突; (3)在哈希表的基础上执行哈希查找。 === 第39题 === 以下关于下图所示有向图G的说法中,正确的是()。 [[文件:软考 程序员 2019 下 上 38 1.png|无|缩略图]] A、G的邻接矩阵是对称矩阵 B、G的邻接矩阵是三角矩阵 C、G是强连通图 √ D、G是完全图 【解析】 G的邻接矩阵为: {| class="wikitable" | |顶点1 |顶点2 |顶点3 |顶点4 |顶点5 |- |顶点1 !0 !0 !1 !0 !0 |- |顶点2 !1 !0 !0 !1 !0 |- |顶点3 !0 !1 !0 !0 !1 |- |顶点4 !1 !0 !0 !0 !0 |- |顶点5 !0 !0 !0 !1 !0 |} 本题考查数据结构——图的基础知识。 可以根据选项判断: A、G的邻接矩阵是对称矩阵(错误,对称矩阵满足a<sub>ij</sub>=a<sub>ji</sub>,因此当存在i→j的有向边时,一定存在j→i的有向边,此时图示不满足) B、G的邻接矩阵是三角矩阵(错误,三角矩阵中的非0元素一定要在矩阵对角线的一侧,而根据图示有a<sub>41</sub>=a<sub>24</sub>=1,其中a<sub>41</sub>在对角线下方,a<sub>24</sub>在对角线上方) C、G是强连通图(正确) D、G是完全图(错误,完全图要求任意两个顶点之间都有弧,显然G不是完全图) 强连通图的定义是: 在有向图G中,如果对于每一对顶点v<sub>i</sub>,v<sub>j</sub>∈V且v<sub>i</sub>≠v<sub>j</sub>,从顶点v<sub>i</sub>到顶点v<sub>j</sub>和从顶点v<sub>j</sub>到顶点v<sub>i</sub>都存在路径,则称图G为强连通图。 === 第40题 === 若某二叉树的先序遍历序列是ABDCE,中序遍历序列是BDACE,则该二叉树为()。 A、 [[文件:软考 程序员 2019 下 上 40 1.png|无|缩略图]] B、 [[文件:软考 程序员 2019 下 上 40 2.png|无|缩略图]] C、 [[文件:软考 程序员 2019 下 上 40 3.png|无|缩略图]] D、 √ [[文件:软考 程序员 2019 下 上 40 4.png|无|缩略图]] 【解析】 先序遍历是根、左、右 中序遍历是左、根、右 A一定是这棵树的根,然后以A为线,中序遍历A左侧的在左子树,右侧在右子树; {| class="wikitable" ! colspan="2" |A |- |B、D |C、E |} 左子树的B、D按照先序遍历的顺序是先B后D,所以B是D的父结点,又因为中序遍历顺序是先B后D,所以D肯定是右孩子结点; {| class="wikitable" ! colspan="3" |A |- ! colspan="2" |B !C、E |- ! !D ! |} 再来看右子树C、E两个结点,先序遍历顺序是先C后E,所以C是E的父结点,又有中序遍历顺序先C后E,所以E是C的右孩子结点; {| class="wikitable" ! colspan="4" |A |- ! colspan="2" |B ! colspan="2" |C |- ! !D ! !E |} 所以答案是D。 === 第41题 === 对于n个元素的关键码序列{k<sub>1</sub>,k<sub>2</sub>,...,k<sub>n</sub>},当且仅当满足关系k<sub>i</sub>≤k<sub>2i</sub>且k<sub>i</sub>≤k<sub>2i+1</sub>(i=1,2,...[n/2])时称为小根堆。 对于关键码序列{10,20,12,32,14,56,25,51,35},将()互换后该序列就成为小根堆。 A、14、12 B、14、20 √ C、12、32 D、12、25 【解析】 画出二叉树: {| class="wikitable" ! colspan="5" |10 |- ! colspan="3" |20 ! colspan="2" |12 |- ! colspan="2" |32 !14 !56 !25 |- !51 !35 ! ! ! |}
返回至
程序员 2019年 下半年 上午
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息