2023年甘肃省嘉峪关市全国计算机等级考试C语言程序设计模拟考试(含答案).docx
《2023年甘肃省嘉峪关市全国计算机等级考试C语言程序设计模拟考试(含答案).docx》由会员分享,可在线阅读,更多相关《2023年甘肃省嘉峪关市全国计算机等级考试C语言程序设计模拟考试(含答案).docx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年甘肃省嘉峪关市全国计算机等级考试c语言程序设计模拟考试(含答案)学校:班级:姓各 考号:一、2.填空题(10题)1 .以下程序输出的最后一个值是【】。int ffifint n) static int f=l;return f;main()int i;for(i=l;i =5;i+) printfC%dn”,ff(i)i2 .设有下列宏定义:#define A 2#define B (A+3)则执行赋值语句“k=B*20;(k为int型变量)后,k的值是。3.根据以下if语句写出与其功能相同的switch语句(x的值在0100之 间)。if语句:if(x 60)m = 1 ;else
2、 iRx 70)m = 2 ;else iRx char proHchar char I) void maioC)char .2O.blOj p. qt print!( * Input I th lnni ) gciii(a) ptmt( * Input 2th Mnng( ) gn(b)iprmtfC proc)i25.规定输入的字符串中只包含字母和奉号。编写函数fun,其功能是:删除字符串中所有的。 号。编写函数时,不得使用c语言提供的字符串函数。“* a*bc*def*g*,*”例如,字符串中的内容为,删除后,字符串中的内容应当是“ABCDEFG”。注意:部分源程序给出如下。请勿改动主函
3、数main和其他函数中的任何内容,仅在函数缸的花括号中填入你编写的若干 语句。试题程序:#incl udevoid iun(char *a)(void riainf)( char s8l1;printff1 Enter a stringzKn1);gets(s); fun(ft);*printffThe string after deleted、”);26.学生的记录由学号和成绩组成,M名学生的数据已在主函数中放人结构体数组stu中。 请编写函数proc (),它的功能是:函数返回指定成绩的学生数据,指定的成绩在主函数中 输入。若没找到指定的成绩,在结构体变量中给学号置空串,给成绩置-L作为函
4、数值返回。 注意:部分源程序给出如下。请勿改动main ()函数和其他函数中的任何内容,仅在函数 proc ()的花括号中填人所编写的若干语句。试题程序:S include # include Vadlib. h* define M 16 tyjxrdcf structchnr num iOj( int siSTRECSTR EC proc (-GA003” .89 (GAOO2,64.(GA0040. 75).(GAOOr.88. GAOO7-.65.GA008.96,GA006.69). rGAO15.851.CGAO13.78.(GAO1262. GAO14.6O.*GAOir.73.(
5、GAO17.72. CGAO18.98H-GAO16.94HiSTREC hi int mi int ii printfC -The original datatnN) i for(i=OiiMji+-b)(=0) printf(n)i 每行输出个学生记录 printf(%3dnumstuij. s)tprinlf(nnEnter the score: ) i scanf( %ds h = proc(stu.fn)t printf(The data( *)i print(-n%s %4dn .h. num.h. s) t printf(n) i27.使用VC+2010打开考生文件夹下progl
6、中的解决方案。此解决方案的项目中包含一个 源程序文件progl.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun(), 其功能是使字符串中尾部的*号不多于n个,若多于n个,则删除多余的*号;若少于或等 于n个,则不做任何操作,字符串中间和前面的*号不删除。例如,字符串中的内容为“*A*BC* DEF * G*”,若n的值为4,删 除后,字符串中的内容应为“*A*BC*DEF*G*” ;若n的值为7,则字符 串中的内容仍为*A*BC*DEF*G*”。n的值在主函数中输入。编写函 数时,不得使用C语言提供的字符串函数。注意:部分源程序给出如下。请勿改动主函数main。和其他函数
7、中的任何内容,仅在函数fun()的花括号中 填入你编写的若干语句。试题程序:# include void fun (char * a, int n)()main ()( char s81; int n;printf ( Enter a string: n ); gets (s);printf ( Enter n: );scanf (“%d” , &n);fun( s, n );printf ( The string after deleted:nv );puts (s);)28 .请编写函数proc,该函数的功能是:将M行N列的二维数组中的数据,按 行的顺序依次放到一维数组中,一维数组中数据的
8、个数存放在形参n所指的存 储单元中。例如,若二维数组中的数据为13 23 33 4314 24 34 4415 25 35 45则一维数组中的内容应该是13 23 33 43 14 24 34 44 15 25 35 45。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入 所编写的若干语句。试题程序:#includevoid proc(int(*s)103, int*b, int*n, int rain, int nn)void main int arr1010=33, 33, 33, 33), 44, 44, 44, 44,55, 55,
9、55, 55), i, j;int a100 = o), n=o;printf(Z/The matrix: n);for(i=0; i3; i+) (for(j=0; j4; j+)printf (%3d,arri j):printf ( n);)proc(arr, a, &n, 3, 4):printf (z,The A array: n);for(i=0; in; i+)printf (3d,ai):printf (z, n n); )29 .请编写函数 proc (),它的功能是计算:s= (1-ln (1) -In (2) -In (3) -In (m) 2 s作为函数值返回。在C语言
10、中可调用log (n)函数求In (n)o log函数的引用说明是 double log (double x) o例如,若 m 的值为 10,则 proc ()函数值为 198.9344540 注 意:部分源程序给出如下。请勿改动main ()函数和其他函数中的任何内容,仅在函数proc ()的花括号中填入所编写的若干语句。试题程序:W itkriude Vtdl4s indude S incliMie ktdta. indude double proHmi m)wystemC -CLS* i pnntfc*S(n * proci30 .使用VC+2010打开考生文件夹下progl中的解决方案
11、。此解决方案的项目中包含一个 源程序文件progl.c。在此程序中,学生的记录由学号和成绩组成,N名学生的记录已放入 主函数的结构体数组s中。请编写函数fun(),其功能是把指定分数范围内的学生记录存放 在b所指的数组中,分数范围内的学生人数由函数值返回。如输入的分数是60、69,则应当把分数在6069的学生记录输出,包含60分和 69分的学生记录。主函数中把60放在low中,把69放在high中。注意:部分源程序给出如下。请勿改动主函数main。和其他函数中的任何内容,仅在函数fun()的花括号中 填入你编写的若干语句。试题程序:#include define N 16 typedef st
12、ruct (char num10;int s;STREC;int fun (STREC * a, STREC * b, int 1, int h ) void main () (STREC sN = GA005”,85, “GA003”,76 ), “GA002,69 , “GA004”,85, “GA001” ,96, “GA007,72, “GA008,64, “GA006”,87, “GA 015”,85, “GA013”,94 , ( “GA012” ,64 ), “GA014,91, “GA011 ,90, “GA017,64, “ GA018,64, “GA016” , 72;ST
13、REC hN;int i, n, low, high, t;printf ( uEnter 2 integer number low & high: );scanf ( %d%d”,&low, &high);if (high low)t=high;high=low;low=t; n=fun(s, h, low, high);printf ( The student s data between %d%d: n” , low, high);for(i=0;i= p=printf ( %s %4dn,hi.num, hi. s); printf ( “n);)四、2.程序修改题(10题)31 .下
14、列给定程序中,函数fun()的功能是:实现两个整数的交换。例如给a和b分别输入60 和 65,输出为:a=65 b二60请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序;#include #include /(J nd /void fun(int a,b)int t;/*fo(jp(j */ t=b;b=a;a=t;) main()inta.b;clrscr();printf(Enter a, b: ); scanf(%dd, &a,&b);fun(&a, &b);printf(a=%d b=%dn , a.b);)32 .给
15、定程序中,函数fun()的功能是:使数组中的元素的值增加10倍。 改正其中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构. 试题程序:/include #include iht m10;void fun(void)(int j;printf(ln subfunc after callingn);forO=0;jIO;j+)(/ /printf(%3d,mj*IO);)main()int i;printf(ln main before callingn);for (i=0; i 10; i+)(mi=i;printf (%3d,mi);)fun (
16、);printf(nln main after callingn);for (i=0; i 10; i+) printf (%3d,mi); getch ();)33 .下列给定程序中,函数fun()的功能是:给定n个实数,输出平均值,并统计平均值以上 (含平均值)的实数个数。例如,n=8 时,输入 193.199, 195,673, 195.757, 196.051, 196.092.196,596, 196.579, 196.763,所得平均值为195.838745,在平均值以上的实数个数应为5。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更
17、改程序的结构。试题程序:/include #include int fun(float x, int n)iht j, c=0;float xa=0.0;for G=O;jn;.j+)xa+=xj/n;printf(ave=%fn,xa);forQ=0; j =xa)C+ + ;returnc;)main()float xIOO= 193.199,195.673,195.757,196.051,196.092,196.596.196.579,196.763;clrscr ();printf(%dn,fun (x,8);)34 .给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。例
18、如,若m中的值为的 则应输出:1.463611。请改正程序中的错误,使它能得到正确结果。注意不要改动main函数,不得增行或删行,也不得更改程序的结构。试题源程序/include double fun(int m) double y=1.0;int i;for(i=2; i m; i+)y+=l/(i*i);return(y);)main()(int n=5;printf(nThe result is%lfn, fun(n);)35 .给定程序MODI1 .C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的 数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数
19、为2736598 时,t中的数为:2358o/include #include /fQUp|(j*/void fun(long s.long t)long si=10 ;*t=S%10 ;while(s 0)s=s/100 ;*t=S%10*sl+*t ;/found*/sl=sl*100 ;)main()longs, t ;clrscr();printf (nPlease enter s : 1 );scanf(%ld, &s);fun(s, &t);printf(The result is : %ldn,t);)36 .给定程序MODII . C中函数fun的功能是:求整数x的y次方的低3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 甘肃省 嘉峪关市 全国 计算机等级考试 语言程序设计 模拟考试 答案
限制150内