2022年四川省计算机等级考试二级C语言机试题资料 .pdf





《2022年四川省计算机等级考试二级C语言机试题资料 .pdf》由会员分享,可在线阅读,更多相关《2022年四川省计算机等级考试二级C语言机试题资料 .pdf(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、四川省计算机等级考试二级C语言机试题(第二十八次)2009-11-06 16:45 四川省计算机等级考试二级C语言机试题(第二十八次)2009-03-29 16:44:17 (第一套)(60 分钟)一、程序调试题(40分)磁盘上有一 C程序 test1-1.c,其功能是:将具有N个元素的数组的后m个元素移到前 m个位置。例如,若输入m=3,数组元素为:1 2 3 4 5 6 7 8 9 10,则输出结果为:8 9 10 1 2 3 4 5 6 7。要求将结果显示在屏幕上并写入文件test1-1.dat中。请更改程序中的错误,使程序能得出正确结果。注意:不得增行或删行,也不得更改程序结构。源程序
2、如下:#include stdio.h#define N 10 void main()int aN,k,m,r,*t;FILE*fp;fp=fopen(test1-1.dat,w);if(fp=NULL)printf(File can not open!n);exit(0);printf(nInput m:);scanf(%d,m);printf(nInput 10 numbers:n);for(k=0;kN;k+)scanf(%d,a);for(r=0;r0;k-)ak=ak-1;ak=t;for(k=0;k2)printf(paramelers missing!n);exit(0);if(
3、f1=fopen(*argv1,w)=NULL)printf(cannot open file1!n);exit(0);if(f2=fopen(test2-1.in,r)=NULL)printf(cannot open file2!n);exit(0);while(!feof(f2)void rev();fputc(n,f1);名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 46 页 -fclose(f1);fclose(f2);void rev(void)char c;if(!feof(f2)|(c=fgetc(f2)!=n)rev();fputc(c,f2);二、编写程序 t
4、est2-2.c(60 分)从键盘上输入整数m和 k,将大于且紧靠m的 k 个素数存入数组 xx 中,将结果显示在屏幕上。要求:(1)在 num函数中完成找出紧靠m的 k 个素数,并存入数组xx 中。函数 num的定义形式为:void num(int m,int k,int xx)(2)main 函数完成数据的输入和输出。(第三套)(60分钟)一、程序调试题(40分)磁盘上有一个名为test3-1.c的 C程序文件,其中函数 fun 的功能是:找出被 2、3、5 整除时余数均为1 的最小的 10 个自然数,并存放到一个整型数组中。在 main 函数中调用函数 fun,输出最后结果,并将结果输出
5、到文本文件test3-1.txt中。请改正程序中的错误,使其能得到正确的结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:#include void fun(int a)int i;int cnt=0;名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 46 页 -for(i=1;cnt10;i+)if(i%2=1|i%3=1|i%5=1)acnt=i;cnt+;void main()int a10;int i;FILE*fp;if(fp=fopen(test3-1.txt,w)=null)printf(Cannot open the file.n);exit(0);fun
6、();for(i=0;i10;i+)printf(%4d,ai);fprintf(%4d,ai);fclose(fp);二、编写程序 test3-2.c(60 分)按要求编写程序:(1)编写函数 fun,其功能是:统计形参s 所指字符串中数字字符出现的次数,并存放在形参 t 所指的变量中。例如:形参 s 所指字符串为:abcdef35agd3khe7,则数字出现的次数为4 次。(2)在 main 函数中,从已有文件test3-2.in中读出一行字符(字符个数不超过 80 个)到字符数组 str 中,调用函数 fun,统计出数字出现的次数,并在屏幕上输出结果。四川省计算机等级考试二级C语言机试题
7、(第二十七次)2009-11-06 16:46 四川省计算机等级考试二级C语言机试题(第二十七次)2009-03-29 16:43:11 (第一套)(60 分钟)名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 46 页 -一、程序调试题(40分)磁盘上有一个名为test1-1.c的 C程序,其功能是:利用折半查找法查找整数m在含有 N个有序整数的一维数组中的位置。若找到,则返回其下标,反之,则返回-1。请更改程序中的错误,使之能输出正确结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:#include stdio.h#define N 10 void fun(int a
8、,int m)int low=0,high=N-1,mid;while(low=high)mid=(low+high)%2;if(mamid)low=mid+1;else return;return-1;void main()int i,a=-3,4,7,9,11,13,45,60,66,70,k,m;printf(n array a:n);for(i=0;i=0)printf(m=%d,index=%dn,m,k);else printf(Not be found!n);二、编写程序 test1-2.c(60 分)用指针编程实现:将用户输入的由数字字符和非数字字符组成的字符串(字符个数不超过
9、 256 个)中的数字提取出来,例如:输入“asd123rt456,lg789”,则提取的数字分别是123、456 和 789。将结果显示在屏幕上,同时输出到文件名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 46 页 -test1-2.dat中(要求每个数字一行)。(第二套)(60分钟)一、程序调试题(40分)磁盘上有一个名为 test2-1.c的 C程序,其功能是统计字符串中大写字母的个数。在 main 函数中输入一个字符串(字符个数不超过80 个),并输出统计结果。在UpperNum()函数中统计字符串str 中的大写字母个数,并作为函数值返回。注意:不得增行或删行,也不得
10、更改程序结构。源程序如下:#include stdio.h#include ctype.h int UpperNum(char str)int n,i=0;while(str+i)if(isupper(stri)n+;i+;return i;void main()char str;printf(n Input a string:n);gets(str);printf(nThe Number of Upper Letter is:%dn,UpperNum(str);二、编写程序 test2-2.c(60 分)按要求编写程序:(1)编写一个字符串比较函数mystrcpy,其功能是:对两个字符串进行
11、比较,若这两个字符串相等,则返回0,若这两个字符串不等,则返回它们第一个不同字符的 ASCII 码之差。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 46 页 -(2)编写 main 函数:从文件 test2-2.dat中读两个字符串分别赋给两个一维字符数组,调用 mystrcpy 函数,输出比较结果。(第三套)(60分钟)一、程序调试题(40分)磁盘上有一个名为test3-1.c的 C程序文件,其功能是:从键盘上输入一个1001000之间的数,找出其中三位数字相等的所有整数并输出。请改正程序中的错误。注意:不得增行或删行,也不得更改程序结构。源程序如下:#include st
12、dio.h#define N 100 int fun(int s,int n)int i,j,k,a,b,c;j=0;for(i=100;i1000)num=fun(a,n);printf(nnThe result:n);for(i=0;inum;i+)名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 46 页 -printf(%5d,ai);printf(n);二、编写程序 test3-2.c(60 分)按要求编写程序:(1)编写函数 fun,其功能是:统计形参s 所指字符串中数字字符出现的次数,并存放在形参 t 所指的变量中。例如:形参 s 所指字符串为:abcdef35agd
13、3khe7,则数字出现的次数为4 次。(2)在 main 函数中,从已有文件test3-2.in中读出一行字符(字符个数不超过 80 个)到字符数组 str 中,调用函数 fun,统计出数字出现的次数,并在屏幕上输出结果。(第四套)(60 分钟)一、程序调试题(40分)给定程序 test4-1.c,其功能是:输入一个整数k(2=k=10000),输出它的所有质因子(即所有为素数的因子)。例如,若输入2310,则输出 2、3、5、7、11。请改正程序中的错误,使程序能得出正确结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:#include stdio.h int fun1(int*n
14、)int i;for(i=2;i=n;i+)if!(n%i)return 0;return;void main()int j,k;printf(nPlease enter a integer number 210000:);scanf(%d,k);printf(nThe prime factor(s)of%d is(are):,k);for(j=2;j=k;j+)if(!(k%j)&fun1(j)名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 46 页 -printf(n%4d,j);printf(n);二、编写程序 test4-2.c(60 分)磁盘上已有文件 test4-2.
15、dat,文件中有 3 个字符串,请将 3 个字符串中的小写字母全部转换为大写字母,然后将转换后的结果输出到屏幕上。要求:定义 convert 函数,用于实现小写字母转换成大写字母。在main 函数中完成文件夹的打开和读数据,调用convert 函数,输出转换后的结果。(第五套)(60 分钟)一、程序调试题(40分)给定程序 test5-1.c,其功能是:求出数组中值最大的元素在数组中的下标,并将最大值增添在数组的最后。例如,数组中的数据为:876 675 896 101 301 401 980 431 451 777 输出结果如下:The index of max is:6 The resul
16、t:876 675 896 101 301 401 980 431 451 777 980 请改正程序中的错误,使程序能得出正确结果。、注意:不得增行或删行,也不得更改程序结构。源程序如下:#include stdio.h#define N 80 void fun(int*s,int*t,int k)int i,m;*k=0;m=*s;for(i=1;i(*t-1);i+)if(ms+i)名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 46 页 -m=*(s+i);*k=i;si+1=m;*t+;void main()int aN=876,675,896,101,301,401,
17、980,431,451,777;int i,n=10,mi;fun(aN,&n,&mi);printf(The index of max is:%dn,mi);printf(The result:n);for(i=0;in;i+)printf(%4d,a);二、编写程序 test5-2.c(60 分)用函数调用方式编写程序。要求实现:(1)编写 fun 函数,其功能是计算并比较两个字符串的长度(要求不得使用标准库函数 strlen),返回较长字符串的指针。若两个字符串长度相等,则返回第一个字符串的指针。(2)编写 main 函数,在其中输入两个字符串,打开文件test5-2.dat,将 fun
18、函数计算出的两个字符串长度和返回结果分别显示在屏幕上,同时写入到文件test5-2.dat中。四川省计算机等级考试二级C语言机试题(第二十八次)2009-11-06 16:45 四川省计算机等级考试二级C语言机试题(第二十八次)2009-03-29 16:44:17 (第一套)(60 分钟)一、程序调试题(40分)磁盘上有一 C程序 test1-1.c,其功能是:将具有N个元素的数组的后m个元素移到前 m个位置。例如,若输入m=3,数组元素为:1 2 3 4 5 6 7 8 9 10,则输出结果为:8 9 10 1 2 3 4 5 6 7。要求将结果显示在屏幕上并写入文件test1-1.dat
19、中。请更改程序中的错误,使程序能得出正确结果。名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 46 页 -注意:不得增行或删行,也不得更改程序结构。源程序如下:#include stdio.h#define N 10 void main()int aN,k,m,r,*t;FILE*fp;fp=fopen(test1-1.dat,w);if(fp=NULL)printf(File can not open!n);exit(0);printf(nInput m:);scanf(%d,m);printf(nInput 10 numbers:n);for(k=0;kN;k+)scanf
20、(%d,a);for(r=0;r0;k-)ak=ak-1;ak=t;for(k=0;k2)printf(paramelers missing!n);exit(0);if(f1=fopen(*argv1,w)=NULL)printf(cannot open file1!n);exit(0);if(f2=fopen(test2-1.in,r)=NULL)printf(cannot open file2!n);exit(0);while(!feof(f2)void rev();fputc(n,f1);fclose(f1);fclose(f2);void rev(void)char c;if(!feo
21、f(f2)|(c=fgetc(f2)!=n)rev();fputc(c,f2);二、编写程序 test2-2.c(60 分)从键盘上输入整数m和 k,将大于且紧靠m的 k 个素数存入数组 xx 中,将结果名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 46 页 -显示在屏幕上。要求:(1)在 num函数中完成找出紧靠m的 k 个素数,并存入数组xx 中。函数 num的定义形式为:void num(int m,int k,int xx)(2)main 函数完成数据的输入和输出。(第三套)(60分钟)一、程序调试题(40分)磁盘上有一个名为test3-1.c的 C程序文件,其中函数
22、 fun 的功能是:找出被 2、3、5 整除时余数均为1 的最小的 10 个自然数,并存放到一个整型数组中。在 main 函数中调用函数 fun,输出最后结果,并将结果输出到文本文件test3-1.txt中。请改正程序中的错误,使其能得到正确的结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:#include void fun(int a)int i;int cnt=0;for(i=1;cnt10;i+)if(i%2=1|i%3=1|i%5=1)acnt=i;cnt+;void main()int a10;int i;FILE*fp;if(fp=fopen(test3-1.txt,w
23、)=null)printf(Cannot open the file.n);exit(0);名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 46 页 -fun();for(i=0;i10;i+)printf(%4d,ai);fprintf(%4d,ai);fclose(fp);二、编写程序 test3-2.c(60 分)按要求编写程序:(1)编写函数 fun,其功能是:统计形参s 所指字符串中数字字符出现的次数,并存放在形参 t 所指的变量中。例如:形参 s 所指字符串为:abcdef35agd3khe7,则数字出现的次数为4 次。(2)在 main 函数中,从已有文件test
24、3-2.in中读出一行字符(字符个数不超过 80 个)到字符数组 str 中,调用函数 fun,统计出数字出现的次数,并在屏幕上输出结果。四川省计算机等级考试二级C语言机试题(第二十八次)答案2009-11-06 16:48 四川省计算机等级考试二级C语言机试题(第二十八次)答案2009-03-29 16:44:46 28-1 套 参考答案:一、程序调试题(文件名为 test1-1.c)(40 分)#include stdio.h#define N 10 void main()int aN,k,m,r,*t;/*改为:t*/FILE*fp;fp=fopen(test1-1.dat,w);/*改
25、为:test1-1.dat*/if(fp=NULL)printf(File can not open!n);exit(0);printf(nInput m:);scanf(%d,m);/*改为:&m*/printf(nInput 10 numbers:n);for(k=0;kN;k+)scanf(%d,a);/*改为:a+k*/for(r=0;r0;k-)ak=ak-1;ak=t;/*改为:a0*/for(k=0;kN;k+)printf(%4d,ak);fprintf(fp,%4d,ak);fclose(fp);评分标准:每改对一处得8 分二、编程题(程序文件取名为 test1-2.c)(6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年四川省计算机等级考试二级C语言机试题资料 2022 四川省 计算机等级考试 二级 语言 试题 资料

限制150内