2023年山东省济宁市全国计算机等级考试C语言程序设计真题(含答案).docx
《2023年山东省济宁市全国计算机等级考试C语言程序设计真题(含答案).docx》由会员分享,可在线阅读,更多相关《2023年山东省济宁市全国计算机等级考试C语言程序设计真题(含答案).docx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年山东省济宁市全国计算机等级考试C语言程序设计真题(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .软件工程研究的内容主要包括:【】技术和软件工程管理。2 .结构化程序设计的3种基本结构分别是顺序、选择和 o3 .有以下程序:int fa(int x) return x*x ; int fb(int x)returnx*x*x ; int f(int(*fl)(), int(*f2)(), (int x)return f2(x)-fl(x) ; )main()int i;i=f(fa,fb,2);printf(n%dnn4);程序运行后,输出结果是【】。4 .已有定义:c
2、harc=inta=l,b;(此处c的初值为空格字符),执行b=!c &a;后b的值为()。5 .以下程序运行后的输出结果是【】。 main()for(i=0; in; i+) printf(%3d”, ai): printf(n nnn); 24.使用VC+2010打开考生文件夹下progl中的解决方案。此解决方案 的项目中包含一个源程序文件progl.c。在此程序中,编写函数fun(), 其功能是根据以下公式计算S,并将计算结果作为函数值返回,通过形 参传入。5 = 1 +- + ;? + . +1+2 1+2+31+2+3+例如,若n的值为11时,函数的值为1.833333o注意:部分源
3、程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花 括号中填入你编写的若干语句。试题程序:#include #include #include #include float fun(int n)( ) void main ()int n;float s;system(“CLS”);printf (AnPlease enter N:);scanf(d;&n);s=fun(n);printfCThe result is:%fn”, s);25.使用VC+2010打开考生文件夹下progl中的解决方案。此解决方 案的项目中包含一个源程序文件progl.c。在此程序
4、中,请编写一个函 数,用来删除字符串中的所有空格。例如,输入asdafaaz67,则输出为 asdafaaz67o注意:部分源程序在文件progl.c中。请勿改动主函数 main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编 写的若干语句。试题程序:#include#include #include #include void fun (char * str)main ()(char str81 ;char Msg = n Input a string: n ;int n;FILE * out;printf(Msg);gets (str);puts (str);fun (st
5、r);printf (H * str: %snfstr);out = fopen(nout.datHrnwn);fun(Msg);fprintf (out, n% sfMsg);fclose(out);26.假定输人的字符串中只包含字母和*号。请编写函数proc,它的功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。例如,若字符串中的内容为*a*bc*def*g*,删除后,字符串中的 内容则应当是 a*bc*def*g*。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序:#include<stdio
6、. h>#include<conio. h>void proc(char*str) ()void main(char str81;printf(HEnter a string: knn);gets(str);proc(str);printf(nThe string after deleted: knn);puts(str);)27.使用VC+2010打开考生文件夹下progl中的解决方案。此解决方 案的项目中包含一个源程序文件progl.c。在此程序中,请编写函数 fun(),它的功能是求出能整除x且不是偶数的整数,并将这些整数按从 小到大的顺序放在PP所指的数组中,总个数通
7、过形参n返回。如x中 的值为30,则有4个数符合要求,它们是1、3、5、15。注意:部分源 程序在文件progl.c中。请勿改动主函数main()和其他函数中的任何内 容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序: 潺| #include |2 #include Sb #include 4 void fun (int xr int ppL r int * n)窿.8 j void main ()9 :转 FILE wf;赛 int xr aa 1000, nr i ;噱system(nCLSM);j 13printf (nnPlease enter aninteger num
8、ber : n );14151617181920212223242526scanf (n%df, &x);fun (x, aa, &n);for (i =0 ; i n ; i+) printf (n%d “,aa i);printf (n );/ * found * /wf = fopen(out .dat,w);fun (30, aa, &n);for (i = 0 ; i 好 include raid proc char m. tm nm) void fMin()rhar t |0 a *CLSW ) t .proc(t9)t pnntR O 29 .假定输入的字符串中只包含字母和*号。
9、请编写函数proc,它的功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。例如,若字符串中的内容为*a*bc*def*g* *,删除后,字符串中的内容则应当是a*bc*def*g* *。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序:#include#includewoid proc(char*st r)()void mainchar str81;printf(nEnter a string: nn);gets(str);proc(str):printf(nThe string after delete
10、d: nn);puts(str); 30 .使用VC+2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,函数fmi()的功能是将a、b中的两个正整数合并成一个新的整数存放在c中。合并的方式是将a中的十位和个位数依次放在变量c的十位和千位上,b中的 十位和个位数依次放在变量c的个位和百位上。例如,a=45, b=12, 调用该函数后,c=5241o注意:部分源程序在文件progl.c中。请勿改动main()函数和其他函数 中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。 试题程序:tinclude void fun (
11、int a, int b, long * c)3P567891012)main () int a,b; long c;void NONO ();printf(MInput a, b:n);scanf (,%d%dt &a, &b);fun (a, b, &c);printf (he result is:c);NONO();暨)14 void NONO ()15 *本函数用于打开文件、榆入数据、调磷用函数、输出数据及关闭文件。* /fiS:FILE rf, wf ;1*8 int iza,b ; long c ; rf = fopen(Hindatt Hrn);19 wf = fopen(Hou
12、t.datMrnwH);20 for (i = 0 ; i 10 ; i + ) Ifscanf (rf f ,%df%dMr &a, &b);EK fun (a, b, &c);fprintf(wfzna %d/b =%drc =%ld盛 n”,a, b, c);341褰fclose(rf);26 fclose (wf);27 )四、2.程序修改题(10题)31 .下列给定程序中,函数fun()的功能是:用下面的公式求兀的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。71/4-1-1/3+1/5-1/7+.例如,程序运行后,输入0.0001,则程序输出3.14后。请改正程序中的
13、错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include float fun(float num) int s;float n,t, pi;t=l ;pi=0; n=l; s=l;while (t =num) pi=pi+ t;n=n+2;s-s;/vl# kL*vl* kL*1vl* vL* 1* vL* *1kL* /不不不不不不不不不不不不不不tci ind不不不不不不不不不不不不不不/t=s% n;)pi=pi*4;return pi;)main () float nl, n2;clrscr ();pri
14、ntf (Enter a float number:);scanf(n%f&nl);n2=fun (nl);print f(n %6.4 An n2);)32 .下列给定程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请改正程序中的错误,使它能得到正确结果。注意不要改动main函数,不得增行或删行,也不得更改程序的结构。试题源程序#include #define N 20void fun(int a, int n) int i, j, t, p;for(j=0;j n-l;j+)/I7” 7” 7,7,7 7 7 /小小4、小不不小彳、不力.6.tci n(
15、1不彳.彳、彳、彳、*不4、外.彳./P 二jfor(i=j; i n; i+)inta44= 1923.4, 5, 6, 7, 8, 11, 12,13,14, 15,16,17,18;int i=Oj=O, s=0 ;while(i+ 4)(if(i=2|=4)continue ;j=0;do(s+=aij;j+ ;while(j 4);)Printf(%dn, s);)6 .下列程序的输出结果是。#include main() int x=3,y=2,z=l;if(x y)if (y 0) z=0;else z+=l; printf(n%dnM,z);)7 .常用的软件结构设计工具是结构
16、图(SC),也称程序结构图。其中,用矩形表示 用带空心圆的箭头表示传递的是数据。if(ai ap)/ vL* kT* vt* .上 kL* vt#kL*1 vt* vt* k1* kL* *L* vl* K* kL* ./* /不不不不不不不不不不不tciintl不不不不不、不不不不不/p=j;t=aP;ap=aj; aj=t;) msin()(int a N=(9, 6, 8, 3, -1), i, m=5;printf(排序前的数据:);for(i=0; i m; i+)printf(n%dn, ai);printf(nnn);fun(a, m);printf(排序后的数据:);for(i
17、=0; i m; i+)printf(n%d ai);printf(nnn);)33 .下列给定程序中,函数fun()的功能是:根据整型形参n,计算如下公式的值。Al=l, A2=1/(1+A1), A3=l/(1+A2),,An=(l/(1+A(n-1)例如,若P=10,则应输出0.617977。请改正程序中的错误,使它能得出正确的结果。注意:不要改动mah函数,不得增行或删行,也不得更改程序的站构.试题程序:#include #include / vL* *1%L* k1*1*1 k1vfv! 1 /年下不不不不不不不不不不不不tc *in不不不下不不不不不不不、不不不不不不不不/iht
18、fun(iht n) float A=l;inti;/ KL KL* KE k1 X KLI k k*1* k KE KL k kK( KL /不不不不不不不不不不小不不不Td n不不个不不不不不不不不不不不不不个不不不/for(i=2;i n;i+)A=1.0/(i+A);return A;)main () int n;clrscr ();printf(unPlease enter n:);$canf(n%dH, &n);printf (nA%d=%lAnn, n, fun (n);34 .下列给定程序中,函数fun()的功能是计算并输出high以内的素数之和。high由主函数传给fun()
19、函数。例如:若high的值为100,则函数的返回值为1060。请改正程序中的错误,使它能得到正确结果。注意不要改动main函数,不得增行或删行,也不得更改程序的结构。试题源程序#include #include #include int fun(int high) int sum=0, n=0, j, yes; while(high =2)yes=l;for(j=2 ; j 、rT rT rr* Twr7 rwrTifhigh%j=O yes=O;break;)/ *1 k| k1 kJ *J kL* k! *1 kJ k| si* Kt* k! kI* k! kJ k! k! 7 /*T*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 山东省 济宁市 全国 计算机等级考试 语言程序设计 答案
限制150内