2020年度全国计算机等级考试C语言上机考试题库4160套.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2020年度全国计算机等级考试C语言上机考试题库4160套.docx》由会员分享,可在线阅读,更多相关《2020年度全国计算机等级考试C语言上机考试题库4160套.docx(134页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国计算机等级考试C语言上机考试题库4160 套全国计算机等级考试C语言上机考试题库学生练习用第41套至第60套第四十一套1、程序填空下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符 顺序前移,其它字符顺序后移,处理后将新字符串的首地址作为函数值返回。 例如,若s所指字符串为:asdl23fgh543df”,处理后新字符串为: *asdfghdf123543*请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANKLC中。不得增行或删行,也不得更改程序的结构!#include include ttinclude char *
2、fun(char *s) int i, j, k, n; char *p, *t;n=strlen(s)+l;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*/j+;else pk=si; k+; /*found*/for(i=0; i_2; i+) tj+i=pi;/*found*/tj+k= _3_;return t;main() char s 80;printf(Pleaseinput:);scanf (%s,
3、 s);printf(nThe result is: %sn, fun(s);【参考答案】d)si (2)k(3)、或 【考点分析】本题考査:数组元素赋值操作;for循环语句中循环变量的取值范围;字符串结 束标识、。【解题思路】填空!:将字符串s中所有字母元素赋给数组to填空2:字符串中所有非字母元素放到字母元素后面,因此取值范围是。k填空3:最后给字符串加入结束标识、。2、程序修改下列给定程序中函数fun的功能是:将s所指字符串中最后一次出现的与tl所 指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。 要求tl和t2所指字符串的长度相同。例如,当s所指字符串中的内容为
4、:abcdabfabc”, tl所指串中的内容为ab, t2所指子串中的内容为99”时,结果在w所指的数组中的内容应为 abcdabf99c”。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结 构!#include #include void fun (char *s, char *tl, char *t2 , char *w)(char *p , *r, *a;strcpy ( w, s );/*found*/while ( w ) p = w; r = tl;while ( *r )/ *f otind*/ IF ( *
5、r = *p ) r+; p+; else break;if ( *r 、0 ) a = w;w+;r 二 t2;while ( *r ) *a 二*r; a+; r+; main()(char s100, tl100, t2100, w100;printf(nPlease enter string S:); scanf (%s”, s);printf(nPlease enter substring tl:); scanf (%s”, tl);printf (nPlease enter substring t2:z,);scanf(%s”, t2);if ( strlen (tl)=strle
6、n(t2) fun( s, tl, t2, w);printf i nThe result is : %sn , w);else printfi nError : strlen(tl) != strlen (t2) n,z);【参考答案】(l)while(*w)(2)if(*r=*p)【考点分析】本题考査:while循环语句,C语言中的关键字。【解题思路】(1)这里要判断的是值的真假,而不是地址,因此改为while (*w)o(2)C语言中关键字区分大小写,只需运行程序,就能够根据错误提示找到。3、程序设计编写函数fun,其功能是:将s所指字符串中ASCII值为奇数的字符删除,剩余 字符形成的
7、新串放在t所指数组中。例如,若s所指字符串中的内容为:ABCDEFG12345”,其中字符A的ASCII码 值为奇数,字符1的ASCI!码值也为奇数,都应当删除,其它依此类推。最后t 所指的数组中的内容应是:BDF24”。注意:部分源程序在文件PROGLC中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。#include #include void fun (char *s, char t ) main()(char s100, t100;void NONO ();printf(nPlease enter string S:);scanf s);
8、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 (“ut. 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
9、fun (char *s, char t )main()(char s100, t100;void NONO ();printf(nPlease enter string S:);scanf s);fun(s, t);printf(nThe result is: %sn”, t);NONO ();void NONO ()/本函数用于打开文件,输入数据,调用函数, 输出数据,关闭文件。*/char s100, t 100;FILE *rf, *wf ;int i ;rf = fopen(in. dat , r ); wf = fopen (“ut. dat, w); for(i = 0 ; i
10、10 ; i+) fscanf (rf, %s, s);fun(s, t);fprintf (wf, %sn, t);fclose(rf);fclose(wf);【参考答案】void fun(char *s, char t) int i, j=0,n;n=strlen(s);for(i=0;in;i+)/找出ASCI!码值为偶数的字符依次存入数组中/if (si%2=0)tj=si;j+;tj。;【考点分析】本题考査:ASCH码值为奇数或偶数的判定方法,同时掌握删除字符的思想,即 重新保留非删除字符。【解题思路要删除ASCII码值为奇数的字符,也就是要保留ASCII码值为偶数的字符,由 于最终
11、是要求出剩余字符形成的新串,因此本题的算法是对原字符串从头到尾 扫描,并找出ASCII码值为偶数的字符依次存入数组中。第四十二套1、程序填空给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本 文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof 将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANKLC中。请勿改动main函数和其它函数中的任何内容,仅在main函数的横线上填入所 编写的若干表示式或语句。ttinclude #include vo
12、id fun (char *s, int a, double f)(/*found*/1 fp;char str100, strl100, str2100;int al; double fl;fp = fopen(filel. txt, w);fprintf (fp, %s %d %fn, s, a, f);/*found*/_2_ ;fp = fopen(filel. txt, r);/*found*/fscanf (_3_, %s%s%s, str, strl, str2);fclose(fp);al = atoi(strl);fl = atof (str2);printf(nThe re
13、sult :nn%s %d %fn, str, al, fl);)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(filel. txt, w)可知fp应该是文件类型指针,因 此本空因该填写FILE*O填空2:当对fp作打开操作的时候,并进行不同的操作前,应该对其关闭,因 为在第一次打开时是对fp进行写操作,而在第二次打开后进行的是读操作,因 此应该先对fp进行关闭,本空填fclose(fp)。填
14、空3: fscanfO是把文本文件输出,因此本空只能填写fp。2、程序修改下列给定程序中,函数fun的功能是:对N名学生的学习成绩,按从高到低的 顺序找出前m(mW10)名学生来,并将这些学生的数据存放在个动态分配的连 续存储区中,此存储区的首地址作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODILC中,不得增行或删行,也不得更改程序的结 构。include #include #include include ttinclude define N 10 typedef struct ss char num10; int s; STU;STU *fun(ST
15、U a, int m) STU bN,*t;int i, j,k;/*found*/*t=calloc(m, sizeof(STU);for(i=0;iN;i+) bi=ai;for (k=0;km;k+) for (i=j=O;ibj. s) j=i;/*found*/tk. num=bj. num; tk. s=bj. s; bj. s=0;return t;outresult(STU a, FILE *pf) int i;for(i=0;i10) printf (,znGive the number of the students who have better score:);scan
16、f (%d, &m);pOrder=fun (a, m);printf(* THE RESULT*n);printf(The top :n);for (i=0;im;i+)printf (z,%s%dn”, pOrder i. num,pOrderi.s);free(pOrder);【参考答案】(1)t=calloc(m, sizeof(STU);(2)tk=bj;【解题思路】(1) calloc应用于分配内存空间。调用形式为(类型说明符*)calloc(n, size)功能:在内存动态存储区中分配n块长度为size”字节的 连续区域,函数的返回值为该区域的首地址,(类型说明符*)用于强制类型
17、转换。 calloc函数与malloc函数的区别在于calloc函数一次能够分配n块区域。 例如,ps= (struct stu*) calloc(2, sizeof (struct stu);其中的 sizeof (struct stu)是求stu的结构长度。该语句的意思是:按stu的长度分 配两块连续区域,强制转换为stu类型,并把其首地址赋予指针变量ps。在本 题中不用考虑那么复杂,根据定义类型STU bN,*t;就能够看出 *t=calloc(m, sizeof (STU)中的错误。(2)tk.num=bj.num的错误旨在考査对结构体概念的掌握和灵活应用程度。3、程序设计请编写函数f
18、un,该函数的功能是:删除维数组中所有相同的数,使之只剩 个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是:2223445666677899 10 10 10删除后,数组中的内容应该是:23456789 10注意:部分源程序在文件PR0G1.C中。请勿改动main函数和其它函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。include define N 80int fun(int a, int n) void main()FILE *wf;intaN = 2, 2, 2, 3, 4, 4, 5, 6, 6, 6, 6, 7,
19、7, 8, 9, 9, 10,10, 10, 10, i, n=20;printfi Fhe original data :n);for(i=0; in; i+)printf(%3d, ai);n=fun (a, n);printf (z,nnThe data after deleted : n);for(i=0; in; i+)printf(%3d, ai);printf(nn);wf二fopen(out dat, w);for(i=0; in; i+)fprintf(wf, %3d”, ai); fclose(wf);【参考答案】int fun(int a, int n) int i,j=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2020 年度 全国 计算机等级考试 语言 上机 考试 题库 4160
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内