[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷15及答案与解析.doc
《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷15及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷15及答案与解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(初级)程序员下午(应用技术)模拟试卷 15及答案与解析 1 阅读以下说明和流程图,将应填入 (n)处的字句写在对应栏内。 说明 下面的流程图用于计算一个英文句子中最长单词的长度 (即单词中字母个数 )MAX。假设该英文句子中只含字母、空格和句点 “.”,其中句点表示结尾,空格之间连续的字母串称为单词。 流程图 2 阅读下列函数说明和 C函数,将应填入 (n)处的字句写在对应栏内。 函数 2.1说明 Fibonacci数列中头两个数均为 1,从第三个数开始,每个数等于前两个数之和。下述程序 计算 Fibonacci数列中前 15个数,并以每行 5个数的格式输出。 函数 2.1 #i
2、nclude stdio.h main() int i,f,f1=1,f2=1; printf(“%5d%5d“,f1,f2); for(i=3;i =15;i+) f=(1); printf(“%5d“,f); if(2)= =0) printf(“n“); f1=12; (3); 函数 2.2说明 函数 fun(char *str1,char *str2)的功能是将字符串 str2拼接到 str1之后。 函数 2.2 fun(char *str1,char *str2) int i,j; for(i=0;str1i!=0;i+); for(j=0;str2j!=0;j+) (4); (5)
3、; 3 阅读下列函数说明和 C函数,将应填入 (n)处的字句写在对应栏内。 说明 链式存储的队列称为链队。根据队列的 FIFO原则,为了操作上的方便,可以使用带头指针 front和尾指针 rear的单链表来实现链队。若链队元素的数据类型为 datatype,则链队结构描述如下: typedef struct node datatypedata; structnode *next; QNode; /*链队结点的类型 */typedef struct QNnode *front,*rear; LQueue; /*将头尾指针封装在一起的链队 */ 以下这种链队的几个例子: 设 q是一个指向链队的指针
4、,即 LQueue *q。下面各函数的功能说明如下: (1) LQueue *Init_LQueue():创建并返回一个带头尾结点的空链队; (2) intEmpty_LQueue( LQueue *q):判断链队 q是否空; (3) void In_LQueue(LQueue *q, datatypex):将数据 x压入链队 q; (4) int Out_LQueue(LQuere *q, datatype *x):弹出链队 q的第一个元素 x,若成功则返回返回 1否则返回 0。 函数 LQueae *Init_LQueue() LQueue *q, *p; q=malloc(sizeof(
5、LQueue); /*申请链队指针 */ P=malloc(sized(QNode);/*申请头尾指针结点 */ p- next=NULL; (1)=p; return q;int Empty_LQueue(LQueue *q) if(q- front (2) q rear) return 0; else return 1;void In_LQueue(LQueue *q, datatype x) QNoda *p; p=malloc(sizeof(QNnode);/*申请新接点 */ p- data=x; p- next=NULL; (3)=p; q- rear=p;int Out_LQue
6、ue(LQueue *q, datatype *x) QNnode *p; if(Empty_LQueue(q) return 0; /*队空 ,操作失败 */ else p=q- front- next; *x=(4); (5)=p- next; free(p); if (q- front- next= =NULL)q-rear=q- front; return 1; 4 阅读下列函数说明和 C函数,将应 填入 (n)处的字句写在对应栏内。 说明 函数 encode()和 decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数 encode()顺序
7、考察已知字符串的字符,按以下规则逐组生成新字符串: (1)若已知字符串的当前字符不是数字字符,则复制该字符于新字符串中; (2)若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中; (3)若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字值为n,则将其 后继字符重复复制 n+1次到新字符串中; (4)以上述一次变换为一组,在不同组之间另插入一个下划线 _用于分隔。 例如: encode()函数对字符中 26a3t2的变换结果为 666_a_tttt_2。 函数 decode()用于经函数 encode()处理的字符中,即复制不连续相同的单个字
8、符,而将一组连续相同的字符 (不超过 10个 )变换成一个用于表示重复次数的数字符和一个重复出现的字符,并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符。 注:假定调用变换函数 encode()时的原始 字符串中不包含下划线字符。 函数 int encode(char *instr,char *outstr) char *ip, *op,c; int k,n; ip=instr; op=outstr; while ( * ip) if(*ip =0 c=(1); for (k=0;k n;k+) *op+=c; else *op+=*ip; (2); ip+; if (op outs
9、tr) (3); *op=0; (4); int decode(char *instr,char *outstr) char *ip,*op,c; int n; ip=instr; op=outstr; while ( *ip) c=*ip; n=0; while( *ip=c n+; if(n 1) *op+ + =0+n-1; * op+=c; if(*ip=_) ip+; *op=0; (4); 5 阅读以下说明及 Visual Basic程序代码,将应填入 (n)处的字句写在对应栏内。 说明 某单位组织一次职业技术考核比赛,由十名评委对选手的现场表现打分 (0到100以内的数值 )。本
10、程 序接收原始评分后,去掉一个最高分、一个最低分,最后计算并输出选手最后得分。在接收输入第 i个评分时,若输入数据的类型、范围不正确,程序将给出相应提示,并等待下一次输入,直至正确接收第 i个评分为止。程序的运行界面如下: 在开发过程中,文本框名为 Text1,界面上有上至下三个按钮分别取名为 CmdMark、CmdReresh和 CmdExit。 Visual Basic代码 Private Sub CmdMark_Click() 按钮 “输入评分 ”的单击事件响应代码 Dim i As Integer,temp As Variant 声明变量 Dim marks(1 To 10),maxM
11、ark,minMark,sumMark,mark As Single sumMark=0 Text1.Text=“编号 ” /雇员姓名 short age; /年龄 float salary;/工资 public: employee(); void set_name(char *); void set_age(short a) age=a; void set_salary(float s) salary=s; (1); employee()delete name; ; employee:employee() name=“; age=0; salary=0.0; void employee:se
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 初级 程序员 下午 应用技术 模拟 15 答案 解析 DOC
