下列哪些是虚拟化软件( ) A.apache B.nginx C.docker D.mysql

  1.某计算机系统中16位浮点数嘚表示格式如图1所示。其中阶码4位(含1位符号)为定点整数尾数12位(含1位符号)为定点小数。

  设一个数机器码为00 0000若阶码为移码且尾数为原碼,则其十进制数真值为 (1)

  参考答案:(1)A。

  解析:为了充分利用尾数来表示更多的有效数字即提高数据的表示精度,通常采用规格化浮点数规定浮点数在运算结束将运算结果存到计算机中时,必须是规格化的浮点数规格化浮点数尾数的最高数值位是有效数字,即正尾数0.5≤F<1负尾数-1

  对于本试题的解答思路是,对给定的机器码按浮点数格式得到阶码和尾数然后将阶码变为十进制数,最后得到浮点数的十进制真值如果给定的浮点数机器码不是用规格化表示的,则可将其表示为规格化的机器码规格化时,先看给定的浮点数机器码的尾数是用什么码表示的然后再看是否已是规格化数,如果不是将尾数小数点移位,但要注意为保持浮点数的真值不变,阶码┅定要进行相应的调整在解答此类题目时,一定要注意题目条件中给出的阶码和尾数是用什么码表示的否则很容易出错,而得不到正確的计算结果

  针对本题,对所给机器码00 0000按所规定的浮点数表示形式,可知阶码为1110(最高位为阶符1)尾数为00(最高位为尾符0)。

  0.0101B= ?① 若阶码为移码,1110表示为十进制数加6尾数为原码表示加0.0101B,所以浮点数为26

  ② 0.101B阶码-3的补码为1101,因为浮点数规格化要求尾数最高数据位为囿效数据位即尾数绝对值大于等于0.5。?0.?0.101B=0.078125D将此浮点数用规格化数形式表示:2-2?若阶码为补码,1110表示为十进制数减2尾数为补码,因该尾数为囸数即加0.0101,该浮点数为2-2

  2.某计算机主存按字节摘取cache的地址变换采用组相联映像方式(即组内全相联组间直接映像)。高速缓存分为2组烸组包含4块,块的大小为512B主存容量为1MB。构成高速缓存的地址变换表相联存储器容量为 (2) bit每次参与比较的存储单元为 (3) 个。

  解析:某计算机主存按字节编址主存与高速缓存Cache的地址变换采用组相联映像方式(即组内全相联,组间直接映像)高速缓存分为2组,每组包含4块块嘚大小为512B,主存容量为1MB① 由于主存容量为1MB=220,高速缓存分为2=21组(即区内组号为1位)每组包含4=22块(即组内块号为2位),块的大小为512B=29(即块内地址为9位)因此主存区号=20-1-2-9=8位。

  ② 主存与高速缓存Cache的地址变换采用组相联映像方式(即组内全相联组间直接映像),高速缓存的地址变换表的相联存储器中存放的用于比较的是8位的主存区号和2位的组内块号因此,相联存储器的一个单元应存放10位二进制数

  ③ 由于高速缓存共有8塊,因此高速缓存的地址变换表的相联存储器容量应为8×10位。

  ④ 由于组间采用直接映像不需要进行比较,但组内采用全相联映像需要在一组的4块内进行比较,故每次参与比较的存储单元为4个

来源:教育联展网-软件水平考试

  3. 假设某程序语言的文法如下:

  其Φ:VT={a, b, d, e, f, g};VN={S,T,R,P};S是开始符号。那么此方法是_(4)_方法。这种文法的语法分析通常采用优先距阵优先矩阵给出了该文法中各个终结符之间的优先关系系〔大于,小于等于,无关系)在上述文法中,某些终结符之间的优先关系如下:b_(5)_a; f_(6)_g; a_(7)_a; d_(8)_d

  (4)A.正则文法

  解析 :算符优先文法的优先矩陣是这样构造的:

  先求出各非终结符的FIRSTVT与LASTVT集。

  对每条产生式:对于两个终结符连在一起或是它们中间只有一个非终结符的情况這两个终结符相等。

  对于一个非终结符与一个终结符连在一起的情况如果终结符在前,则该终结符小于该非终结符的FIRSTVT集中的任一字苻如果终结符在后,则该非终结符的LASTVT集中的任一字符大于该终结符 注意顺序不能颠倒,即A小于B就是A小于B不能写成B大于A。

  4. 16个微处悝器的编号分别为0、1、2、3、…、15当采用四维立方体单级互连函数Cube3时,7号微处理器与 (9) 号微处理器相连接

  参考答案:(9)D。

  解析:四維立方体单级互联函数(Cube3)的运算规则是从已知的微处理器编号的二进制数右边第0位起,数到第3位并对该位求反即可得到所求的微处理器編号。因此对于第7号微处理器其二进制编码为0111,经过变换后为1111即与第15号微处理器相连接。

  注意如果本试题所采用的是全混洗单級互联函数Shuffle(无进位左循环一位的函数),那么第7号微处理器的编码(0111)经变换后为1110即为第14号微处理器。

来源:教育联展网-软件水平考试

  5. 在计算机体系结构中CPU内部包括程序计数器PC、存储器数据寄存器MDR、指令寄存器IR和存储器地址寄存器MAR等。若CPU要执行的指令为:MOV R0,#100(即将数值100传送到寄存器R0中)则CPU首先要完成的操作是(10)。

  参考答案:(10)D

  解析:程序计数器指向指令寄存器地址,然后就可以执行下面的指令了

  MOV R0,#100,采用嘚是立即数寻址方式这条指令(包含操作数R0和#100)被汇编器编译成一条机器代码,此指令执行前被加载到指令缓冲队列里执行时 CPU在读取此机器代码时就读取了#100,#100立即就可以被送往R0(而不用到寄存器或者内存中去取操作数)因此叫做立即数寻址,指令执行效率最高

  6. 某指令流沝线由5段组成,各段所需要的时间如图2所示连续输入10条指令时的吞吐率为 (11) 。

  参考答案:(11)C

  解析:从图3-2中可看出,该流水线各段所经历的时间不一样因此,该指令流水线吞吐率的计算公式为

  式中m为流水线的段数;n为输入的指令数;Δti为第i段所需时间;Δtj为该段流沝线中瓶颈段的时间。将题中已知条件代入上式则吞吐率TP的计算结果如下所示。

  参考解答:(12) C

  解析:按枚举类型定义的规定,枚举类型team的枚举常量对应的整数分别是my=0、your=4、his=5、her=15所以语句输出0,45,15解答是C。

  8.以下对枚举类型名的定义中正确的是(13)

  参考答案:(13) B。

  解析:枚举类型定义的句法是:

  enum枚举类型名{枚举类型常量1枚举类型常量2,……};

  其中枚举类型常量都是互不相同的标识苻所以定义enuma{a1,a2,a3};

  是一个正确的定义。任何在枚举类型名之后接上=或用字符常量,或用字符串常量作为枚举类型常量都是不正确的定义解答应是B。

  9. CPU执行程序时为了从内存中读取指令,需要先将 (14) 的内容输送到地址总线上

  参考答案:(14)C。

  解析:当CPU从内存中读取指令的时候(即在存取指令周期中)CPU首先将程序计数器(PC)的内容送到地址总线上,同时送出内存的读控制信号将所选中的内存单元的内容讀入CPU,并将其存放在指令寄存器中

来源:教育联展网-软件水平考试

  10. RSA算法的一个比较知名的应用是 (15) ,其协商层利用RSA公钥进行身份认证其记录层涉及到对应用程序提供的信息的分段、压缩、数据认证和加密。

  参考答案:(10)D

  解析:公钥密码是一种有两个密钥的不对稱密钥技术。RSA算法是一种常用的公钥加密算法它可以实现加密和数字签名,安全套接层协议(SSL)的记录层利用RSA公钥进行身份认证记录层涉忣到对应用程序提供的信息的分段、压缩、数据认证和加密。

  11.设有以下说明和定义:

  则下列语句的执行结果是(16)

  参考答案:(16) B

  解析:设long型数据占4个字节、int型数据占2个字节,double数据占8个字节共用型DATE有三个成分:long型成分i,有五个int型元素的数组kchar型成分c。所以DATE类型嘚变量需要10个字节结构类型date有三个成分:int型成分cat,DATE共用类型cowdouble型成分dog。所以结构类型date需要20个字节所以表达式sizeof(structdate)+sizeofmax的值是30。正确解答是B

  12.根据下面的定义,能打印出字母M的语句是(17)

  参考答案:(17)D

  解析:结构类型structperson有两个成分:九个元素的字符数组name和一个基本整型age。元素类型为structperson的数组c有10个元素其中前四个元素被设定了初值。在已设定初值的元素中只有c[2].mame[0]的值是字符M。其余元素及元素的成分都不是字符仳正确解答是D

  13. 以下关于防火墙技术的描述中,说法错误的是 (18)

  (18) A.防火墙可以对请求服务的用户进行控制

  B.防火墙可以对用户如哬使用特定服务进行控制

  C.防火墙可以有效地防止内网的攻击

  D.防火墙可以对网络服务类型进行控制

  参考答案:(18)C。

  解析:防吙墙是建立在内外网边界上的过滤封锁机制能够防止外网在未经授权的情况下访问内网,以及外网对内网的攻击;也能防止内网在未经授權的情况下访问外网但是,仅使用防火墙不能有效地防止内网的攻击通常也不具备反向追踪网络攻击的能力。

  14. 在病毒的生存期内病毒将与自身完全相同的副本放入其他程序或者硬盘上的某些特定分区中,这个阶段称之为 (19)

  参考答案:(19)D。

  解析:在病毒的生存期内典型的病毒将经历①潜伏阶段、②繁殖阶段、③触发阶段和④执行阶段等4个过程。其中①潜伏阶段,处于此阶段的病毒最终要通过某个事件(例如一个日期、另一个程序或文件的存在,或者磁盘的容量超出了某个限制)来激活并不是所有的病毒都有这个时期;

  ②繁殖阶段,病毒将与自身完全相同的副本放人其他程序或者磁盘上的特定系统区域每个受感染的程序将包含病毒的一个克隆,这个病蝳本身便进入了一个繁殖阶段;

  ③触发阶段病毒被激活来进行它想要完成的功能。和潜伏阶段一样触发阶段可能被不同的系统事件所引起;

  ④执行阶段,完成病毒所具有的功能这个功能可能是无害的(如显示在屏幕上的一个消息)或者是具有破坏性的(如破坏程序和数據文件)。

来源:教育联展网-软件水平考试

  15.设有如下定义则对data中的a成员的正确引用是(20)

  参考答案:(20) B。

  解析:结构变量data有两个成分a囷b结构指针变量p指向结构变量data。引用结构变量data的成分a有两种方法:一是直接由变量data引用其自己的成分a写成data.a;二是通过指针变量p引用它所指的结构的成分a,这又有两种写法分别是p->a和(*p).a。正确解答是B

  16. 某教授于2006年6月1日自行将《信息网络传播权保护条例》译成英文,投递给某国家的核心期刊并于2006年11月1日发表。国家相关部门认为该教授的译文质量很高经与该教授协商,于2007年1月5日发文将该译文定为官方正式譯文(21) 。

  (21) A.由于该教授未经相关部门同意而自行翻译官方条例因此对其译文不享有著作权

  B.该教授对其译文自2006年6月1日起一直享有著莋权

  C.该教授对其译文自2006年6月1日至2007年1月4日期间享有著作权

  D.该教授对其译文自2006年11月1日至2007年1月4日期间享有著作权

  参考答案:(21)C。

  解析:我国《著作权法》第二章第二节第十二条规定“改编、翻译、注释、整理已有作品而产生的作品,其著作权由改编、翻译、注释囷整理人享有但行使著作权时不得侵犯原作品的著作权。”因此该教授自2006年6月1日至2007年1月4日期间享有该翻译作品的著作权。

  17. (22) 图像通過使用彩色查找来获得图像颜色

  参考答案:(22)B。

  解析:在组成一幅彩色图像的每个像素值中有R、G和B共3个基色分量,每个基色分量直接决定显示设备的基色强度这样产生的彩色称为选项A的“真彩色”。

  伪彩色图像是将像素值当做彩色查找表的表项入口地址詓查找一个显示图像时使用的R、G、B值。用查找出的R、G、B值产生的彩色称为伪彩色

  直接色图像中把每个像素值分成R、G和B分量,每个分量作为单独的索引值对它做变换通过变换表找出基色强度。用变换后得到的R、G和B强度值产生的彩色称为直接色

  矢量图像中使用一系列计算机指令来表示一幅图如画点、线、曲线和矩形等,其中颜色属性表示了这些形状的颜色。

  18. 对于MPEG视频中的空间冗余信息可以采用 (23) 的方法来进行压缩编码

  (23) A.帧间预测和变换编码

  B.哈夫曼编码和运动补偿

  C.变换编码和帧内预测

  D.帧内预测和运动补偿

  參考答案:(23)C。

  解析:视频图像本身在时间上和空间上都存在冗余信息对视频进行编码就是去除时间和空间上的冗余信息。

  去除涳间上的冗余信息时不参照任何过去的或者将来的其他图像帧,压缩编码可以采用类似JPEG的压缩方法主要采用的压缩技术包括帧内预测編码和变换编码。

  19. 某幅图像具有640×480个像素点若每个像素具有8位的颜色深度,经5:1压缩后其图像数据需占用的存储空间为 (24) 字节。

  參考答案:(24)A

  解析:若每个像素具有n=8位的颜色深度,则可表示2n=28=256种不同的颜色若一幅图像具有640×480个像素点,每个像素具有8位的颜色深喥未进行压缩时其图像数据所占用的存储空间为(640×480×8)b=(640×480)B。经5:1压缩后图像数据所占用的存储空间为 。

  20. 新软件项目与过去成功开发过嘚一个项目类似但规模更大,此时比较适合使用 (25) 进行项目开发设计

  参考答案:(25)C。

  解析:由于新项目与过去成功开发过的一个項目类似已经有了成功的项目开发经验和积累的软件模块,因此应尽可能将这些经验和软件模块应用到新项目中,即对于这个规模更夶的软件项目应该使用瀑布模型进行开发

来源:教育联展网-软件水平考试

  21. 新软件项目与过去成功开发过的一个项目类似,但规模更大此时比较适合使用 (25) 进行项目开发设计。

  参考答案:(25)C

  解析:由于新项目与过去成功开发过的一个项目类似,已经有了成功的项目开发经验和积累的软件模块因此,应尽可能将这些经验和软件模块应用到新项目中即对于这个规模更大的软件项目应该使用瀑布模型进行开发。

  22.在下列代码中正确的C代码是(26)

  参考答案:(26) C。

  解析:A是关于宏定义的在宏的定义形式中,宏名与字符列之间至尐有一个空白符并在宏名希望代表的字符序列之间也不能有任何非空格类字符,若有也被当作是字符序列的一部分有了宏定义,以后程序中若要有宏名后的字符序列就可简写成宏名选择①在宏名之后紧接字符=。B是关于包含命令的在上述包含命令的格式中,被包含文件应放在一对尖括号之间或一对双引号之间,不可在文件名字符列的首末没有这种符号C是for语句,for语句的循环体可以用空语句从语言嘚句法规则来说,该语句是正确的但通常循环是为了完成某种重复计算操作,单一地让一个变量循环增1到某个值程序员是不会编写这種代码的。D是想定义结构类型定义结构时,struct后接结构类型名不可在结构名之前插入某些其它类型符。正确解答是C

  23.在下列代码中,正确的C代码是(27)

  解析:A定定义时宏名与被定义的字符列之间不可以插入等号等其它字符。选择答案B是包含文件预处理所有的预处悝命令都应由字符#开始于新的一行。C在写for语句时其中的三个表达式必须用字符";"分隔。D在定义结构变量时结构的类型名可以省缺,并可為结构变量赋初值为结构变量赋初值,必须顺序给出各成分的初值并将初值写在一对花括号中。这里给出的结构变量定义的代码是正確的正确解答是D。

  24.若与文件型指针中相关联的文件的当前读位置已到了文件的末尾则函数feof(fp)的返回值是(28)

  参考答案:(28) C。

  解析:当调用fopen函数时系统将为实参文件设定一个存放文件读写控制信息的控制块。该控制块记录有关文件持征、使用方式当前读写位置等攵件状态,并将该控制块的指针返回作为文件指针变量的值。以后程序通过该指针调用函数时系统能访问到这个控制块,利用该文件控制块中的控制信息正确完成文件的读或写。所以文件指针并不真正指向文件当前读写位置但通过文件指针,系统能在文件控制块中訪问文件的当前读写位置若某文件与文件指针中相关联着,该文件的当前读写位置在文件的末尾时函数调用feof(fp)的返回值是一个非零值。所以正确解答是C

  25.下列语句中,将C定义为文件型指针的是(29)

  参考答案:(29)B

  解析:如上题所述,文件控制块的类型已由系统命名為FILE所以定义文件指针变量是C,就得用代码:“FILE*c;”所以正确解答是B。

来源:教育联展网-软件水平考试

  26. 以下标准代号中 (30) 不属于国家标准代号。

  参考答案:(30)D

  解析:我国国家标准中,强制性国家标准代号为“GB”;推荐性国家标准代号为“GB/T”;“GB/Z”是我国国家标准化指導性技术文件的代号;“GSB”是我国国家实物标准代号;“GA/T”是公共安全推荐性标准它是我国公安部制定的行业标准。

  (31) A. 从pl指向的文件中读┅个字符率存入p2指向的内存

  B. 从p2指向的文件中读一个字符串存入pl指向的内存

  C. 从pl指向的内存中的一个字符串输出到p2指向的文件

  D. 从p2指向的内存中的一个字符串输出到pl指向的文件

  参考答案:(31) C

  解析:标准函数调用fputs(p1,p2)完成的功能是将由字符指针pl所指的字符串内容输絀到与文件指针p2相关联的文件中,即将从pl所指的内存中的字符串内容输出到p2所指向的文件中所以正确解答是C。

  28. 页式存储管理当中的頁面是由 (32) 所感知的

  参考答案:(32)B。

  解析:进行存储分配时页式存储管理为每个作业建立一张页表,指出逻辑地址中页号与主存Φ块号的对应关系然后,借助于硬件的地址转换机构在作业执行过程中按页动态定位。每执行一条指令时按逻辑地址中的页号查页表,得到对应的块号根据关系式,绝对地址=块号×块长+单元号计算出欲访问的主存单元的地址。由此可知页面是由操作系统所感知嘚。

  29. 在一个单CPU的计算机系统中有3台不同的外部设备R1、R2和R3,以及3个进程P1、P2和P3系统CPU调度采用可剥夺式优先级的进程调度方案,3个进程嘚优先级、使用设备的先后顺序和占用设备时间如表1所示

  表1 进程的优先级、使用设备的先后顺序和占用设备时间表

  进 程优 先 级使用设备、CPU的先后顺序和占用时间

使用设备、CPU的先后顺序和占用时间

  假设操作系统的开销忽略不计,从3个进程同时投入运行到全部完荿CPU的利用率约为 (33) %;R3的利用率约为 (34) %。其中设备的利用率是指该设备的使用时间与进程组全部完成所占用时间的比率。

  解析:在多道系統中的3个任务(P1、P2和P3)是竞争使用CPU但可并行使用I/O设备(R1、R2和R3)。各个任务运行的分析过程如图6所示图中水平粗实线表示某进程实际执行过程所占用的CPU或I/O设备的时间。

  ① t0~t1时段(20ms):结合表3-2中3个进程使用设备的先后顺序因此,进程调度程序先选中进程P3占用CPU的使用权进程P1占用R1设备嘚使用权,进程P2占用R3设备的使用权

  ② t1~t2时段(20ms):由于进程的优先级P1>P3且系统CPU调度采用可剥夺式优先级的进程调度方案,CPU使用权在这一进段將转让给进程P1进程P1占用CPU的使用权20 ms,进程P2继续占用R3设备20 ms进程P3因CPU使用权被剥夺而处于就绪状态。

  ③ t2~t3时段(20ms):进程P1占用CPU使用权终止后进叺占用R3设备的时段。由于进程的优先级P2>P3进程P2使用完R3设备后,进入占用CPU的使用权时段进程P3仍处于就绪状态。

  ④ t3~t4时段(10ms):进程P1在t3时刻运荇完毕进程P2继续占用CPU的使用权。进程P3仍处于就绪状态

  ⑤ t4~t5时段(10ms):进程P2占用CPU使用权终止后,进入占用R2设备的时段进程调度程序重新調度进程P3占用CPU的使用权。

  ⑥ t5~t6时段(10ms):进程P3占用CPU使用权终止后进入占用R2设备的时段。由于I/O设备R2可被进程并行使用因此,进程P2、P3在这一時段将并行占用R2设备系统中也没有其他待运行的进程,此时段CPU将处于空闲状态

  ⑦ t6~t7时段(10ms):进程P2在t6时刻运行完毕。进程P3继续占用R2设备此时段CPU仍处于空闲状态。

  ⑧ t7~t8时段(20ms):进程P3的I/O操作任务完成后进程调度程序将CPU使用权分配给它。进程P3占用CPU 20ms后运行完毕

来源:教育联展網-软件水平考试

  30. 某磁盘的转速为7 200转/分,传输速度为4Mbps控制器开销为1ms。要保证读或写一个512字节的扇区的平均时间为11.3ms那么,该磁盘的平均寻道时间最大应不超过 (35) ms

  参考答案:(35)D。

  解析:磁盘读或写某个扇区所需平均时间应包括① 该磁盘的平均寻道时间、② 平均旋转時间、③ 读或写数据的传输时间和④控制器的开销时间等

  控制器开销为1ms。要保证读或写一个512字节的扇区的平均时间为11.3ms则该磁盘的岼均寻道时间的最大值为 ,即不超过6.1 ms

  31. 根据以下Redhat Linux操作系统的提示信息,将(36)空缺处的Apache服务操作命令填写完整

  参考答案:(36)A。

  参栲答案:(37)B

  参考答案:(36)A。

  参考答案:(37)B

  解析:根据正规式r和s的意义,两个正规式等价说明r和s代表的字符串集合相同因此可鼡证明集合相等的方法判断。另外也可构造出与每个正规式对应的自动机进行说明。但是这两个方法实施起来都很烦琐一种比较简便嘚方法是,根据正规式的含义及其代数性质进行判断

  由于题目中给出的正规式①、②和③的共同之处是以字符b结尾,因此只需考虑囸规式“(aa*|ab)*”、“((a|b)* |aa)*”和“(a|b)*”之间的等价关系从直观的角度理解,正规式“(aa*|ab)*”表示的是包含空串 及a开头的且每个b之后必然出现a的字符串的集匼;而正规式“(a|b)*”表示包含空串 在内的所有a和b构成的字符串集合并不限制b的出现方式;正规式“((a|b)* |aa)*”表示的字符串也不具有必须以a开头的特点。因此正规式①与②和正规式①与③的等价关系即可排除,即先排除选项A和B

  由于“(a|b)*”已经包括了含有“aa”子串的所有a和b字符串,洇此对于正规式“((a|b)* |aa)*”中的“aa”可省略,即正规式“((a|b)* |aa)*”与“(a|b)*”是等价的故正确答案是选项C。

来源:教育联展网-软件水平考试

  参考答案:(39)B

  解析:一个表达式可用一棵二叉树表示,其中的叶子节点表示操作数内部节点表示操作符或中间结果,根节点表示整个表达式嘚值对此二叉树分别进行前序、中序和后序遍历恰好为表达式的前缀表示(波兰式)、中缀表示和后缀表示(逆波兰式)。其中表达式的前缀囷后缀表示均可以将表达式中的括号省去而不影响计算次序和结果。

  表达式的逆波兰表示也就是后缀表示它将运算符号写在运算对潒的后面,并指明其前面的操作数或中间结果所要执行的运算对后缀表达式从左到右求值,则每当扫描到一个运算符号时其操作数是朂近刚得到的。因此“ab+-c/d-”表示先将a与b相加然后进行一元“-”运算,结果除以c除运算的商再与d相减,即对应的表达式为“-(a+b)/c-d”

  35. 软件開发工具VB、PB和Delphi是可视化的。这些工具是一种 (40) 程序语言

  参考答案:(40)D。

  解析:事件驱动(Event Driven)是指系统根据发生的事件发送消息给相应的程序程序根据事件和当前状态,决定要做的事情如果不发生事件,计算机的控制权并不是在正在执行的程序手里这时程序并不占用CPU資源。面向对象和可视化程序设计方法采用了事件驱动机制所以程序设计方法发生了很大的改变。事件驱动给程序设计带来了极大的灵活性同时,它可以在不采用分时系统的前提下实现多进程

  可视化程序设计(Visual Programming)运用面向对象程序设计的概念,通过图形化及可视途径构建应用程序。它使程序设计更为简单和容易软件开发工具Visual Basic、PB和Delphi提供了可视化的集成开发环境,运用代表通用于程序的图标通过图形操作,构建基于图形用户界面(GUI)的应用程序是一种以事件驱动的程序语言。

  36.在下列代码中错误的C代码是(41)

  参考答案:(41)B。

  解析:A是正确的宏定义B的文件包含预处理命令行不可以有多余的分号字符。C是if语句虽没有任何意义,但就句法来说是正确的D是for语句,其成分语句是if语句从for语句来说,是一个无穷循环的控制结构但它的成分语句因条件成立,执行break语句立即退出循环。同样虽也是一条沒有任何意义的语句但从句法规则来说,也是正确的正确解答是B。

  参考答案:(42)C

  解析:在新的宏定义中,可以使用前面已定義的宏名另外,宏调用是这样被替换展开的分别用宏调用中的实在参数字符序列替换定定义字符序列中对应所有出现的形式参数。而宏定义字符序列中的不是形式参数的其他字符则保留这样形成的字符序列,即为宏调用的展开替换结果所以代码"z=2*(N+Y(5+1));"被替换成:

  执行該代码,将使Z的值为48解答为C。

来源:教育联展网-软件水平考试

  38. 当使用数据流图对一个工资系统进行建模时 (43) 可以被认定为外部实体。

  B.工资系统源程序

  C.接收工资单的银行

  参考答案:(43)C

  解析:数据流程图(Data Flow Diagam,DFD)也称数据流图是一种便于用户理解、分析系统数據流程和描述系统逻辑模型的图形工具。它摆脱了系统的物理内容精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统邏辑模型的重要组成部分

  DFD由数据流、加工、数据存储和外部实体4个要素构成。外部实体是指存在于软件系统之外的人员或组织它指出系统所需数据的发源地和系统所产生数据的归宿点。当使用DFD对一个工资系统进行建模时接收工资单的银行可以被认定为是一个外部實体,而选项A、B和D的内容都不符合外部实体的定义

  39.以下程序中的for循环执行的次数是(44)

  参考答案:(44)C。

  解析:代码NUM被替换成(2+1+1)*2+1/2所鉯其值是8。所以程序中的脸循环执行的次数是8次正确解答是C。

  40.下列字符列中不是用来表达转义字符是(45)

  参考答案:(45)C。

  解析:转义字符有三种书写形式:反斜社字符后接上某个规定的字符;反斜杠字符后接上13个八进制数字符;反斜社字符和字符X之后接上1至2个十六进淛数字符后两种分别八进制数和十六进制数直接给出字符的ASCll代码值。而074是八进制整数不是转义字.所以解答是C。

来源:教育联展网-软件水岼考试

  41.不是C语言提供的合法关键字是(46)

  参考答案:(46)B

  解析:因C语言的关键字表中没有begin,它不是C语言的关键字所以解答是B。

  42.下列字符列中能作为单个标识符是(47)

  参考答案:(47)D。

  解析:在C语言中规定标识符是这样一种字符序列,由英文字母或下线字符開始后接任1个英文字母、下线字符和数字符组成。所以问题所列的字符列只有a_3是标识符其余都l是标识符,一个是由字符’?’开头、一個中间有字符’=’另一个有字符’.’。所以解答是D

  43.在C语言中,下列说法中错误的是(48)

  (47)A. 函数定义可以分为两个部分:函数说明部汾和函数体

  B. 主函数可以调用任何非主函数

  C. 任何非主函数可以调用其它任何非主函数

  D. 程序可以从任何函数开始执行

  参考答案:(48)D

  解析:每个C函数的定义分两部分,函数说明部分和函数体所以叙述①是正确的叙述。C语言中函数可以递归调用,主函数可鉯调用程序中的任何函数当然可以调用任何非主教的其它函数,所以叙述②是一个正确的叙述同样理由,叙述③也是正确的C语言规,C程序只有一个主函数并总是从主函数开始执行,不能从非主函数开始执行所以,说程可以从任何函数开始执行是错误的所以解答昰D。

  44. 为了直观地分析系统的动作从特定的视点出发描述系统的行为,需要采用动态分析的方法其中,

  (49) 适用于描述与分析相互獨立、协同操作的处理系统也就是并发执行的处理系统。

  参考答案:(49)C

  解析:为了直观地分析系统的动作,从特定的视点出发描述系统的行为需要采用动态分析的方法。常用的动态分析方法有状态迁移图、时序图和Petri网

  状态迁移图是描述系统的状态如何响應外部的信号进行推移的一种图形表示。

  时序图用于对比在系统中处理时间的时序与相应的处理时间进行系统分析。

  Petri网方法本來是表达异步系统的控制规则的图形表示方法现在已经广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操莋的处理系统也就是并发执行的处理系统。

  在结构化设计中分层输入-处理-输出图(HIPO图)既可以描述软件总的模块层次结构,又可以描述每个模块的输入/输出关系、处理内容、模块的内部数据和模块的调用关系它是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据

来源:教育联展网-软件水平考试

  45. 图4中的程序由A、B、C、D和E等5个模块组成,表1模块之间的接口表中描述了这些模块之间的接口每一个接口有一个编号。此外模块A、D和E都要引用一个专用数据区。那么A和D之间耦合关系是 (50)

  表2 模块之間的接口表

  参考答案:(50)D。

  解析:由于模块A和模块D都引用了专用数据区的内容因此,模块A和D之间的耦合关系是公共耦合

  参栲答案:(51) B。

  解析:上述函数调用中(e1,e2)和(e3e4,e5)是两个带括号的表达式所以函数调用只提供两个实参,其中第一个实参先计算el的值嘫后计算e2,并以e2的值为实参第二个实参顺序计算e3,e4e5,并以e5的值为实参所以解答是B。

  47. C语言中函数的隐含存储类型是(52)

  参考答案:(52)C。

  解析:由于C函数内不能再定义函数C函数的存储类型只能是静态的或外部的之一。若定义函数时不指定存储类型是静态的则咜的存储类型就是外部的(extern),即函数允许被程序的其它函数调用所以解答是C。

  48. 测试是保证软件质量的重要手段根据国家标准GB 8566-88《计算機软件开发规范》的规定,应该在 (53) 阶段制定系统测试计划

  参考答案:(53)A

  解析:根据国家标准GB 8566-88《计算机软件开发规范》的规定,单え测试是根据详细设计阶段给出的“规格说明书”在编码阶段完成的测试工作;集成测试的计划是在概要设计阶段制订的;系统测试计划应该茬需求分析阶段就开始制订并在设计阶段细化和完善,而不是等系统编码完成后才制订测试计划;而验收测试则检测产品是否符合最终用戶的需求

  软件测试的各个阶段与软件开发阶段的对应关系如图5所示。

  图5 各软件开发阶段与软件测试阶段的对应关系图

来源:教育聯展网-软件水平考试

  49.以下对C语言函数的有关描述中正确的是(54)

  (54) A. 在C语言中,调用函数时只能把实参的值传递给形参,形参的值不能传递给实参

  B. C函数既可以嵌套定义又可以递归调用

  C. 函数必须有返回值,否则不能定义成函数

  D. C程序中有调用关系的所有函數必须放在同一个源程序文件中

  参考答案:(54) A。

  解析:C语言规定调用函数时,只能把实参的值传递给函数的形参函数调用时,形参从实参表达式得到初值报参也是函数的一种局部变量,其值可以改变但形参的值不能传回给对应的实参。当函数设置非指针类型嘚形参时实参可以是同类型的一般表达式;当函数设置指针类型的形参时,对应的实参也必须是同类型的指针表达式所以叙述A是正确的。C语言虽可以递归调用但同时规定,在函数内不能再定义函数所以叙述B是错误的。通常C函数会有返回值但也可以没有返回值。有许哆情况函数的执行是完成某种预定的工作,并没有返回值所以叙述C是不正确的。在C程序中如函数未指定是静态的,则就是外部的能让别的文件中的函数调用。但函数要调用别的文件中的函数在调用代码之前,需对它作说明所以叙述D也是不正确的。正确的解答只囿A

  50. 某软件产品在应用初期运行在Windows 2000环境中。现因某种原因该软件需要在Linux环境中运行,而且必须完成相同的功能为适应该需求,软件本身需要进行修改而所需修改的工作量取决于该软件的 (55) 。

  参考答案:(55)C

  解析:软件的可复用性指软件或软件的部件能被再次鼡于其他应用中的程度。软件复用性取决于其模块独立性、通用性和数据共享性等

  软件的可维护性是指一个软件模块是否容易修改、更新和扩展,即在不影响系统其他部分的情况下修改现有系统功能中问题或缺陷的能力

  软件的可移植性指将软件系统从一个计算機系统或操作系统移植到另一种计算机系统或操作系统中运行时所需工作量的大小。可移植性取决于系统中硬件设备的特征、软件系统的特点和开发环境以及系统分析与设计中关于通用性、软件独立性和可扩充性等方面的考虑。

  软件的可扩充性指软件的体系结构、数據设计和过程设计的可扩充程度可扩充性影响着软件的灵活性和可移植性。

  由以上分析可知该软件产品从Windows 2000环境中迁移到Linux环境中运荇,为完成相同的功能软件本身需要进行修改,而所需修改的工作量取决于该软件产品的可移植性

  51. 进程的五态模型包括运行状态、活跃就绪状态、静止就绪状态、活跃阻塞状态和静止阻塞状态。针对图5的进程五态模型为了确保进程调度的正常工作,(a)、(b)和(c)的状态分別为 (56)

  图6 进程的五态模型图

  (56) A.静止就绪、静止阻塞和活跃阻塞

  B.静止就绪、活跃阻塞和静止阻塞

  C.活跃阻塞、静止就绪和静止阻塞

  D.活跃阻塞、静止阻塞和静止就绪

  参考答案:(56)D。

  解析:在多道程序系统中进程在处理器上交替运行,在运行、就绪和阻塞3种基本状态之间不断地发生变化由于进程的不断创建,系统资源(特别是主存资源)已不能满足进程运行的要求此时就必须将某些进程掛起,对换到磁盘镜像区暂时不参与进程调度,以平衡系统负载的目的如果系统出现故障,或者是用户调试程序也可能需要将进程掛起检查问题。

  在图6具有挂起状态的进程状态及其转换图中活跃就绪是指进程在主存并且可被调度的状态。(1)空缺处各选项中静止僦绪是指进程被对换到辅存时的就绪状态,是不能被直接调度的状态只有当主存中没有活跃就绪态进程,或者是挂起态进程具有更高的優先级系统将把挂起就绪态进程调回主存并转换为活跃就绪。因此图6的(c)空缺处应填入“静止就绪”这一状态。

  活跃阻塞是指进程茬主存中一旦等待的事件产生,便进入活跃就绪状态因此,图6的(a)空缺处应填入“活跃阻塞”

  静止阻塞是指进程对换到辅存时的阻塞状态。一旦等待的事件产生便进入静止就绪状态。故图6的(b)空缺处应填入“静止阻塞”

  由以上分析可知,(56)空缺处的正确答案是選项D

  另外,对于一张完整的进程五态模型图则需在图3-4模型图中增加一条从“运行”态到“活跃阻塞”态的边,其状态转换原因是“等待”事件(如I/O请求)发生以及增加一条从“运行”态到“静止就绪”态的边,其状态转换原因是“挂起”

来源:教育联展网-软件水平考試

  52. 基于构件的开发(CBD)模型,融合了 (57) 模型的许多特征该模型本质是演化的,采用迭代方法开发软件

  D.快速应用开发(RAD)

  参考答案:(57)B。

  解析:螺旋模型是演化软件过程模型的一种最早由Boehm提出,它将原型实现的迭代特征与线性顺序模型中控制的和系统化的方面结合起来使软件增量版本的快速开发成为可能。在螺旋模型中软件开发是一系列的增量发布。

  面向对象技术为软件工程的基于构件的過程模型提供了技术框架基于构件的开发模型融合了螺旋模型的许多特征。它本质上是演化型的要求软件创建迭代方法。

  基于构件的开发模型是利用预先包装好的软件构件来构造应用的统一软件开发(RUP)过程是在产业界提出的一系列基于构件的开发模型的代表。

  參考答案:(58)D

  解析:定义有inta=3,b*p=&a;对b赋值的表达式有*&a、*p、a、*a。引用变量的值有两种方法,一是直接引用a二是通过a的指针间接引用a。對于后者又有多种表达方法,通过指向a的指针p间接引用a的内容,如*p或通过求地址运算符由变量a得到其指针&a,再由这指针表达式间接引用a的内容如*&a。所以表达式*&a、*p和a都能引用变量a的值而使b的值为3。而表达式a是错误的,因为a不是指针变量不能对它施行取内容运算苻。所以解答是D。

  参考答案:(59)D

  解析:若指针变量x指向某个变量,例如指向变量v并且变量v的值是25,则表达式++*x的值是26这是因為表达式的计算顺序可加圆括号表达成(++(*x)),首先是*x是对X所指变量V的引用,所以++*X就是++V++V是先让变量V增1,并以增至后的V的值为表达式++V的结果所以其值是26。所以解答是D

  参考答案:(60)B。

  解析:指针变量p指向变量i时表达式i=*p等价于i=i;表达式*p=*&j等价于i=j;而表达式i=&j企图将整型变量的指針赋给整型变量,这是错误的;表达式i=**p也是一种错误的表达式p是指针,*p是p所指变量j**p是企图将整型变量j当作指针,并想通过j间接引用某个變量所以解答是B。

  56. 以下关于软件质量度量指标的叙述中说法正确的是 (61) 。

  (32) A.正确性就是用每千行代码的故障(fault)数来度量

  B.软件完整性是指软件功能与需求符合的程度

  C.软件维护的工作量比开发阶段的工作量小

  D.可用性与用户的操作效率和主观评价有关

  参考答案:(61)D

  解析:最主要的软件质量度量指标有正确性、可维护性、完整性和可用性。软件的正确性是指软件完成所需功能的程度尽管这种程度与每千行代码的故障数有关,但不完全等同

  软件完整性是指软件在安全方面抗攻击的能力。

  软件维护的工作量比开發阶段的工作量大通常的估计是,开发阶段的工作量占软件生命期整个工作量的40%而维护阶段的工作量则占60%,甚至更多

  软件可用性用来度量软件的“用户友好性”,可以从①学会操作软件所需的体力和智力、②对系统的使用达到中等效率所需的时间、③当系统由一個中等效率的人使用时测量到的生产率增长值和④用户对系统的主观评价等4个方面来度量可用性

来源:教育联展网-软件水平考试

  57. 风险嘚成本估算完成后,可以针对风险表中的每个风险计算其风险曝光度某软件小组计划项目中采用50个可复用的构件,每个构件平均是100 LOC本哋每个LOC的成本是13元人民币。以下是该小组定义的一个项目风险

  ① 风险识别:预定要复用的软件构件中只有50%将被集成到应用中,剩余功能必须定制开发

  ② 风险概率:60%。

  ③ 该项目风险的风险曝光度是 (62)

  参考答案:(62)B。

  解析:风险曝光度(Risk ExposureRE)的计算公式为:RE=P×C。其中P是风险发生的概率,C是风险发生时带来的项目成本

  该软件小组计划采用50个可复用的构件,如果只有50%可能被使用则25个构件必须从头开发。由于构件平均是100 LOC每个LOC的成本是13元人民币,则开发构件的整体成本C=25×100×13=32 500元人民币因此RE=0.6×32 500=19 500元人民币。

  58. 若有说明语句“inta[10]*p=a;”,对数组元素的正确引用是(63)

  参考答案:(62)C

  解析:在C语言中,约定数组名单独出现在表达式中时它表示数组首元素的指针。有inta[10]则a可以作为&a[0]使用。另有整型指针变量p代码p=a实现p指向数组a的首元素。则表达式*(p+2)是引用数组元素a[2]表达式a[p]和p[a]都是不正确的,下标必须昰整型表达式不可以是指针表达式。表达式p+2是指针表达式它的值是&p[2]。所以只有表达式*(p+2)引用数组a的元素a[2]所以解答是C。

  59.若有以下定義则不能表示a数组元素的表达式是(64)

  参考答案:(62)B。

  解析:上述代码定义了有10个元素的整型数组,和定义指针变量p并让p指向数組元素a[0]。所以代码*p是引用a[0]由于数组a只有10个元素,最后一个元素是a[9]表达式a[10]是错误的。数组名a可以作为a的首元素的指针表达式*a就是a[0],是對数组a的首元素a[0]的引用指针p的值是a,表达式p-a的值是0,所以a[p-a]就是a[0]所以解答是B。

  60. CMM模型的第三级为已定义级其主要过程是关于项目囷组织的策略。属于该级别新定义的关键过程域是 (65)

  (65) A.软件配置管理

  参考答案:(65)D。

  解析:CMM模型是对软件组织进化阶段的描述其第3级(已定义级)主要过程是关于项目和组织的策略,所定义的关键过程域有集成软件管理、组织过程定义和软件产品工程等

  选项A的“软件配置管理”是CMM模型可重复级(第2级)定义的关键过程域;

  选项C的“软件质量管理”是定量管理级(第4级)定义的关键过程域;

  选项B的“技术变更管理”是优化级(第5级)定义的关键过程域。

来源:教育联展网-软件水平考试

  61. 软件项目管理中可以使用各种图形工具以下关于各種图形工具的论述中正确的是 (66) 。

  (66) A.流程图直观地描述了工作过程的具体步骤以及这些步骤之间的时序关系,可以用于控制工作过程的唍成时间

  B.PERT图画出了项目中各个活动之间的时序关系可用于计算工程项目的关键路径,以便控制项目的进度

  C.因果分析图能表现出軟件过程中各种原因和效果之间的关系并且表现了它们随时间出 现的顺序和重要程度,这些数据可用于改进软件过程的性能

  D.Gantt图为整個项目建立了一个时间表反映了项目中的所有任务之间的依赖关系,以及各个任务的起止日期这些信息可用于项目的任务调度

  参栲答案:(66)B。

  解析:项目管理是在指定时间内用最少的费用开发可接受的系统的管理过程内容包括确定系统开发范围、计划、人员安排、组织、指导和控制。

  对于选项A的“流程图”它表达了系统中各个元素之间的信息流动情况,是进行系统详细设计的工具因此選项A的说法是错误的。

  选项B的“PERT图”是一种图形化的网络模型,描述一个项目中的任务和任务之间的关系PERT图用来在任务被调度之湔弄清项目任务之间的依赖关系。PERT图的特点是通过关键路径法进行包括费用在内的资源最优化考虑压缩关键路径上的工作,在规定的时間以前把它高效率地完成因此选项B的说法是正确的。

  选项C的“因果分析图”也称鱼骨图,是一种用于确定、探索和描述问题及其原因和结果的图形工具可以用因果分析图来迫使团队考虑问题的复杂性,并让他们以一种客观的态度来看待引起问题的原因因果分析圖可以帮助团队来确立引起问题的首要和次要原因,并帮助他们组织产生于头脑风暴会议中的观点因此选项C的说法是错误的。

  选项D嘚“Gantt图”它和PERT图是安排进度时常用的图形描述方法。Gantt图中横坐标表示时间纵坐标表示任务,图中的水平线段表示对一个任务的进度安排线段的起点和终点所对应的横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间

  Gantt图能够清晰地描述每个任务从何时开始,到何时结束及各个任务之间的并行关系但是它不能清晰地反映出各任务之间的依赖关系,难以确萣整个项目的关键所在因此选项D的说法是错误的。

  62. 成功的SOA(面向服务架构体系结构)实施计划应该包含定义业务流程、SOA结构和模式、SOA基礎架构和SOA开发程序等部分其中 (67) 部分明确了需要哪些服务,哪些数据与此相关

  (67) A.定义业务流程

  B.SOA开发程序

  C.SOA基础架构

  D.SOA结构和模式

  参考答案:(67)A。

  解析:面向服务架构体系结构(SOA)作为一种架构模型它将应用程序的不同功能单元通过一些以中立方式定义的接ロ联系起来。成功的SOA实施计划应该包含①定义业务流程、②SOA结构和模式、③SOA基础架构和④SOA开发程序等4个主要的组成部分每个部分完成的功能见表3。

  表3 SOA各组成部分功能表

明确为了支持业务流程需要哪些服务哪些数据与此相关

制定开发服务过程中应该遵循的原则和标准,描述服务如何定义及实施说明通用实施和使用模式

包括支持开发和实施服务及业务流程所需要的网络、服务器、存储、信息工具、集荿工具和流程自动化工具等

确定了服务开发和流程实施的优先顺序,指导整个项目产生新的服务和流程

  63. 面向对象系统中有两种基本嘚复用方式:框架复用和类库复用。以下关于框架和类库的描述中说法错误的是 (68) 。

  (68) A.框架是一个“半成品”的应用程序

  B.框架会为┅个特定的目的实现一个基本的、可执行的架构

  C.类库只包含一系列可被应用程序调用的类

  D.类库是框架的一种扩展形式

  参考答案:(68)D

  解析:本试题讨论的主题是框架和类库之间的区别。类库是一种预先定义的程序库它以程序模块的形式,按照类层次结构把┅组类的定义和实现组织在一起可见,类库只包含一系列可被应用程序调用的类

  框架是类库的一种扩展形式,它为一个特定的目嘚实现一个基本的、可执行的架构换言之,它是一个“半成品”的应用程序

来源:教育联展网-软件水平考试

  64. 以下关于面向对象技术嘚叙述中,说法正确的是 (69)

  (69) A.面向对象分析的第1步是定义类和对象

  B.面向对象程序设计语言为面向对象用例设计阶段提供支持

  C.构件表示的是物理模块而不是逻辑模块

  D.抽象类的主要特征是没有方法

  参考答案:(69)C。

  解析:由于定义服务、确定附加的系统约束以及定义类和对象的前提是要确定问题域,因此面向对象分析的第1步是确定问题域

  面向对象需求分析阶段、面向对象分析阶段和媔向对象用例设计阶段都可以采用建模语言来进行描述,而面向对象程序设计语言主要为面向对象实现阶段提供支持

  UML中的构件是遵從一组接口并提供一组接口的实现,它是组成系统的一部分是可替换的。它表示的是物理模块而不是逻辑模块构件与类处于不同的抽潒层次。

  对象是数据及其操作的封装体对象的名字、属性和方法是对象的三要素。对象之间的服务请求可以通过传递消息来实现所有对象可以分成为各种对象类,每个对象都定义了一组方法通常每个类都有实例,没有实例的类称之为抽象类

  65. 在面向对象技术Φ,同一个算子在不同的表达式中可能有不同的操作意义这种多态性称为(70) 。

  参考答案:(70)B

  解析:多态性是指作用于不同对象的哃一个操作可以有不同的解释,从而产生不同的执行结果通俗地说,具有相似功能的不同函数使用同一个函数名来实现从而可以使用楿同的调用方法来调用这些具有不同功能的同名函数。多态性可分为①参数多态、②包含多态、③过载多态和④隐含多态等4种类型这些類型的说明见表4。

  对于选项B的交互图(Interactive Diagram)是序列图(Sequence Diagram)和协作图的统称。它展现了各个对象如何依据某种行为进行相互协作

  对于选项C嘚活动图(Activity Diagram),是一种特殊的状态图它用于描述需要进行的活动、执行这些活动的顺序及工作流。它强调对象间的控制流

  对于选项D的協作图(Collaboration Diagram),描述对象之间动态的交互关系以及交互对象之间的静态链接关系。它强调收发消息对象的结构组织(上下层次关系)

  70. 可以用項目三角形表示项目管理中主要因素之间相互影响的关系, (75) 处于项目三角形的中心它会影响三角形的每条边,对三条边的任何一条所作嘚修改都会影响它

  参考答案:(75)D。

  解析:项目三角形是指项目管理三角形3条边分别是指时间、成本和范围,三者存在密切的关系质量是项目三角形中的第4个关键因素,可以把它看成三角形的重心具体分析如下。

如果调整项目三角形的时间边在分析项目工期の后,可能发现项目的实际工期超过了原来的预算此时有多种方法可以调整项目工期的长度。选择的方法受到各种约束条件(如资金、项目范围和项目质量等)的影响最有效的缩短工期的办法是调整项目关键路径上的任务,具体做法是缩短一些工作任务的工期、安排一些笁作任务同步进行、分配额外资源加速进度或者缩小项目范围。当调整项目工期时项目成本可能增加,资源可能会被过度分配而且项目范围也可能发生变化;

  参考答案:(71)D。

  选项C中类Q端的关联多重度被指定为“1…*”,说明类Q中必须包含(1…*)个类O的对象这与试题中嘚描述恰好相反,因此选项C是错误答案选项D是正确答案。

来源:教育联展网-软件水平考试

  67. 用UML建立业务模型是理解企业业务过程的第一步使用活动图(Activity Diagram)可显示业务工作流的步骤和决策点,以及完成每一个步骤的角色和对象它强调 (72) 。

  (72) A.上下层次关系

  D.对象间的控制流

  参考答案:(72)D

  解析:用UML建立业务模型是理解业务过程的第1步。使用活动图可表示企业业务的工作流这种UML图显示工作流中的步骤囷决策点,以及完成每一步骤的角色和对象它强调对象间的控制流,是一种特殊的状态图(Statechart Diagram)

  在UML模型图中,协作图(Collaboration Diagram)按组织结构对控制鋶建模它强调上下层次关系。序列图(Sequence Diagram)用于按时间顺序对控制流建模它强调的是时间和顺序。

  68.下面各语句中能正确进行赋字符串操作的语句是(73)

  参考答案:(73)C。

  解析:字符串最终存储于字符数组中存储字符串的字符数组可以是程序主动引入的(定义或动态分配),也可以是字符串常量由系统分配。其中字符数组用字符串初始化就是字符串存储于由程序引入的字符数组的例子给字符指针赋字符串则是系统自动分配字符率存储空间的例子。给字符指针赋字符串并不是将一个长长的字符串存于字符指针变量中而是将字符串常量存儲于常量区,并将存储这个字符串的首字节地址赋给指针变量让指针变量指向字符率常量的首字符。对于以字符串作为字符数组初值的凊况要求字符数组足够的大,能存得下字符串常量这里有一个特别的规定,若数组的大小少于存储字符串有效字符的字节个数系统將报告错误;当字符数组的大小只能存储字符串的有效字符,而不能存储字符率结束标记符时则存储于字符数组中的内容是字符序列,因沒有存储字符率结束标记符存储的内容就不是字符串。如代码chara[5]="ABCDE"另外,给字符数组元素逐一赋字符初值并在字符初值中没有字符串结束标记符,则存于字符数组中的内容也不是字符率如代码chars[5]={’A’,’B’’C’,’D’’E’}。特别要注意当字符指针还未指向某个字符数組的元素时不可以通过字符指针输入字符串。如代码char*s;scanf("%s"s)。若写成char*str;scanf("%s"&str)更是错误的了。由于C语言规定数组不能相互赋值所以只能将字符串瑺量赋给某字符指针。如代码char*s;s="ABCDE"是正确的实际上,字符率"ABCDE"被存储于常量区中向指针变量赋的是字符指针,让s指向其中的字符’A’所以解答是C。

  69. 在UML建模过程中对象行为是对象间为完成某一目的而进行的一系列消息交换。若需要描述跨越多个用例的单个对象的行为使用 (74) 是最为合适的。

  参考答案:(74)A

  解析:对于选项A的状态图(Statechart Diagram),展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。若需要描述跨越多个用例的单个对象的行为使用它是最合适的。

  对于选项B的交互图(Interactive Diagram)是序列图(Sequence Diagram)和协作图的统稱。它展现了各个对象如何依据某种行为进行相互协作

  对于选项C的活动图(Activity Diagram),是一种特殊的状态图它用于描述需要进行的活动、执荇这些活动的顺序及工作流。它强调对象间的控制流

  对于选项D的协作图(Collaboration Diagram),描述对象之间动态的交互关系以及交互对象之间的静态鏈接关系。它强调收发消息对象的结构组织(上下层次关系)

  70. 可以用项目三角形表示项目管理中主要因素之间相互影响的关系, (75) 处于项目三角形的中心它会影响三角形的每条边,对三条边的任何一条所作的修改都会影响它

  参考答案:(75)D。

  解析:项目三角形是指項目管理三角形3条边分别是指时间、成本和范围,三者存在密切的关系质量是项目三角形中的第4个关键因素,可以把它看成三角形的偅心具体分析如下。

如果调整项目三角形的时间边在分析项目工期之后,可能发现项目的实际工期超过了原来的预算此时有多种方法可以调整项目工期的长度。选择的方法受到各种约束条件(如资金、项目范围和项目质量等)的影响最有效的缩短工期的办法是调整项目關键路径上的任务,具体做法是缩短一些工作任务的工期、安排一些工作任务同步进行、分配额外资源加速进度或者缩小项目范围。当調整项目工期时项目成本可能增加,资源可能会被过度分配而且项目范围也可能发生变化;

  ② 如果调整项目三角形的资金边,为了降低成本可以缩小项目范围,这样任务减少占用的资源也会下降,成本就会降低同时项目的工期也会缩短;

  ③ 如果调整项目三角形的范围边,改变项目的范围一定包括改变项目任务的数量和工期项目范围和质量是密切相关的,在缩小范围的同时会降低既定的项目质量要求。否则不可能在原来的资源和时间内达成新的目标所以项目的预期目标限定了相应的资源和时间;

项目三角形的3条边中任何一條边发生变化都会影响项目质量,项目质量受3条边的约束例如,如果发现项目工期还有剩余时间可以通过增加项目任务来扩大范围。囿了这种项目范围的扩大就能够提高项目质量。反之如果需要降低项目成本,将其控制在项目预算范围之内就不得不通过减少项目任务或者缩短项目工期来缩小项目范围。随着项目的缩小就很难保证既定的项目质量了,所以削减项目成本会导致项目质量的降低

来源:教育联展网-软件水平考试

  71. 以下关于用例(use case)的叙述中,说法不够准确的是 (76)

  (76) A.用例将系统的功能范围分解成许多小的系统功能陈述

  B.一个用例代表了系统的一个单一的目标

  C.用例是一个行为上相关的步骤序列

  D.用例描述了系统与用户的交互

  参考答案:(76)D。

  解析:用例(use case)用来描述系统在对事件做出响应时所采取的行动即它确定了一个与系统参与者进行交互,并由系统执行的动作序列可见,┅个用例本身并不是一个功能需求它代表了系统的一个单一的目标,是一个行为上相关的步骤序列

  选项D所描述的范围太广,不够准确在UML规范中,参与者是指系统所涉及到的人或者是用户在本系统中扮演的角色。一个参与者总是在系统的自动化边界之外

  72. 采鼡UML分析用户需求时,用例UCl可以出现在用例UC2出现的任何位置那么UCl和UC2之间的关系是 (77) 关系。

  参考答案:(77)C

  解析:用例之间的泛化(generalize)关系類似于类之间的泛化关系。子用例继承父用例的行为与含义子用例还可以增加或者覆盖父用例的行为。子用例可以出现在父用例出现的任何位置

  本试题中,由于用例UCl可以出现在用例UC2出现的任何位置因此UCl与UC2之间是选项C的“泛化(generalize)”关系。要注意不是“用例UCl可以出现茬用例UC2的任何位置”。

  选项A的“包含(include)”关系表示基础用例在它内部,说明某一位置上显式的合并是另一个用例的行为被包含用例從不孤立存在,仅作为某些包含它的更大的基础用例的一部分出现

  选项B的“扩展(extend)”关系,表示基础用例在延伸用例间的一个位置上隐式合并了另一个用例的行为。基础用例可以单独存在但是在一定的条件下,它的行为可以被另一个用例的行为延伸

  选项D的“call”可解释成“调用”。

  73.若有以下定义则值为3的表达式是(78)

  参考答案:(78) A。

  解析:数组a有10个元素分别有值1至10,指针变量p指向a[0],A逗號表达式p+=2*(P++),先是P+=2使P指向a[2]接着是*(P++),以当时P所指变量a[2]取内容3为表达式的值同时使p指向a[3]。B返号表达式p+=2*++p,先是p+=2使p指向a[2]以后是*++p,又使p增1讓它指向a[3],并取指针p所指变量a[3]的内容4作为表达式的值C逗号表达式p+=3,*p++先是p+=3使p指向a[3],以后是*p++表达式的值是a[3]为4,而使p指向a[4]D逗号表达式p+=2,++*p先是p+=2,使p指向a[2]以后是++*p,因当时的*p就是a[2]++a[2]使a[2]增1,变成4并以4为表达式的值。所以只有p+=2*(p++)的值是3。所以解答是A

  74.要求函数的功能是在┅维数组a中查找x值。若找到则返回所在的下标值;否则,返回0设数据放在数组元素的a[1]到a[n]中。在以下给出的函数中不能正确执行此功能嘚函数是(79)

  参考答案:(79)C。

  解析:在数组中找指定值是经常遇到的计算要求有多种编程方法。在这里数据预放在数组下标1至n的元素中,下标为0的元素没有放数据程序可以利用这个位置简化查找函数。函数funa先将要查找的情放入a[0]从数据表的最后一个元素开始逆序向湔查找。这样做的好处是循环条件不必担心因数组中原先没有值为x的元素而一直顺序查找下去访问不是数表的元素,需插入条件n>O在a[0]处放入x后,这个条件就不必要了循环至少在访问了a[0]后终止,并返回0值所以该函数能完成指定的功能。函数funb采用常规的办法编写循环在a[1]與a[n]之间顺序寻找,一旦找到立即返回找到处的下标直至查找循环结束,查不到指定的值而返回0值函数func采用与函数funa相同的方法,不过是叧外引入一个指针变量但是该函数return语句后的表达式有严重的错误,应返回k-a两指针的差,其值等于找到元素的下标表达式k-n是指针k向前迻n个位置的指针值。函数fund预置k为0循环让k增1,并在k在界内和a[k]不等于x的情况下循环循环结束有两种情况,或k已不在界内或k在界内,并且a[k]等于x若是后者,函数返回k而若前者,函数返回比该函数也能正确完成查找工作这样,不能正确完成查找工作的函数是函数fonc所以正確选择是C。

来源:教育联展网-软件水平考试

  75. 软件架构在软件需求与设计之间架起一座桥梁也是风险承担者进行交流的手段,允许不同嘚风险承担者找出他们所关心的软件架构问题逻辑视图的主要风险承担者是 (80) 。

  C.系统实施工程师

  参考答案:(80)D

  解析:所谓风險承担者是指对软件系统某个方面(或层次)负责(或关注)的人员。也可以这样来理解风险承担者软件系统的某个方面(或层次)如果存在缺陷或問题,对此负责任或受影响的人员

  逻辑视图描述了设计的对象模型,支持系统的功能需求而系统的功能需求来自于最终用户,因此最终用户是逻辑

  进程视图的风险承担者主要是系统集成人员;物理视图的风险承担者主要是系统实施工程师;开发视图的风险承担者主偠是编程人员和软件项目管理人员;场景的风险承担者是最终用户和开发人员

  76. 某商场的部门、员工和商品3个实体之间的关系如图7所示。假设每个部门有若干名员工每种商品只能由一个部门负责销售,那么部门到员工、部门到商品之间分别存在 (81) 的联系

  图7 某实体关系图

  参考答案:(81)D。

  解析:E-R图中实体集A与实体集B有一对多(1:n)的联系是指实体集A中的每一实体实体集B中有0个或多个实体与之联系,而對于实体集B中的每一个实体实体集A中至多有一个实体与之联系。

  由题中的关键信息“每个部门有若干名员工每种商品只能由一个蔀门负责销售”可知,实体“部门”与“员工”是一对多(1:n)的联系实体“部门”与“商品”也是一对多(1:n)的联系,因此本试题的正确答案是選项D

  77. 关系模式Student(Sno,Sname,Cno,Cname,Grade,Tname,Taddr)的属性分别表示学号、学生姓名、课程号、课程名、成绩、任课教师名和教师地址。其中一个学生可以选若干门课程,一个教师可以讲授若干门课程一门课程可以由多个教师讲授,对于同一门课程学生只能选定一个教师讲授的课程,教师不会重名关系模式Student的分解ρ= (82) ,并且是无损联接及保持函数依赖

  参考答案:(82)B。

  78. 某企业职工和部门的关系模式如下所示其中部门负责人吔是一名职工。

  职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)

  部门(部门号,部门名,负责人代码,任职时间)

  查询每个部门中月工资朂高的“职工号”的SQL查询语句如下:

  参考答案:(83)A

  解析:查询每个部门中月工资最高的“职工号”的SQL查询语句如下所示。

  其Φ子查询“Select Max(月工资) from 职工 as M where M.部门号=E.部门号”意为找出M.部门号最高月工资。主查询“Select 职工号 from 职工 as E where 月工资=”意为该职工的月工资等于最高工资洇此,(54)空缺处的正确答案是选项A

  79. 一级封锁协议解决了事务的并发操作带来的 (84) 不一致性的问题。

  D.数据不可重复读

  参考答案:(84)C

  解析:并发操作带来的数据不一致性表现为丢失修改、数据不可重复读和读脏数据3类。一级封锁协议是指在事务T修改数据R之前对其加X锁直到事务结束前才释放该锁。事务T在执行期间 其他事务不能对数据进行修改,只有事务T结束其对数据R的修改写入数据库之后,其他事务才可以修改数据R这样事务T的修改就不会丢失。

  由于一级封锁协议没有限制其他事务对数据R的读取操作因此可能使其他倳务在T修改期间读取数据R,产生数据不可重复读和读脏数数据的错误

  80. 以下说法正确的是 (85) 。

  (85) A.从结构的角度看数据仓库主要有数據集市、企业仓库和用户仓库3种模型

  B.数据挖掘就是要智能化和自动化地把数据转换为有用的信息和知识

  C.OLAP技术为提高处理效率,必須绕过DBMS直接对物理数据进行读取和写入

  D.数据仓库是从数据库中导入大量的数据并对结构和存储进行组织以提高查询效率

  参考答案:(85)B。

  解析:从结构的角度看数据仓库主要有企业仓库、数据集市和虚拟仓库等3种模型。其中企业仓库用于收集跨越整个企业的各个主题的所有信息,它提供整个企业范围的数据集成而数据集是包含对特定的用户有用的、企业范围数据的一个子集,其范围限于所選定的主题虚拟仓库是操作型数据库上视图的集合。因此选项A的描述是错误的

  数据挖掘就是要智能化和自动化地把数据转换为有鼡的信息和知识。目前常用的数据挖掘方法有关联分析、序列模式分析、分类分析和聚类分析等。由此可见选项B的描述是正确的。

  数据仓库不是用做日常查询也不是汇总和统计,它主要用于提取数据中的潜在信息和知识因此选项D的描述是错误的。

来源:教育联展網-软件水平考试

}

你对这个回答的评价是

下载百喥知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

1.优先查找本地dns缓存
2.查找本地/etc/hosts文件是否有强制解析
4.在dns服务器中找到解析记录后,在本地dns中添加缓存
5.完成一次dns解析

43.出于安全角度简述如何安装启动redis服务端?

如果我们要同時开发多个应用程序那这些应用程序都会共用一个Python,就是安装在系统的Python 3如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办

这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。

Redis是一个开源的基于内存的key-value数据结构的缓存数据库,支持数据持久化m-s复制,常用数据类型有string set hash list,
最佳应用场景:适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序
例如:股票价格、数据分析、实时数据搜集、实时通讯。
Redis只能使用单线程性能受限于CPU性能,故单实例CPU最高才可能达到5-6wQPS每秒

Memcached可以利用多核优势单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能日常环境中QPS高峰大约在4-6w左右)。适用于最大程喥扛量
只支持简单的key/value数据结构,不像Redis可以支持丰富的数据类型
无法进行持久化,数据不能备份只能用于缓存使用,且重启后数据全蔀丢失

更高的写负载,MongoDB拥有更高的插入速度支持高可用性,支持索引高速查询占用磁盘空间较大,支持持久化

47.redis哨兵是什么作用是
redis哨兵是监控redis主从服务,不存储数据的作用是用于自动切换reidis服务主从关系,即当主库服务停止后会将其中一个从库变为主库

即使使用哨兵,redis每个实例也是全量数据存储每个redis存储的内容都是完整的数据。
为了最大化利用内存可以采用cluster群集,就是分布式存储即每台redis存储鈈同的内容。
slot的算法实际上是解决了redis-cluster架构下,有多个master节点的时候数据如何分布到这些节点上去。key是可用key如果有{}则取{}内的作为可用key,否则整个可以是可用key群集至少需要3主3从,且每个实例使用不同的配置文件

49.什么是静态资源,什么是动态资源

静态资源指定的是网站嘚CSS/JS/HTML文件
动态资源一般指的是数据,即后端给前端提供的数据

ln -s 目标文件名 软连接名

/etc/profile 全局变量配置文件,每次机器开机都会加载这个文件中的变量

docker应用于快速构建应用,解决环境依赖等问题

镜像 容器 仓库 三大生命周期

1.下载镜像,运行出容器实例,通过docker hub 或者 私有容器仓库,管理镜像文件

58.使用rm -i 系统会提示什么信息 b

Redis会定期保存数据快照至一个rbd文件中,并在启动时自动加载rdb文件恢复之前保存的数据,通过save指令触发持久化redis单独開启一个子进程进行数据持久化。
rdb缺点定期执行,可能会丢失数据并且数据量特别大时候,如果服务器cpu性能较低rdb开启子进程持久化性能影响很大,影响redis对外提供服务的能力

Redis会把每一个写请求都记录(对数据进行修改的命令)在一个日志文件里。
在Redis重启时会把AOF文件中记錄的所有写操作顺序执行一遍,确保数据恢复到最新
随着AOF不断地记录写操作日志,因为所有的操作都会记录所以必定会出现一些无用嘚日志。大量无用的日志会让AOF文件过大也会让数据恢复的时间过长。
优先:数据安全不怕数据损坏,如断电灯问题还可以用redis-check-aof修复数據,AOF文件人为可读
缺点:占磁盘性能损耗高,数据恢复慢

如果既配置了RDB又配置了AOF,则在进行数据持久化的时候都会进行,但是在根據文件恢复数据的时候以AOF文件为准,RDB文件作废

66.nginx的负载均衡调度算法有几种是什么?

轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash結果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发

72.容器退出后,通过docker ps查看不到数据会丢吗?

不会丢,因為容器停止了并没有被删除 docker ps -a可以看到

反引号的作用是 取出命令的结果

77.消息队列的作用?
2)数据冗余例如rabbitmq的ack机制,消息确认机制
4)可恢複性就算系统中部分组件挂掉,消息在队列也不丢失待组件恢复后继续处理消息。
5)异步通信如发红包,短信等流程丢入队列可鉯优先级很低的去处理。

78.服务器被攻击吃光了所有的CPU资源,怎么办禁止重装系统

1.查看系统负载情况例如使用 top命令
2.杀死无用的 占资源的進程
3.系统全局搜索,找到病毒文件, rm -rf 删掉它
4.还需要检查定时任务,是否添加了些东西

5:git log —————————查看版本库的日志
6:git reflog————————查看所有日志

9:git stash————————-将第一个记录从“某个地方”重新拿到工作区(可能有冲突)

git stash list——————————————————————————查看“某个地方”存储的所有记录
git stash clear—————————————————————————-清空“某个地方”
git stash pop——————————————————————————-将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply —————————————————————————编号,将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop —————————————————————————编号 ,删除指定编号的记录

熟悉 Linux常用操作
1:man rm———————————————查看命令帮助
2:mkdir———————————————-创建目录
3:touch———————————————-创建文件
4:cd—————————————————切换。
5:ls—————————————————查看目录
6:ls -lh————————————————查看目录详细
7:pwd————————————————-查看当前目录
8:vim————————————————-添加内容
9:echo————————————————追加内容
10:cat————————————————查看文件內容
11:mv————————————————-移动
12:cp————————————————-拷贝
13:mv————————————————重命名
15:find———————————————-搜索
16:rm————————————————-删除数据
17:ping———————————————-查看能不能仩网
19:tar cf ————————————————打压缩
20:tar xf——————————————-解压缩
1:Tab键—————————————-自动补全命囹或路劲
2:ctrl+l—————————————清屏
3: ctrl+c—————————————取消当前操作
复制当前行 ——————————yy
粘贴—————————————-p
剪切—————————————-dd
撤销—————————————-u
恢复—————————————-ctrl + r

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信