2022年甘肃省金昌市全国计算机等级考试C语言程序设计模拟考试(含答案).docx
《2022年甘肃省金昌市全国计算机等级考试C语言程序设计模拟考试(含答案).docx》由会员分享,可在线阅读,更多相关《2022年甘肃省金昌市全国计算机等级考试C语言程序设计模拟考试(含答案).docx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年甘肃省金昌市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .自动批处理文件名必须是【】。2 .设有下列程序:#include #include main() int i ;chars10, t10;gets(t);for(i=0 ; i2 ; i+) gets(s);if(strcmp(t, s) 0)strcpy(t, s);)printf(%sn, t);)程序运行后,从键盘上输入(代表回车符):CDEF BADEF QTHRG ,贝IJ程序的输出结果是 。3 .若有如下程序: double fun (STREC * a,
2、STREC * b, int *n) ()void main ()(STREC sN= GA05”,85,“GA03”,76,“GA02”,69, “GA04:85, GAO r91, “G A07172GA08”,64, “GA06:87;STREC hN;int i, n;double ave;ave=fun(s,h,&n);printfThe %d student data which is lower than %7.3f:n”, n9ave);for (i=0;in;i+) p=nnx/n;i+)/*输出成绩低于平均分的学生记录*/printf(s %4.1fn hi.num9hi.
3、s);printf (rT);26 .请编写一个函数proc (),它的功能是:求出一个4xN整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序给出如下。请勿改动main ()函数和其他函数中的任何内容,仅在函数proc的花 括号中填入所编写的若干语句。试题程序:0 derine N 4 s mcludr V,tdiou h Ull pfOC( LDI _ Nj ) raid mam( int,553.2.42.-32.9.phntf( %dn*proHrT)s27 .使用VC +2010打开考生文件夹下progl中的解决方案。此解决方 案的项目中包含一个源程序文件progl.
4、c。在此程序中,规定输入的字符 串中只包含字母和*号。编写函数fun(),其功能是除了字符串前导和尾 部的*号外,将字符串中其他的*号全部删除。形参h指向字符串中第一 个字母,形参p指向字符串中最后一个字母。在编写函数时,不得使用 C语言提供的字符串函数。例如,若字符串中的内容为“*A*BC*DEF*G *”,删除 后,字符串中的内容应当是“*ABCDEFG *, 注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花 括号中填入你编写的若干语句。试题程序:#include #include #include void fun (char * a,c
5、har *h,char *p) ()main ()(char s81, * t, *f;printf (Enter a string:n);gets (s);t=f=s;while ( * t)t+;t-;while ( * t=*)t-;while ( * f=,*,) f+;fun(s,f,t);printf (The string after deleted:rT);puts (s); )28 .使用VC +2010打开考生文件夹下progl中的解决方案。此解决方 案的项目中包含一个源程序文件progl.c。在此程序中,请编写函数其功 能是移动一维数组中的内容,若数组中有n个整数,要求把
6、下标为0P(含P, P小于等于n- 1)的数组元素平移到数组的最后。例如,一维数组中的原始内容为1、2、3、4、5、6、7、8、9、10;P 的值为3。移动后,一维数组中的内容应为5、6、7、8、9、10、1、2、 3、 4o注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的内容,仅在函数fun()的花括号 中填入你编写的若干语句。试题程序:#include #define N 80void fun (int *w, int p, int n) ()main () int aN= 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);int i,p, n=1
7、5;printf (The original datafor(i=0; iprintf (3d”,ai);printf (nnEnter p :);scanf(d”,&p);fun(a,p,n);printf (nThe data after moving:n);for(i=0; i=nn p=printf C%3d9ai);printf (nn); )29 .请编写fun函数,其功能是:计算并输出3m所有素数的平方根 之和。例如,若主函数从键盘给m输入50后,则输出为s= 68. 665791c请勿改动main函数与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:m
8、的值要大于2但不大于100o部分源程序给出如下。试题程序:#include#includedouble fun(int m) ()void main(int m;double s ;FILE*out:printf(n n nlnput m:);scanf(%d, &m);s=fun(m);printf( n ns= % f n n, s);ut=fopen(noutfile. datn, w);for(m=0; m =include Cromer h * mdudc 9 define M Sdouble proH mt :匚 M void mmf()iaiJJL0.9U|dcMible iyt
9、efn *CLS*) i1mM The amy n * Hfor (i*Oi iprmtf( * Kid pnnt(wn e)i- proc( a) tpnme W pruitfCThe um it %lfn ,号.四、2.程序修改题(10题)31 .下列给定程序中,函数fun()的功能是计算并输出high以内的素数 之和。high由主函数传给fun()函数。若high的值为100,则函数的值 为 1060。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include #include int fun(i
10、nt high) int sum=O, n=0, j, yes ;while(high =2) yes=l ;for(j=2 ; j 1/不不不不不不不不不不不不不Tei ind不不不不不不不不不不不不不不/ ifhigh%j=O yes=O ;break ;/ /不不不不,、不不不不小不不不tci inri不不不下不不不不不不不、/ if(yes=O) sum+=high ;n+ ;)high-;)return sum ;) main()(clrscr();printf(%dn, fun(lOO);32 .下列给定程序中,函数fun()的功能是;计算函数F(x, y ,z)=(x+y)/(x
11、- y)+(z+ y)/(z-y)的值。其中x和y不相等,z和y不等。例如,当x的值 为9, y的值为11, 2的值为15时,函数值为-3.50。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include /vt*1Kt* vt*kT* /不不不不、不不不不不不不不不tcunc不不不可不不不不不不不不不不不不不不/#define FU(m, n) (m/n)float fun(float a, float b, float c) float value;value=FU(a+ b, a-b)+FU(c
12、+ b, c-b);/ 1* vl*vt* vt*1 vl*vL*/不不不不,、不不不不小不不不tci inri不不不下不不不不不不不、不不不/return( Value);main() float x, y, z, sum;printf (Input x y z: );scanf(n%f%f%f;&x, &y, &z);printf(nx=%f, y=%f, z=%fn ”,x, y, z);if (x=y | | y=z) printf (Data error! n );exit (0); )sum=fun (x, y, z);printf(nThe result is:%5. 2fn n
13、,sum);33 .给定程序M0D11 . C中函数fun的功能是:根据整型形参m,计算如下公式的值。,1 1 1 1y = 1 + +2,2 3*3 44例如,若m中的值为:5,则应输出:1 . 4636110请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!234567891011121314tinclude double fun (int m) double y - 1.0 ;int 1; . /found*/for(i - 2 ; i =0;-i)/kJkL* 17,7,7,7,7,7,7,/个个个个个个不不不不不不不不不Tei
14、 in。不不不小个个个不不不小不不小不小小小不/ 35.下列给定程序中,函数fun()的功能是:输出M行N列整数方阵, 然后求两条对角线上的各元素之和,返回此和数。 d=ci;printf(cb);)请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构. 试题程序:#include #include #define M 5/vf*/ 、-、一、l卜-j、卜、,、-、/iht fun(int n, int xx) int ij, sum=0;printf(nnThe %d x %d matrix:nn,M,M);for(i=0;i M;i+)
15、 for (j=0; j *1*i* *1* *X* *J kI* *1* *1 kL* *1 kL* *1*/rj* rj*printf(n%4fxxij);printf(Hnn);)for(i=0;i n;i+) sum+=xxi i+xxin-i-l; return(sum);)main () int aaMM=l,2,3,4,5,4,3,2,1,0, 6,7,8,9,0,9,8,7,6,5,3,4,5,6,7;clrscr();printf(HnThe sum of all elements on 2 diagnals is %d”,fun(M, aa);void sub()stati
16、c int x = 6 ;x/ =2 ; printf(M%dH, x) ; main()int m ;for(m=0 ; m =2 ; m+) sub() ; 则程序运行后的输出结果是【】。4 .若有以下定义,则不移动指针P,且通过指针P引用值为98的数组元素的表达式是 Oint w10=23,54,10,33,47,98,72,80,61), *p=w ;5 .以下程序通过函数指针p调用函数fun,请在填空栏内写出定义变量P的语句。void fun(int*x,int*y)main() int a=10,b=20 ;:p=fun ; p(&a, &b);6 .关系操作的特点是操作。7 .以
17、下程序运行后的输出结果是【】。36.给定程序MODH . C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!23456789101112131415linclude #define M 5/*w*found*w*/int fun (int n, int xx) int i, j 9 sumO; printf (MnThe %d x %d matrix:nwrM, M); for(i - 0; i M; i+) for(j - 0; j M; j+)pr
18、intf(n%f -, xxi(j); printf(wnR);)for(i - 0 ; i n ; i+) sum + xxii*xxi(n-i-1;return(sum);17main ()16 181920 int aaMM1,2,3,4,5), (4,3,2,1,0,6,7,8,9,0,(9,8,7,6,5, 3,4,5,6,7”printf (RnThe sum of all elements on 2 diagnals is %d.r fun(Mr aa);37.下列给定程序中,函数fun()的功能是;利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本方法是:先对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 甘肃省 金昌市 全国 计算机等级考试 语言程序设计 模拟考试 答案
限制150内