2023年全国计算机等级考试C语言上机考试题库4160套.doc
《2023年全国计算机等级考试C语言上机考试题库4160套.doc》由会员分享,可在线阅读,更多相关《2023年全国计算机等级考试C语言上机考试题库4160套.doc(132页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年全国计算机等级考试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码值为偶数的字符,由于
11、最终是规定出剩余字符形成的新串,所以本题的算法是对原字符串从头到尾扫描,并找出ASCII码值为偶数的字符依次存入数组中。第四十二套1、程序填空给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文献中,再用字符串方式从此文本文献中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。请在程序的下画线处填入对的的内容并把下画线删除,使程序得出对的的结果。注意:部分源程序在文献BLANK1.C中。请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。-#include #include void
12、 fun(char *s, int a, double f)/*found*/ _1_ fp; char str100, str1100, str2100; int a1; double f1; fp = fopen(file1.txt, w); fprintf(fp, %s %d %fn, s, a, f);/*found*/ _2_ ; fp = fopen(file1.txt, r);/*found*/ fscanf(_3_,%s%s%s, str, str1, str2); fclose(fp); a1 = atoi(str1); f1 = atof(str2); printf(nTh
13、e result :nn%s %d %fn, str, a1, f1);main() char a10=Hello!; int b=12345; double c= 98.76; fun(a,b,c);-【参考答案】(1)FILE*(2)fclose(fp)(3)fp【解题思绪】填空1:从使用fp=fopen(file1.txt,w)可知fp应当是文献类型指针,因此本空因该填写FILE*。填空2:当对fp作打开操作的时候,并进行不同的操作前,应当对其关闭,由于在第一次打开时是对fp进行写操作,而在第二次打开后进行的是读操作,因此应当先对fp进行关闭,本空填fclose(fp)。填空3:fsca
14、nf()是把文本文献输出,因此本空只能填写fp。2、程序修改下列给定程序中,函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m10)名学生来,并将这些学生的数据存放在一个动态分派的连续存储区中,此存储区的首地址作为函数值返回。请改正程序中的错误,使它能得出对的的结果。注意:部分源程序在文献MODI1.C中,不得增行或删行,也不得更改程序的结构。-#include #include #include #include #include #define N 10typedef struct ss char num10; int s; STU;STU *fun(STU a, in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 全国 计算机等级考试 语言 上机 考试 题库 4160
限制150内