【计算机类职业资格】计算机水平考试初级程序员2014年下半年下午真题及答案解析.doc
《【计算机类职业资格】计算机水平考试初级程序员2014年下半年下午真题及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机水平考试初级程序员2014年下半年下午真题及答案解析.doc(6页珍藏版)》请在麦多课文档分享上搜索。
1、计算机水平考试初级程序员 2014 年下半年下午真题及答案解析(总分:90.00,做题时间:150 分钟)1.试题一(共 15 分) 阅读以厂说明和流程图,填补流程图中的空缺(1)(5)将解答填入答题纸的对应栏内。 说明 本流程图旨在统计一本电子书中各个关键词出现的次数。假设已经对该书从头到尾依次分离出各个关键词(A(i)|i1,n)(n1),其中包含了很多重复项,经下面的流程处理后,从中挑选出所有不同的关键词共 m 个K(j)|j=1,m,而每个关键词 K(j)出现的次数为 NK(j),j1,m。 流程图 (分数:15.00)_2.试题二(共 15 分) 阅读以下说明和 C 函数,填补代码中
2、的空缺(1)(5),将解答填入答题纸的对应栏内。说明 函数 removeDuplicates(char *str)的功能是移除给定字符串中的重复字符,使每种字符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设置标志,并将其后的非重复字符前移。例如,若 str 指向的字符串为“aaabbbbscbsss”,则函数运行后该字符串为“absc”。 C代码 (分数:15.00)_3.试题三(共 15 分) 阅读以下说明和 C 函数,填补函数代码中的空缺(1)(5),将解答填入答题纸的对应栏内。 说明 队列是一种常用的数据结构,其特点是先入先出,即元素的插入在表头、删除在表尾进
3、行。下面采用顺序存储方式实现队列,即利用一组地址连续的存储单元存放队列元素,同时通过模运算将存储空间看作一个环状结构(称为循环队列)。 设循环队列的存储空间容量为 MAXQSIZE,并在其类型定义中设置 base、rear 和 length 三个域变量,其中,base 为队列空间的首地址,rear 为队尾元素的指针,length 表示队列的长度。 例如,容量为 8 的循环队列如图 3-1 所示,初始时创建的空队列如图 3-1(a)所示经过一系列的入队、出队操作后,队列的状态如图 3-1(b)所示(队列长度为 3)。 下面的 C 函数 1、C 函数 2 和 C 函数 3 用于实现队列的创建、插入
4、和删除操作,请完善这些代码。 C 函数 1创建一个空的循环队列。 C 函数 2元素插入循环队列。 C 函数 3元素出循环队列。 (分数:15.00)_4.试题四(共 15 分) 阅读以下说明和 C 函数,填补代码中的空缺(1)(6),将解答填入答题纸的对应栏内。说明 二叉树的宽度定义为含有结点数最多的那一层上的结点数。函数 GetWidth()用于求二叉树的宽度。其思路是根据树的高度设置一个数组 counter,counteri存放第 i 层上的结点数,并按照层次顺序来遍历二叉树中的结点,在此过程中可获得每个结点的层次值,最后从 counter中取出最大的元素就是树的宽度。 按照层次顺序遍历二
5、叉树的实现方法是借助一个队列,按访问结点的先后顺序来记录结点,离根结点越近的结点越先进入队列,具体处理过程为:先令根结点及其层次号(为 1)进入初始为空的队列,然后在队列非空的情况下,取出队头所指示的结点及其层次号,然后将该结点的左子树根结点及层次号入队列(若左子树存在),其次将该结点的右子树根结点及层次号入队列(若右子树存在),然后再取队头,重复该过程直至完成遍历。 设二叉树采用二叉链表存储,结点类型定义如下: GetWidth()函数中用到的函数原型如下所述,队列的类型名为 QUEUE: C 函数 (分数:15.00)_5.试题五(共 15 分) 阅读下列说明、C+代码和运行结果填补代码中
6、的空缺(1)(6),将解答填入答题纸的对应栏内。 说明 很多依托扑克牌进行的游戏都要先洗牌。下面的 C+程序运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。 C+代码 (分数:15.00)_6.试题六(共 15 分) 阅读以下说明和 Java 程序,填补代码中的空缺(1)(6),将解答填入答题纸的对应栏内。 说明 很多依托扑克牌进行的游戏都要先洗牌。下面的 Java 代码运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。 java 代码 (分数:15.00)_计算机水平考试初级程序员 2014 年下半年下午真题答案解析(总分:90.00,做题时间:150 分钟)1.试
7、题一(共 15 分) 阅读以厂说明和流程图,填补流程图中的空缺(1)(5)将解答填入答题纸的对应栏内。 说明 本流程图旨在统计一本电子书中各个关键词出现的次数。假设已经对该书从头到尾依次分离出各个关键词(A(i)|i1,n)(n1),其中包含了很多重复项,经下面的流程处理后,从中挑选出所有不同的关键词共 m 个K(j)|j=1,m,而每个关键词 K(j)出现的次数为 NK(j),j1,m。 流程图 (分数:15.00)_正确答案:( (1)1 (2)K(j) (3)NK(j)+1NK(j) 或 NK(j)+ 或等价表示 (4)m+1m 或 m+ 或等价表示 (5)A)解析: 流程图中的第 1
8、框显然是初始化。A(1)K(1)意味着将本书的第 1 个关键词作为选出的第 1 个关键词。1NK(1)意味着此时该关键词的个数置为 1。m 是动态选出的关键词数目,此时应该为 1,因此(1)处应填 1。 本题的算法是对每个关键词与己选出的关键词进行逐个比较。凡是遇到相同的,相应的计数就增加 1;如果始终没有遇到相同关键词的,则作为新选出的关键词。 流程图第 2 框开始对 i2,n 循环,就是对书中其他关键词逐个进行处理。流程图第 3 框开始 j1,m 循环,就是按已选出的关键词依次进行处理。 接着就是将关键词 A(i)与选出的关键词 K(j)进行比较。因此(2)处应填 K(i)。 如果 A(i
9、)K(j),则需要对计数器 NK(j)增 1,即执行 NK(j)+1NK(j)。因此(3)处应填 NK(j)+1NK(j)。执行后,需要跳出 j 循环,继续进行 i 循环,即根据书中的下一个关键词进行处理。 如果 A(i)不等于 NK(j),则需要继续与下个 NK(j)进行比较,即继续执行 j 循环。如果直到 j 循环结束仍没有找到匹配的关键词,则要将该 A(i)作为新的已选出的关键词。因此,应执行 A(i)K(m+1)以及 m+1m。更优的做法是先将计数器 m 增 1,再执行 A(i)K(m)。因此(4)处应填 m+1m,(5)处应填 A(1)。2.试题二(共 15 分) 阅读以下说明和 C
10、 函数,填补代码中的空缺(1)(5),将解答填入答题纸的对应栏内。说明 函数 removeDuplicates(char *str)的功能是移除给定字符串中的重复字符,使每种字符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设置标志,并将其后的非重复字符前移。例如,若 str 指向的字符串为“aaabbbbscbsss”,则函数运行后该字符串为“absc”。 C代码 (分数:15.00)_正确答案:( (1)len2 或 lenbase、Q-rear、Q-length”或“(*Q)base、(*Q)rear、(*Q)length”,由于队列元素类型为 QElemTyp
11、e、队列容量为 MAXQSIZE,因此空(1)处应填入“sizeof(QElemType)”。 入队列操作由 EnQueue(SqQueue*Q,QElemType e)实现。由于循环队列空间的容量为 MAXQSIZE(也就是队满条件为“Q-lengthMAXQSIZE”),因此元素入队列时,需先判断是否队满,在队列中有空闲单元的情况下才能进行入队列操作。其次需确定新元素在队列空间中的位置,从图 3-1(b)中可以看出,Q-rear 指出了当前队尾元素,新元素应放入下一个位置,结合队列环形空间的要求,空(2)处应填入“(Q-rear+1)MAXQSIZE”或其等价形式。通过“Q-baseQ-r
12、eare”将元素加入队列后,队列长度增加了,因此空(3)处应填入“Q-length+”或其等价形式。 出队列操作由 DeQueue(SqQueue *Q,QElemType*e)实现。元素出队列时,需要判断队列是否为空,显然,队列长度为 0 就直接表示了队空,因此空(4)处应填入“Q-length=0”或其等价形式,空(5)处应填入“Q-length-”或其等价形式。4.试题四(共 15 分) 阅读以下说明和 C 函数,填补代码中的空缺(1)(6),将解答填入答题纸的对应栏内。说明 二叉树的宽度定义为含有结点数最多的那一层上的结点数。函数 GetWidth()用于求二叉树的宽度。其思路是根据树
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 计算机水平 考试 初级 程序员 2014 年下 半年 下午 答案 解析 DOC
