【计算机类职业资格】二级C语言机试-69及答案解析.doc

上传人:lawfemale396 文档编号:1325788 上传时间:2019-10-17 格式:DOC 页数:5 大小:30KB
下载 相关 举报
【计算机类职业资格】二级C语言机试-69及答案解析.doc_第1页
第1页 / 共5页
【计算机类职业资格】二级C语言机试-69及答案解析.doc_第2页
第2页 / 共5页
【计算机类职业资格】二级C语言机试-69及答案解析.doc_第3页
第3页 / 共5页
【计算机类职业资格】二级C语言机试-69及答案解析.doc_第4页
第4页 / 共5页
【计算机类职业资格】二级C语言机试-69及答案解析.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、二级 C 语言机试-69 及答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:30.00)1.请补充函数 fun(),该函数的功能是:只保留字符串中的大写字母,删除其他字符,结果仍保存在原来的字符串中,由全局变量 m 对删除后字符串的长度进行保存。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。试题程序:#includestdio.h#includeconio.hint m;void fun(char *s)int i=0,j=0;char *p=s;while (*(p+i)

2、if(*(p+i)A【3】 ;main()char str80;clrscr();printf(“/nEnter a string:“);gets(str);printf(“/n/nThe string is:/%s/n“,str);fun(str);printf(“/n/nThe string of changingis:/%s/n“,str);printf(“/n/nThe length of changed stringis:/%d/n“,m);(分数:30.00)填空项 1:_二、改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun()的功能是:从 n 个学生的成绩中

3、统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参 aver 所指的存储单元中。例如输入 8 名学生的成绩:80.5 60 72 90.5 98 51.5 88 64则低于平均分的学生人数为 4(平均分为 75.5625)。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:#include stdio.h#include conio.h#define N 20int fun(float *s, iht n,float *aver)float ave ,t=0.0;int count=0,k,i;for(k=0

4、;kn;k+)/*found*/t=sk;ave=t/n;for(i=0;in;i+)if(siave) count+;/*found*/*aver=return count;main()float s30,aver;int m,i;clrscr();printf(“/nPlease enter m: “); scanf(“%d“,printf(“/nPlease enter %d mark :/n“,m);for(i=0;iprintf(“/nThe number of students :%d/n“,fun(s,m,printf(“Ave=%f/n“,aver);(分数:30.00)填空项

5、 1:_三、编程题(总题数:1,分数:40.00)3.printf(“%d, %d/n “, k, ak);(分数:40.00)_二级 C 语言机试-69 答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:30.00)1.请补充函数 fun(),该函数的功能是:只保留字符串中的大写字母,删除其他字符,结果仍保存在原来的字符串中,由全局变量 m 对删除后字符串的长度进行保存。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。试题程序:#includestdio.h#includec

6、onio.hint m;void fun(char *s)int i=0,j=0;char *p=s;while (*(p+i)if(*(p+i)A【3】 ;main()char str80;clrscr();printf(“/nEnter a string:“);gets(str);printf(“/n/nThe string is:/%s/n“,str);fun(str);printf(“/n/nThe string of changingis:/%s/n“,str);printf(“/n/nThe length of changed stringis:/%d/n“,m);(分数:30.0

7、0)填空项 1:_ (正确答案:1 sj+=*(p+i) 2 i+ 3 m=j)解析:解析 填空 1:将大写字母存于原字符串中,数组下标 j 自加 1,为下一次存放做准备。填空 2:为了判断字符串中的下一个字符是否为大写字母,变量 i 自加 1。填空 3:最后将大写字母的个数,即删除后字符串的长度赋给全局变量 m。二、改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun()的功能是:从 n 个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参 aver 所指的存储单元中。例如输入 8 名学生的成绩:80.5 60 72 90.5 98 51.5 88

8、 64则低于平均分的学生人数为 4(平均分为 75.5625)。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:#include stdio.h#include conio.h#define N 20int fun(float *s, iht n,float *aver)float ave ,t=0.0;int count=0,k,i;for(k=0;kn;k+)/*found*/t=sk;ave=t/n;for(i=0;in;i+)if(siave) count+;/*found*/*aver=return count

9、;main()float s30,aver;int m,i;clrscr();printf(“/nPlease enter m: “); scanf(“%d“,printf(“/nPlease enter %d mark :/n“,m);for(i=0;iprintf(“/nThe number of students :%d/n“,fun(s,m,printf(“Ave=%f/n“,aver);(分数:30.00)填空项 1:_ (正确答案:错误:t=sk; 正确:t+=sk;(2) 错误:*aver=(分数:40.00)_正确答案:(int fun(int *s,int t,int *k)int i;*k=0; /*k 所指的数是数组的下标值*/for(i=0;it;i+)if(s*ksi) *k=i; /*找到数组的最大元素,把该元素的下标赋给 k 所指的数*/return s*k; /*返回数组的最大元素*/)解析:解析 本题中直接使用指针变量 k,但在使用时要注意对 k 的指针运算,此外,一开始应让*k 的值为数组中的某一下标值,即*k=0。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1