一起答

2014下半年程序员上,下午真题分析与解答

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1.  阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的

    对应栏内。

    【说明】

        很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克

    牌,洗牌后再按顺序打印每张牌的点数和花色。

    【Java代码】

  2.  阅读下列说明、c++代码和运行结果,填补代码中的空缺(1)~(6),将解答填入

    答题纸的对应栏内。

    【说明】

        很多依托扑克牌进行的游戏都要先洗牌。下面的c++程序运行时先生成一副扑克牌,

    洗牌后再按顺序打印每张牌的点数和花色。

    【c++代码】

    #inciude <iostream>

    4Finclude <stdlib. h>

    #include <ctime>

    #inciude <aigorithm>

    #include <string>

    Using  namespace std 

    Const  string   Rank[13]={”A”,”2”,”3”,”4“,“5”,”6,”’“7”8“,9”,”10,”J”,

    ”Q”,”K”}j//扑克牌点数

  3. 阅读以下说明和C函数,填补函数代码中的空缺(1)~(5),将解答填入答题纸

    的对应栏内。

    【说明】

        队列是一种常用的数据结构,其特点是先入先出,即元素的插入在表头、删除在表

    尾进行。下面采用顺序存储方式实现队列,即利用一组地址连续的存储单元存放队列元

    素,同时通过模运算将存储空间看作一个环状结构(称为循环队列)。

        设循环队列的存储空间容量为MAXQSIZE,并在其类型定义中设置base、rear和

    lengtb三个域变量,其中’base为队列空间的首地址,rear为队尾元素的指针,length表

    示队列的长度。

    #define  maxqstze  100

    typedef  struct  {

                 QElemType *base;   /*循环队列的存储空间首地址*/

                 int          rear;  /*队尾元素索引*/

        int    length;    /*队列的长度*/

        ) SqQueue;

        例如,容量为8的循环队列如图3-1所示,初始时创建的空队列如图3一l(a)所示

    经过一系列的入队、出队操作后,队列的状态如图3-1 (b)所示(队列长度为3)。

     

      下面的C函数1、C函数2和C函数3用于实现队列的创建、插入和删除操作,请

    完善这些代码。

      【C函数1】创建一个空的循环队列。

    int initQueue (SqQueue *Q)

    /*创建容量为MAXQSIZE的空队列,若成功则返回1;否则返回0*/

    {    Q->base =  (QElemType*)  malloc(MAXQSIZE*  (1)  )

        if (!Q=>base)  return 0;。;

    Q->length=O;

    Q-’rear =O:

      Return  1;

    } /*InitQueue*/

    【c函数2】元素插入循环队列。

    int EnQueue(sqQueue *Q.  QElemType e)/*元素e入队,若成功则返回1;否则返回0*/

    {if ( Q->length>=MAXQSIZE) return  0.;

      Q->rear=(2);

      Q->base [Q->rear]=e;

        (3)  ;

      Return 1

    ) /*EnQUeue*/

    【c函数3】元素出循环队列。

    int DeQueue (SqQueue *Q.  QElemType *e)

    /*若队列不空,则删除队头元素,由参数e带回其值并返回1;否则返回O*/

    {1f‘(4),return  0;

        *e =O->base[ (Q=>rear - Q->length+I+MAXQSTZE) %MAXQSIZE]

            (5)  ;

        returnl;

      } /*DeQueue*/

  4.  阅读以下说明和C函数,填补代码中的空缺(1)~(6),将解答填入答题纸的对

    应栏内。

    【说明】

      二叉树的宽度定义为含有结点数最多的那一层上的结点数。函数GetWidth()用于求

    二叉树的宽度。其思路是根据树的高度设置一个数组counter[]. counter[i]存放第i层上

    的结点数,并按照层次顺序来遍历二叉树中的结点,在此过程中可获得每个结点的层次

    值,最后从countler[]中取出最大的元素就是树的宽度。

      按照层次顺序遍历二叉树的实现方法是借助一个队列,按访问结点的先后顺序来记

    录结点,离根结点越近的结点越先进入队列,具体处理过程为;先令根结点及其层次号

    (为1)进入初始为空的队列,然后在队列非空的情况下,取出队头所指示的结点及其层

    次号,然后将该结点的左子树根结点及层次号八队列(若左子树存在),其次将该结点的

    右子树根结点及层次号八队列(若右子树存在),然后再取队头,重复该过程直至完成

    遍历。

        设二叉树采用二叉链表存储,结点类型定义如下:

    typedef struct BTNode{

                 TElemType data;

                   struct  BTNode  *left. *right

    }  BTNode , *BiTree _

    队列元素的类型定义如下

    typedef struct {

                 BTNode *ptr;

                 int LevelNumber

    ) QElemType;

    【C函数】

    int GetWidth (BiTree  root)

    {

                QUEUE  Q;

    QElemType  a, b;

           int width.height = GetHeight(root);

        int i,  *counter  =(lnt*) calloc (helght+l. sizeof (int));

    if  ( 1)    return -1;  /*申请空间失败*/

    If(!root )   return -0;  /*空树的宽度为0*/

    if  ( 1)    return -1  /*初始化队列失败时返回*/

    A.ptr=root;  a.leveinumber=1;

    If(!Enqueue(&Q,a))  return-1;   /*元素入队列操作失败时返回*/

    while (!isEmpty(Q》{

        if(  (3)  )return -1;    /*出队列操作失败时返回*/

        Counter[b.LevelNumber]++;/*对层号为b.LevelNumber的结点计数*/

        if(bNaNr=>left){/*若左子树存在,则左于树根结点及其层次号入队*/

        aNaNr =bNaNr=>left;

        a.LevelNurnber  =(4)  ;

    If(!EnQueue (&Q,a))return  -1;

    }

    if( bNaNr=>right){/*若右子树存在,则右子树根结点及其层次号入队*/

        a.ptr= bNaNr->right;

        a LevelNumber  (5)  i

       If(!EnQueue (&Q,a))return  -1

       }

    }

    width= counter[1];

    For(i=1; i

       If(6) width =counter[i];

      Free(counter);

      Return width;

    }

  5. ??????

     阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的

    对应栏内。

    【说明】

        本流程图旨在统计一本电子书中各个关键词出现的次数。假设已经对该书从头到尾

    依次分离出各个关键词{A(i)li=l,…,n}(n>1)}.其中包含了很多重复项,经下面的流程

    处理后,从中挑选出所有不同的关键词共m个{K(j)[j=l,…,m},而每个关键词K(j)出现的次数为NK(j).j=l,…,m。

    ??????

  6.  阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对

    应栏内。

    【说明】

        函数removeDuplicates(char *str)的功能是移除给定字符串中的重复字符,使每种字

    符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设

    置标志,并将其后的非重复字符前移。例如,若str指向的字符串为“aaabbbbscbsss”,

    则函数运行后该字符串为“abse”。

    【c代码】

    void removeDuplicates (char *str)

        int  i,len  = strlen (str);    /*求字符串长度*/

    If(  (l)  )return;/*空串或长度为1的字符串无需处理*l

        for(i=0;i<len;i++) {

        Int  flag =O;    /*字符是否重复标志*/

    int m:

        for(m =( 2 );  m<len; m++){

        if(str[i]==str[m] ) {

    __(3)_;break;

    }

    }

        if (flag){

        Int  n,idx = m;

    /*字符串第idx字符之后、与str [i]不同的字符向前移*/

        For( n=idx+l; n

        if ( str[n]!= str[i]) {

    str[idx]= str[n]; (4);

    }

    Str[(5)]=\0;  /* 设置字符串结束标志*/

         }

       }

    }

  7. When paying cnline,you should pay attention to(75) your personal and financial Information

    • A.reading
    • B.writing
    • C.executing
    • D.protecting
  8. Many compute’languages provide a mechanism to call (73) provided by libraries such as in .dlls

    • A.lnstructions
    • B.functions
    • C.subprograms
    • D.subroutines
  9. (74) is a very impomnt task in the sottware development process, because an incorrect program can have significant consequences for the users

    • A.lnstructions
    • B.functions
    • C.subprograms
    • D.subroutines
  10. Stated more formally, an object is simply (72) of a class

    • A.a part
    • B.a component
    • C.an instance
    • D.an example
  11. 匿名FTP访问通常使用(70)作为用户名。

    • A.guest
    • B.user
    • C.administrator
    • D.anonymous
  12. (71) is a list ofitems that are accessible at only one end of the list

    • A.Atree
    • B.An array
    • C.A stack
    • D.Aqueue
  13. 在浏览器地址栏中输入(69)可访问FTP站点ftp.abc.com

    • A.ftp.abc.com
    • B.ftp://ftp.abc.com
    • C.http://ftp.abc.com
    • D.http://www.ftp.abc.com
  14. HTML中,以下<input>标记的type属性值(68)在浏览器中的显示不是按钮形式。

    • A.submit
    • B.button
    • C.password
    • D.reset
  15. ICMP协议属于因特网中的(66)协议,ICMP协议数据单元封装在(67)中传送。

    • A.数据链路层
    • B.网络层
    • C.传输层
    • D.会话层
  16. (67)

    • A.以太帧
    • B.TCP段
    • C.UDP数据报
    • D.IP数据报
  17. 下图是某工程A-E五个作业的进度计划。按照该计划,到5月31日检查时,已完成作业数、已经开始但尚未完成的作业数以及尚未开始的作业数应分别为(64)。

    • A.1.2.2
    • B.1,3.1
    • C.2.2.1
    • D.3.2.0
  18. 假设有5个网站A、B、C、D、E,这些网站之间具有的链接关系如下表 其中符号“√”表示存在从一个网站到另一个网站的链接。假设网站的权威度定义为有多少个网站链接到该网站,则上述5个网站中权威度最高的是(65)。

    • A.A
    • B.B
    • C.C
    • D.D
  19. 测试四个程序模块共发现了42个错,则(63)。

    • A.至少有1个模块至少有11个错
    • B.至少有1个模块至少有12个错
    • C.至少有2个模块都至少有11个错
    • D.至多有2个模块都至多有14个错
  20. (61)

    • A.需要构建一个独立的关系模式,且主关键字为:学生号
    • B.需要构建一个独立的关系模式,且主关键字为:学生号,课程号
    • C.需要构建一个独立的关系模式,且主关键字为:学生号,教师号
    • D.类型为1:n,所以不需要构建一个独立的关系模式
  21. 查询“软件教研室”教师的平均工资、最高与最低工资之间差值的SQL语句如下: SELECT AVG(工资)AS平均工资 (62) FROM T WfIERE部门=软件教研室-;

    • A.MAX(工资-MIN(工资)AS差值
    • B.差值AS MAX(工资)-MIN(工资)
    • C.MAX(工资)M烈(工资)IN差值
    • D.差值IN MAX(工资)-MIN(工资)
  22. 某高校数据库中,学生S、教师T和课程C的关系模式分别为:s(学号,姓名,性别,家庭住址,电话);T(教师号,姓名,性别,部门,工资):C(课程号,课程名)。假设一个学生可以选择多门课程,一门课程可以由多个学生选择:一个教师可以讲授多门课程,一门课程可以由多个教师讲授。那么,学生“选课”和教师“讲授”课程的联系类型分别为 (60) ;“选课”联系 (61) 。

    • A.1:1,1:n
    • B.1:n,1:n
    • C.n:1. ,n :m
    • D.n:m.n:m
  23. 采用二维表格结构表达实体及实体间联系的数据结构模型称为(59)。

    • A.层次模型
    • B.网状模型
    • C.关系模型
    • D.面向对象模型
  24. (58)

    • A.安全性
    • B.可靠性
    • C.完整性
    • D.并发控制
  25. 在数据库系统中,数据的(57)是指保护数据库,以防止不合法的使用所造成的数据泄漏、更改或破坏;数据的(58)是指数据库正确性和相容性,是防止合法用户使用数据库时向数据库加入不符合语义的数据。

    • A.安全性
    • B.可靠性
    • C.完整性
    • D.并发控制
  26. 以下关于软件测试的叙述中,不正确的是(56)。

    • A.测试能提高软件的质量,但软件的质量不能完全依赖测试
    • B.一般,难以做到彻底的测试,也不允许无休止地测试
    • C.经测试并改正错误后,发现错误较多的模块比发现错误较少的模块更可靠
    • D.软件测试的困难在于如何有效地进行测试,如何放心地停止测试
  27. 许多大型企业的数据中心,为了解决存储扩张和管理难度增大的问题,采用了存储虚拟化技术,其主要作用不包括 (54)。

    • A.将内存和一部分磁盘容量作为虚存,以利于同时调度运行多个应用程序
    • B.屏蔽多种异构存储设备的物理特性
    • C.实现不同类型存储资源的集中管理和统一分配
    • D.满足多业务系统对存储性能和容量的不同要求,提高存储服务的灵活性
  28. 用户交互界面设计的易用性原则不包括(55)。

    • A.用户交互界面尽量由业务人员设计
    • B.所用名词和术语尽量采用业务用语
    • C.功能菜单尽量与业务划分基本一致
    • D.操作流程尽量与业务流程基本一致
  29. 软件系统的维护包括多个方面,增加一些在系统分析和设计阶段中没有规定的功能与性能特征,从而扩充系统功能和改善系统性能,是(52)维护。

    • A.正确性
    • B.适应性
    • C.完善性
    • D.预防性
  30. 以下关于单元测试的叙述中,不正确的是(51)。

    • A.侧重于检查模块中的内部处理逻辑和数据结构
    • B.一般用白盒测试技术
    • C.强调检查模块的接口
    • D.需要检查全局和局部数据结构
  31. 以下关于结构化方法的叙述中,不正确的是(50)。

    • A.指导思想是自顶向下、逐层分解
    • B.基本原则是功能的分解与抽象
    • C.适合解决数据处理领域的问题
    • D.特别适合解决规模大的、特别复杂的项目
  32. (48)  

    • A.序列图
    • B.状态图
    • C.活动图
    • D.通信图
  33. 某考务处理系统的部分需求包括:检查考生递交的报名表;检查阅卷站送来的成绩清单;根据考试中心指定的合格标准审定合格者。若用顶层数据流图来描述,则(49)不是数据流。

    • A.考生
    • B.报名表
    • C.成绩清单
    • D.合格标准
  34. 统一建模语言(UML)图中, (47)用于对时间如何改变对象的状态以及引起对象从一个状态向另一个状态转换的事件进行建模。 (48)是此种图的一种特殊情况,对于系统的功能建模特别重要,并强调对象间的控制流程。

    • A.序列图
    • B.状态图
    • C.活动图
    • D.通信图
  35. (46)

    • A.参数
    • B.包含
    • C.过载
    • D.强制
  36. 有些类之间存在一般和特殊关系,即一些类是某个类的特殊情况,某个类是一些类的一般情况。因此,类 (44) 是其他各类的一般情况。

    • A.汽车
    • B.飞机
    • C.轮船
    • D.交通工具
  37. 不同的对象收到同一消息可以进行不同的响应,并且会产生完全不同的结果,这种现象称为多态,其实现由(45)支持。多态分为多种, (46)多态是指同一个名字在不同上下文中可代表不同的含义。

    • A.继承
    • B.封装
    • C.过载
    • D.覆盖
  38. (43)

    • A.7
    • B.8
    • C.14
    • D.16
  39. 对于下图,从顶点l进行深度优先遍历时,不可能得到的遍历序列是(42);若将该图用邻接矩阵存储,则矩阵中的非0元素数目为(43)。

    • A.1234567
    • B.1523467
    • C.1234675
    • D.1267435
  40. 在有13个元素构成的有序表data[1..13]中,用折半查找(即二分查找,计算时向下取整)方式查找值等于data[8]的元素时,先后与(41)等元素进行了比较。

    • A.data[7]. data[6]. data[8]
    • B.data[7]. Data[8]
    • C.data[7]. data[10]. data[8]
    • D.data[7]. data[10]、data[9]. data[8]
  41. 己知某二叉树的先序遍历序列为ABCD,后序遍历序列为CDBA,则该二叉树为 (40)。

    • A.A
    • B.B
    • C.C
    • D.D
  42. 在数据结构中, (39)是与存储结构无关的术语。

    • A.单链表
    • B.二叉树
    • C.哈希表
    • D.循环队列
  43. 对于一个初始为空的栈,其入栈序列为abc时,其出栈序列可以有(37)种。

    • A.3
    • B.4
    • C.5
    • D.6
  44. 设有字符串S=software',其长度为3的子串数目为(38)。

    • A.8
    • B.7
    • C.6
    • D.5
  45. (34)

    • A.20
    • B.25
    • C.60
    • D.75
  46. 含有n个元素的线性表采用顺序存储方式时,对其运算速度最快的操作是(36)。

    • A.访问第i个元素(l<i≤n)
    • B.删除第i个元素(1≤j≤n)
    • C.在第i个元素(1≤i≤n)之后插入一个新元素
    • D.查找与特定值相匹配的元素
  47. 设数组a[0..n-l,O..m-l] (n>l,m>l)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a[ij](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为(35)。

    • A.j*m+i
    • B.i*m+j
    • C.j*n+i
    • D.i*n+i
  48. 在c程序中有些变量随着其所在函数被执行而为其分配存储空间,当函数执行结束后由系统回收。这些变量的存储空间应在(32)分配。

    • A.代码区
    • B.静态数据区
    • C.栈区
    • D.堆区
  49. 已知函数f(). g()的定义如下所示,执行表达式“x= f(5)”的运算时,若函数调用g(a)是引用调用(call by reference)方式,则执行“x=f(5)”后x的值为(33):若函数调用g(a)是值调用(call by value)方式,则执行“x= f(5)”后x的值为(34)。

    • A.20
    • B.25
    • C.60
    • D.75
  50. 算术表达式a*(b-c)+d的后缀式是(31) (一、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。

    • A.abcd-*+
    • B.abc-*d+
    • C.abc-d*+
    • D.ab-cd*+
  51. 以下叙述中,正确的是(30)。

    • A.编译正确的程序不包含语义错误
    • B.编译正确的程序不包含语法错误
    • C.除数为0的情况可以在语义分析阶段检查出来
    • D.除数为0的情况可以在语法分析阶段检查出来
  52. 以下关于解释器运行程序的叙述中,错误的是(28)。

    • A.可以先将高级语言程序转换为字节码,再由解释器运行字节码
    • B.可以由解释器直接分析并执行高级语言程序代码
    • C.与直接运行编译后的机器码相比,通过解释器运行程序的速度更慢
    • D.在解释器运行程序的方式下,程序的运行效率比运行机器代码更高
  53. 假设系统有n个进程共享资源R.且资源R的可用数为2,那么该资源相应的信号量s的初值应设为(27)。

    • A.0
    • B.1
    • C.2
    • D.n
  54. 某分页存储管理系统中的地址结构如下图所示。若系统以字节编址,则该系统页的大小为 (25) MB:共有(26)个页面。

    • A.1
    • B.256
    • C.512
    • D.1024
  55. (26)

    • A.512
    • B.1024
    • C.2048
    • D.4096
  56. 在Windows环境中,若要将某个文件彻底删除(即不放入回收站),则应先选中该文件,并同时按下(24)快捷键,然后在弹出的对话框中单击“”按钮。

    • A.CtrI+Del
    • B.Shift+Del
    • C.Alt+Del
    • D.Alt+Ctrl+Del
  57. 若下列编码中包含奇偶校验位,且无错误,则采用偶校验的编码是(22)。

    • A.10101101l
    • B.10111001
    • C.111OO00I
    • D.10001001
  58. 在Windows系统中,将指针移向特定图标时,会看到该图标的名称或某个设置的状态。例如,指向(23)图标将显示计算机的当前音量级别.

    • A.A
    • B.B
    • C.C
    • D.D
  59. 如果浮点数的尾数用补码表示,则(20)是规格化的数。

    • A.1.0l000
    • B.1.11110
    • C. 0.01001
    • D.1.11001
  60. 在定点二进制运算中,减法运算一般通过(21)来实现。

    • A.补码运算的二进制减法器
    • B.原码运算的二进制减法器
    • C.原码运算的二进制加法器
    • D.补码运算的二进制加法器
  61. 机器字长为8位,定点整数X的补码用十六进制表示为B6H,则其反码用十六进制表示为(19)。

    • A.CAH
    • B.B6H
    • C.4AH
    • D.B5H
  62. 以下设备中,不能使用(16)将印刷图片资料录入计算机。

    • A.扫描仪
    • B.投影仪
    • C.数字摄像机
    • D.数码相机
  63. 下列关于计算机病毒的描述中,错误的是(18)。

    • A.计算机病毒是一段恶意程序代码
    • B.计算机病毒都是通过U盘拷贝文件传染的
    • C.使用带读写锁定功能的移动存储设备,可防止被病毒传染
    • D.当计算机感染病毒后,可能不会立即传染其他计算机
  64. (15)

    • A.表现媒体
    • B.传输媒体
    • C.表示媒体
    • D.存储媒体
  65. 微型计算机系统中,显示器属于(14),硬盘属于(15)。

    • A.表现媒体
    • B.传输媒体
    • C.表示媒体
    • D.存储媒体
  66. 注册商标所有人是指(13)。

    • A.商标使用人
    • B.商标设计人
    • C.商标权人
    • D.商标制作人
  67. 计算机软件只要开发完成就能取得(12)受到法律保护。  

    • A.软件著作权
    • B.专利权
    • C.商标权
    • D.商业秘密权
  68. (11)

    • A.定期对磁盘进行碎片整理
    • B.每小时对磁盘进行碎片整理
    • C.定期对内存进行碎片整理
    • D.定期对ROM进行碎片整理
  69. 在CPU和主存之间设置“Cache”的作用是为了解决(8)的问题。

    • A.主存容量不足
    • B.主存与辅助存储器速度不匹配
    • C.主存与CPU速度不匹配
    • D.外设访问效率
  70. 在计算机系统工作环境的下列诸因素中,对磁盘工作影响最小的因素是(1O);为了提高磁盘存取效率,通常需要利用磁盘碎片整理程序(11) 。  

    • A.温度
    • B.湿度
    • C.噪声
    • D.磁场
  71. 用户的电子邮箱是在(5)的一块专用的存储区。

    • A.用户计算机内存中
    • B.用户计算机硬盘上
    • C.邮件服务器内存中
    • D.邮件服务器硬盘上
  72. 直接转移指令执行时,是将指令中的地址送入(6)。

    • A.累加器
    • B.数据计数器
    • C.地址寄存器
    • D.程序计数器
  73. 下列部件中属于CPU中算术逻辑单元的部件是(7)。

    • A.程序计数器
    • B.加法器
    • C.指令寄存器
    • D.指令译码器
  74. (4)

    • A.=3=6
    • B.=36
    • C.TRUE
    • D.FALSE
  75. 在Excel中,若在Al单元格中输入=SUM(MAX(15,8),MIN(8.3)’按Enter键后,则A1单元格显示的内容为(3);若在A2单元格中输入“=3 =6”(输入不包含引号),则A2单元格显示的内容为 (4) 。

    • A.23
    • B.16
    • C.18
    • D.11
  76. 在Word编辑状态下,若要显示或隐藏编辑标记,则单击 (1) 按钮;若将光标移至表格外右侧的行尾处,按下Enter键,则(2)。

    • A.A
    • B.B
    • C.C
    • D.D
  77. (2)

    • A.光标移动到上一行,表格行数不变
    • B.光标移动到下一行,表格行数不变
    • C.在光标的上方插入一行,表格行数改变
    • D.在光标的下方插入一行,表格行数改变