2023年广东省阳江市全国计算机等级考试C语言程序设计模拟考试(含答案).docx
《2023年广东省阳江市全国计算机等级考试C语言程序设计模拟考试(含答案).docx》由会员分享,可在线阅读,更多相关《2023年广东省阳江市全国计算机等级考试C语言程序设计模拟考试(含答案).docx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年广东省阳江市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .以下程序的运行结果是O#include main() int fun() ; fun() ; fun()static int a3=0, 1, 2;int i ;for(i=0 ; i 3 ; i+)ai+=ai;for(i=0 ; i3 ; i+)printf(%d, , ai);pfintf(n, ) ; )2 .设有chara,b;,若要通过a&b运算屏蔽掉a中的其他位,只保留第2 位和第8位(右起为第1位),则b的二进制是【】。3 .有以下程序int sub(i
2、nt n) rctnrn(n/10+n% 10);)main()int x,y;scanf(u%d&x);y=sub(sub(sub(x);printf(n%dnn,y);iftrludcb iciclvdkv OtlQL h 4v/m9 N 100MMI fuH( Cvlftt Hf IF1tE ovt pinl|( * TW gNMi Mmg . .),).pnnf *Th ttrag *ftvr aod4w4pot 乂 .) iircpyg lun(s) Iout wfopeB *ocftlr. 40isew*)i (prim” 2 % .a) .fdoMinclixie 3 inclu
3、dr Vedux. hdouble proc(ini n)void mam,)ee(prvniK * KAn* pfoc( 10) i26.使用VC+2010打开考生文件夹下progl中的解决方案。此解决方案 的项目中包含一个源程序文件progl.co在此程序中,请编写函数fun(), 其功能是将放在字符串数组中的M个字符串(每个字符串的长度不超过 N),按顺序合并成一个新的字符串。例如,若字符串数组中的M个字符串为|“AAAA”,“BBBBBBB”, “CC”|,则合并后的字符串内容应该是“AAAABBBBBBBCC”。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内
4、容,仅在函数fun()的花 括号中填入你编写的若干语句。试题程序:#include #include #define M 3#define N 20void fun (char aMN, char *b) ()void main ()(char wMN=“AAAA”,“BBBBBBBCC”;char al 00= #;int i;printfThe string:rT);for(i=0; iputs(wi);printf(rT);fun(w,a);printf (“The A string:rT);printf(sa);printf (“nn); )27 .使用VC +2010打开考生文件夹下
5、progl中的解决方案。此解决方 案的项目中包含一个源程序文件progl.c。在此程序中,规定输入的字符 串中只包含字母和*号。编写函数fun(),其功能是除了字符串前导和尾 部的*号外,将字符串中其他的*号全部删除。形参h指向字符串中第一 个字母,形参P指向字符串中最后一个字母。在编写函数时,不得使用 C语言提供的字符串函数。例如,若字符串中的内容为“*A*BC*DEF*G *”,删除 后,字符串中的内容应当是“*ABCDEFG *”。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花 括号中填入你编写的若干语句。试题程序:#include #
6、include #include void fun (char * a,char *h,char *p) ()main () (char s网,* t, *f;printf (Enter a string:n);gets (s);t=f=s;while ( * t)t+;t-;while ( * t=*)t-;while ( *f+;fun(s,f,t);printf (The string after deletedAn);puts (s); )28 .学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入 结构体数组stu中,请编写函数proc (),该函数的功能是:把高于等于 平均分
7、的学生数据放在b所指的数组中,高于等于平均分的学生人数通 过形参n传回,平均分通过函数值返回。注意:部分源程序给出如下。请勿改动main ()函数和其他函数中的任何内容,仅在函数proc ()的 花括号中填入所编写的若干语句。试题程序: ificlwd*H (Muir M 12char lamt, lOji 4wt4e 1EUDG doutile |wr .l eGA04aB3UeGAOIe*n .MUrGAIte.79k(*GAIteTlH (eGAlOeMntSTRGC MMj.IIM j 3 dovbie avcie- proH 4&,pnnH *Th Yd tfWfM 4ota wkv
8、ii .btgher iHm S7 3fas loriOt Yimpriatfc * X %,IfKahO; mm.H Ja.pnntf(29.使用VC+2010打开考生文件夹析下progl中的解决方案。此解决 方案的项目中包含一个源程序文件progl.c。在此程序中,请编写一个 函数fun(),它的功能是将ss所指字符串中所有下标为奇数的字母转换 为大写字母(若该位置上不是字母,则不转换)。例如,若输入“abc4Efg,则应输出“aBc4EFg”。注意:部分源程序在文件progl.c中。请勿改动主函数main。和其他函 数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。 试题
9、程序:1 #include 2 带include 3 #include 4 #include 5 void fun (char *ss)6 7 8 void main ()9 10 ,FILE wf;12 char tt 81J, s 81 = nabc4Efgn;13 system(HCLSM);14 printf (HnPleaseenteran stringwithin 80 characters: nM);15 gets (tt);16 printf ( n n nAfter changing,the stringVn;17 fun(tt);18 printf (”nbecomesn;
10、19 /* /20 wf = fopen (out. datHfHwM);黑 fun(s);22 fprintf (wfrw% s”,s);23 fclose(wf);24 /#*/ 30.请编写函数proc,其功能是将两个两位数的正整数a、b合并形成一 个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数 个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。例 如,当a=25, b=43,实际输入时个数之间以Enter键分隔,调用该函数 后,-3452。注意:部分源程序给出如下。请勿改动main ()函数和其他函数中的任何内容,仅在函数proc ()的花括号中填入所编写的若
11、干语句。试题程序:U tncludr VrdLb. hS include idio. bgid procmt abilong eiy*tctn( *Cl-S*) pnntfC*InputY.W,;d%d&b), proc(abeSuc)(pnntf( * The result ib: Kldns c)i四、2.程序修改题(IO题)31 .下列给定程序中函数fun()的功能是:将长整型数中每一位上为奇数 的数依次取出,构成一个新数放在冲。高位仍在高位,低位仍在低位。 例如当s中的数为87653142时,t中的数为753lo请改正函数fun()中的错误,使它能得出正确的结果。注意:不要改动main
12、函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include #include void fun (long s, long *t)int d ;long sl=l ; /*w t=0;while(s 0) d=s%10 ;/7,7,.! 7,7,、! 7,01 -7,、! 7,k1/小小小不不不不小不不不不小tm小不不不不小不不不不不不不不/if(d%2=0)*t=d*sl+*t ;sl*=10 ;)s/=10 ;) ) main() long s, t;clrscr();printf(nPlease enter s : ) ; scanf(%ld, &s);fun(s, &t)
13、;printf(nThe result is : %ldnn, t); )32 .下列给定程序中,函数fun()的功能是:从3个红球,5个白球,6个 黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球, 但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是 15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。 请改正程序中的错误,使它能得出正确的结果。注童:不要改动main函数,不得增行或删行,也不得更改程序的蛀构。 试题程序:#include int fun ()int sum=0;printf (nnThe result: nn );/kL* 4*1kL*
14、/不不不不不不不不不不不不不不tcnnrl不不不不不不不不不不不不不不不/for (i=0; i =3; i+) for (j=l;j=5;j+) k=8-i-j;/si#ri/个个不不不不不不不不不不不不Tciinri不不不不不不不不不不不不不不不不不不/if(k=l&k=6) sum=sum+l;printf (red: %4d white: %4d black: %4dn i,j,k);) return sum;) main () int sum;sum=fun ();printf (nsum=%4dnn sum);33 .下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3
15、列的矩阵的各个元素的值,然后输出主对角线元素之积。请改正函数fun()中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include int fun()(int a33, mul ;inti, j ;mu 1=1 ;for (i = 0 ; i Kl_ kI/不干不个不不个不个不不不Toind个个不不不不不不不不不不小/for(i=0 ;i3 ;j+) scanf(d”,&aij);)for(i=0 ; i1* 1 *1# /不不不不不不不不不不不不不ci n c不mul=mul*aij;printf(uMul=%dnn, mul)
16、;)main()(fun();34 .给定程序M0D11 . C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:xl = (x0 + ) 2 xO例如,a为2时,平方根值为:1 . 414214O请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。)若运行时输入:1234回车,程序的输出结果是4 .设有如下程序段:int i = 0, sum = 1;do sum+=i+ ; while(i 6);pr血f(dn, sum);上述程序段的输出结果是【】。5 .若输入2、2,则下列程序的运行结果为【 main()
17、inti, j. (*p)4,a34=l, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);P二a ;scanf(%d%d, &i, &j);printf(a%d, %d=%d%, i, j, *(*(p+i)+j); )6 .数据库技术的主要特点为数据的集成性、数据的高【】和低冗余性、 数据独立性和数据统一管理与控制。7 .以下程序的运行结果是:o1234567891011121314 151617finclude linclude /*found*/ double fun(double a, dounle xO) double xl, y;xl(x0 a/xO)/2
18、0;/*found*/ if(fabs(xl-xo)0.00001) ysfun(a,xl);else y-xl; return y;main () double x;printf(REnter x:scanfprintf(wThe square root of %lf is %lfnwr xr fun (xr1.0);35.给定程序MODU . c中函数fun的功能是;由形参给定n个实数, 输出平均值,并统计在平均值以上(含平均值)的实数个数。例如,n=8 时,输入:193 .199, 195 .673, 195 ,757, 196 ,051, 196 ,092,196 . 596, 196
19、 . 579, 196 . 763所得平均值为:195 . 838745,在平均值以上的实数个数应为:5 请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!23 4567finclude int fun(double x, int n) (/foundint jr c0. double xa-00; for (j0; jn; j+)xa x(j/n;8910printf(wave %fnwfxa); for (j0; j xa) C+: return c;15main ()161718:(doublex(lOO) - (193.199
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 广东省 阳江市 全国 计算机等级考试 语言程序设计 模拟考试 答案
限制150内