2017年全国计算机等级考试c语言上机考试题库---41-60套

上传人:suns****4568 文档编号:87895104 上传时间:2019-04-14 格式:DOC 页数:80 大小:287.50KB
返回 下载 相关 举报
2017年全国计算机等级考试c语言上机考试题库---41-60套_第1页
第1页 / 共80页
2017年全国计算机等级考试c语言上机考试题库---41-60套_第2页
第2页 / 共80页
2017年全国计算机等级考试c语言上机考试题库---41-60套_第3页
第3页 / 共80页
2017年全国计算机等级考试c语言上机考试题库---41-60套_第4页
第4页 / 共80页
2017年全国计算机等级考试c语言上机考试题库---41-60套_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《2017年全国计算机等级考试c语言上机考试题库---41-60套》由会员分享,可在线阅读,更多相关《2017年全国计算机等级考试c语言上机考试题库---41-60套(80页珍藏版)》请在金锄头文库上搜索。

1、2017年全国计算机等级考试C语言上机考试题库学生练习用第41套至第60套第四十一套1、程序填空下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。例如,若s所指字符串为:asd123fgh543df,处理后新字符串为:asdfghdf123543。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!-#include #include #include char *fun(char *s) int i, j,

2、k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char); p=(char*)malloc(n*sizeof(char); j=0; k=0; for(i=0; i=a)&(si=A)&(si=Z) /*found*/ tj=_1_; j+; else pk=si; k+; /*found*/ for(i=0; i_2_; i+) tj+i=pi;/*found*/ tj+k= _3_; return t;main() char s80; printf(Please input: ); scanf(%s,s); print

3、f(nThe result is: %sn,fun(s);-【参考答案】(1)si(2)k(3)0或0【考点分析】本题考查:数组元素赋值操作;for循环语句中循环变量的取值范围;字符串结束标识0。【解题思路】填空1:将字符串s中所有字母元素赋给数组t。填空2:字符串中所有非字母元素放到字母元素后面,所以取值范围是0k。填空3:最后给字符串加入结束标识0。2、程序修改下列给定程序中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。例如,当s所指字符串中的内容为:abcdabfabc

4、,t1所指串中的内容为ab,t2所指子串中的内容为99时,结果在w所指的数组中的内容应为abcdabf99c。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!-#include #include void fun (char *s, char *t1, char *t2 , char *w) char *p , *r, *a; strcpy( w, s );/*found*/ while ( w ) p = w; r = t1; while ( *r )/*found*/ IF ( *r = *p ) r+; p+; e

5、lse break; if ( *r = 0 ) a = w; w+; r = t2; while ( *r ) *a = *r; a+; r+; main() char s100, t1100, t2100, w100; printf(nPlease enter string S:); scanf(%s, s); printf(nPlease enter substring t1:); scanf(%s, t1); printf(nPlease enter substring t2:); scanf(%s, t2); if ( strlen(t1)=strlen(t2) ) fun( s,

6、t1, t2, w); printf(nThe result is : %sn, w); else printf(nError : strlen(t1) != strlen(t2)n);-【参考答案】(1)while(*w)(2)if(*r=*p)【考点分析】本题考查:while循环语句,C语言中的关键字。【解题思路】(1)这里要判断的是值的真假,而不是地址,所以改为while(*w)。(2)C语言中关键字区分大小写,只需运行程序,就可以根据错误提示找到。3、程序设计编写函数fun,其功能是:将s所指字符串中ASCII值为奇数的字符删除,剩余字符形成的新串放在t所指数组中。例如,若s所指字符串

7、中的内容为:ABCDEFG12345,其中字符A的ASCII码值为奇数,字符1的ASCII码值也为奇数,都应当删除,其它依此类推。最后t所指的数组中的内容应是:BDF24。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。-#include #include void fun(char *s, char t)main() char s100, t100;void NONO (); printf(nPlease enter string S:); scanf(%s, s); fun(s, t); printf(nT

8、he result is: %sn, t); NONO();void NONO ()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ char s100, t100 ; FILE *rf, *wf ; int i ; rf = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %s, s) ; fun(s, t) ; fprintf(wf, %sn, t) ; fclose(rf) ; fclose(wf) ;#include #include void fun(cha

9、r *s, char t)main() char s100, t100;void NONO (); printf(nPlease enter string S:); scanf(%s, s); fun(s, t); printf(nThe result is: %sn, t); NONO();void NONO ()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ char s100, t100 ; FILE *rf, *wf ; int i ; rf = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 1

10、0 ; i+) fscanf(rf, %s, s) ; fun(s, t) ; fprintf(wf, %sn, t) ; fclose(rf) ; fclose(wf) ;-【参考答案】voidfun(char*s,chart)inti,j=0,n;n=strlen(s);for(i=0;in;i+)/*找出ASCII码值为偶数的字符依次存入数组中*/if(si%2=0)tj=si;j+;tj=0;【考点分析】本题考查:ASCII码值为奇数或偶数的判定方法,同时掌握删除字符的思想,即重新保留非删除字符。【解题思路】要删除ASCII码值为奇数的字符,也就是要保留ASCII码值为偶数的字符,由于最终是要求出剩余字符形成的新串,所以本题的算法是对原字符串从头到尾扫描,并找出ASCII码值为偶数的字符依次存入数组中。第四十二套1、程序填空给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:部分

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号