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

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

1、二级 C 语言-194 及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是:将形参 s 所指字符串中所有 ASCII 码值小于 97 的字符存入形参 t 所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。 例如,形参 s 所指的字符串为:Abc1x56*,程序执行后,f 所指字符数组中的字符串应为:A156*。 请在程序的下划线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h int

2、 fun(char*s,char*t) (int n=0; while(*s) if(*s97) /*found*/ *(t+n)= 1;n+; /*found*/ 2; *(t+n)=0; /*found*/ return 3; main() (char s81,t81;int n; printf(“/nEnter a string:/n“); gets(s); n=fun(s,t); printf(“/nThere are%d letter which ASCII code is less than 97:%s/n“,n,t); (分数:30.00)二、程序改错题(总题数:1,分数:30.

3、00)2.下列给定程序中,函数 fun 的功能是:给定 n 个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。例如,n=8 时,输入193.199、195.673、195.757、196.051、196.092、196.596、196.579、196.763,所得平均值为195.838745,在平均值以上的实数个数应为 5。 请改正程序中的错误,使其能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #includestdlib.h #includeconio.h #includestdio.h int fun(float x,in

4、t n) /*found*/ int j,c=0;float xa=0.0; for(j=0;jn;j+) xa+=xj/n; printf(“ave=%f/n“,xa); for(j=0;jn;j+) /*found*/ if(xj=xa) C+; return C; void main() float x100=193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763; system(“CLS“); printf(“%d/n“,fun(x,8); (分数:30.00)_三、程序设计题(总题数:1,分数:40.00)3.编

5、写函数 fun,其功能是:根据以下公式求 P 的值,结果由函数值带回。m 与 n 为两个正整数且要求mn。 (分数:40.00)_二级 C 语言-194 答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是:将形参 s 所指字符串中所有 ASCII 码值小于 97 的字符存入形参 t 所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。 例如,形参 s 所指的字符串为:Abc1x56*,程序执行后,f 所指字符数组中的字符串应为:A156*。 请在程序的下划线处填入正确的内容,使程序得出正确

6、的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h int fun(char*s,char*t) (int n=0; while(*s) if(*s97) /*found*/ *(t+n)= 1;n+; /*found*/ 2; *(t+n)=0; /*found*/ return 3; main() (char s81,t81;int n; printf(“/nEnter a string:/n“); gets(s); n=fun(s,t); printf(“/nThere are%d letter which ASCII

7、 code is less than 97:%s/n“,n,t); (分数:30.00)解析:*s s+ n 解析 填空 1:判断 s 所指向的字符串中的字符符合条件时,将当前字符存放到 t 指向的字符串中,所以应填*s。 填空 2:判断完一个字符之后,将字符串的指针移到下一个位置,所以应填 s+。 填空 3:题目要求函数要返回符合条件的字符个数 n,所以应填 n。二、程序改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 fun 的功能是:给定 n 个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。例如,n=8 时,输入193.199、195.673、195.757、1

8、96.051、196.092、196.596、196.579、196.763,所得平均值为195.838745,在平均值以上的实数个数应为 5。 请改正程序中的错误,使其能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #includestdlib.h #includeconio.h #includestdio.h int fun(float x,int n) /*found*/ int j,c=0;float xa=0.0; for(j=0;jn;j+) xa+=xj/n; printf(“ave=%f/n“,xa); for(j=0;j

9、n;j+) /*found*/ if(xj=xa) C+; return C; void main() float x100=193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763; system(“CLS“); printf(“%d/n“,fun(x,8); (分数:30.00)_正确答案:()解析:int j, c=0;float xa=0.0; if (xj = xa) 解析 (1)本题着重考察考生对 C 语言基本语法以及比较运算符的掌握情况。 (2)本题中的第一个错误:在 C 语言中,应成对出现,所以程序中的语句“

10、int j,c=0;float xa=0.0;“应改为“ int j,c=0;float xa=0.0;“或相同作用的语句; 本题中的第二个错误:在 C 语言中,判断大于或等于的运算符应为=,所以程序中的语句“if(xj=xa)“应改为“if (xj=xa)“或相同作用的语句。三、程序设计题(总题数:1,分数:40.00)3.编写函数 fun,其功能是:根据以下公式求 P 的值,结果由函数值带回。m 与 n 为两个正整数且要求mn。 (分数:40.00)_正确答案:()解析:long jc(int m) long s=1; int i ; for(i=1;i=m;i+) s=s*i ; return s; float fun(int m, int n) float p; p=1.0*jc(m)/jc(n)/jc(m-n) ; return p; 解析 本题考查算术运算的算法,先建立一个 jc 函数来计算 m 的阶乘,函数中使用一个 for 循环来计算 m 的阶乘,并将计算结果作为函数的返回值。在 fun 函数中调用 jc 函数,来计算三个阶乘的除法。

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

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

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