历年全国计算机等级考试-二级C语言上机考试题库及答案.pdf
《历年全国计算机等级考试-二级C语言上机考试题库及答案.pdf》由会员分享,可在线阅读,更多相关《历年全国计算机等级考试-二级C语言上机考试题库及答案.pdf(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1/69 1.填空 给定程序的功能是调用 fun 函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为my的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构!vod chek();/*on*in un(_1_*s)/*found*_2_ *fp;int i;if(fpfon(”m,”wb))=NULL)retrn(0);prif(nOutput data to fle!n);(=0;iN;i+
2、)/*ond*ite(std,sizf(TP),1,_3_);fclse(fp);rern(1);修改 给定程序 MODI。C 中函数 fu的功能是:先将在字符串 s 中的字符按正序存放到 t 串中,然后把 s 中的字符按逆序连接到 t 串后面.例如:当中的字符串为:“ACDE”时,则他中的字符串应为:“ABDEECB。请改正程序中的错误,使他能得出正确的结果。注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!voi fu(hr *s,ca t)t i,sl;=rlen(s);/*ond*/fo(=0;i=s1;i+)i si;for(i=0;isl;i+)tsl+i=sli-
3、1;*found*/ts=0;程序 函数 fun 的功能是:将两个两位数的正整数 a,b 合并成一个整数放在中。合并的方式是:将数的十位和个位数依次放在 c 数的千位和十位上,b 数的十位2/69 和个位数依次放在 c数的百位和个位上。例如:=5,b12 时,调用该函数后,=412 注意:部分源程序存在文件 PROGC 中。数据文件 IN。DAT中的数据不得修改。请勿改动主函数 main 和其他函数中的任何内容,仅在函数un 的花括号中填入你编写的若干语句。答案:B:STYPE FILE fp M:for(=0;i sl;i)t2sl=0;P:*(a/10)*1000+(b/10)100+(a
4、10)*0+(b0);2.填空 给定程序的功能是:从键盘输入若干行文本(每行不超过 80 个字符),写到文件 my 中,用-1 作为字符串输入结束的标记。然后将文件的内容读出显示在屏幕上.文件的读写分别有自定义函数 ReadText 和 WreTet 实现。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果.注意:源程序存放在考生文件夹下的BLK。c中 不得增行或删行,也不得更改程序的结构!ain()FILE f;if((ffope(m,w)=NULL)prnf(”pe fai!!);exit(0);WriteText(f);fcl(p);if(p=fopn(my”,”)=N
5、ULL)prntf(pen fa!n);ext();Reax(f);fcloe(fp);/*found*/voi WritText(ILE _)cha str81;pritf(nEnter strig with 1 to nd:n”);es(s);whle(strcp(st,1)!0)*found*/fputs(_2_,f);fputs(”n,fw);ets(str);vi eadext(ILE f)ca str81;pit(”nRed outp to sren:);gets(r,1,r);3/69 wile(!fo(r))/*foun*/printf(”%s,_);fgets(tr,81,f
6、r);修改 给定程序OD1.中函数 fun 的功能是:从低位开始取出长整形变量 s 中的奇数位上的数,依次构成一个新数放在 t 中,高位仍放在高位,低位仍放在低位。例如:当中的数为:7651时,t中的数为:5 请改正程序中的错误,使他能得出正确的结果。注意:不要改动 ain 函数,不能增行或删行,也不得更改程序的结构!#inlu /*od*/oid fu(n s,long t)lng s0;*t s 1;hil(s )s=s/100;=s10 sl t;/*found*/l=s10;程序 函数 fu的功能是:将两个两位数的正整数 a,b 合并成一个整数放在 c 中。合并的方式是:将 a 数的十
7、位和个位数依次放在 c 数的千位和十位上,b 数的十位和个位数依次放在 c数的百位和个位上。例如:=45,=12 时,调用该函数后,c=1524。注意:部分源程序存在文件 PROG1。C 中。数据文件 IN.DAT 中的数据不得修改。请勿改动主函数 man 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。、B:fw sr str M:lg*sl=sl1;P:*=(b/0)100+(%0)100+(b%0)0+(a/0);3.填空 给定程序中,函数 fun 的功能是:将自然数10 以及它们的平方根写到名为 my的文本文档中,然后再顺序读出显示在屏幕上。请在程序的下划线处
8、填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BAKc中 不得增行或删行,也不得更改程序的结构!4/69 n fu(char fam)FIL *f;int i,;float x;if(f=fpen(fnm,”)=NUL)reun 0;o(i=;i1;i+)*fond*fprintf(1_,”%d%fn,,sqr(double)i));pitf(”nSucceed!!n”);/*found*_2_;prinf(nhe dat n file:”);/*od*if(p=oe(_3_,r)=NLL)etrn 0;fscanf(f,df”,n,x);hle(!feo
9、f(fp)pritf(f”,n,x);fscanf(p,df”,,&x);close(p);reurn ;修改 给定程序 MO1.中un函数的功能是:将 n 个无序整数从小到大排序。fun(nt n,in *)in i,j,p,t;fr(j=0;j-1;j+)p=;*fou*fo(=+1;ine;wil(p!UL&xpdta)/*fund*/q=_2_;p=pext;snxt=p;/*fou*/qnext=_3_;修改 给定程序 MODI1。C 中函数 fun 的功能是:计算正整数um 的各位上的数字之积。例如,若输入:25,则输入应该是:20。若输入:202,则输出应该是:0.long fu
10、(log nm)7/69/*found*/lon k;k=nu%1;/*found*/nm=10;whil(u);etn (k);请编写一个函数 fn,它的功能是:它的功能是:计算 n门课程的平均分,计算结果作为函数值返回。例如:若有门课程的成绩是:90。5,72,80,61.5,55 则函数的值为:71.5、B:x s M:l 1;num0;:int i;fat ae=0;or(i=0;;i+)e=ae+ai;ave=ave/n;return ae;6.填空 给定程序中已建立一个带有头结点的单向链表,在 man 函数中将多次调用 f函数,没调用一次un 函数,输出链表尾部结点中的数据,并释放
11、该节点,是链表缩短。d u(SLIS p)SLI *t,*s;=p-next;s=p;hle(nt!=NL)s=;*d*/t=-_1_;/*found*/print(”d,_2_);snextNL;/*fund*fre(_3_);修改 给定程序 MI1。C 中函数 fun 的功能是:将字符串中的字符按逆序输出,单补改变字符串中的内容.例如,若字符串味 abc,则应输出:dcba/*ound*/fun(cr a)i(a)fun(+1);/*fou*8/69 print(”c”a);程序 请编写一个函数 fun,他的功能是:比较两个字符串的长度(不得调用 c语言提供的求字符串长度的函数),函数返回
12、较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入eijingnghiCR(为回车键),函数将返回 saghai、:x tdat t M:fun(har*a)printf(”%,*a);P:n i;char*p=s,*qt;fr(i=0;&*q;i+)p+;q+;if(*p=q=0)retu s;if(*p)turn s;els return t;7.填空 给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序连接。函数 fun 的功能是:删除链表中数据域值相同的结点,使之只保留一个 typedef sut lis int at;strct list *nex;
13、SLI;void fun(SLST*h)SLIST *,;ext;if(p!=NULL)=pnet;hle(!NUL)i(data=qdta)next=q-nx;/*found*/fr(_);/*found*/=p-_;ee ;/*fud*/q=q_3_;9/69 修改 给定程序 MODI.C 中函数 fun 的功能是:用选择法对数组中的个元素按从小到大的顺序进行排序。id fu(t a,i n)nt,,t,;or(j 0;j n-1;+)/*found*/p j or(=j;i ;i+)f(data=c)retr _2_;else =pet;retu 0;修改 给定程序 MODI.C 中函数
14、 fu的功能是:删除 p 所指字符串中的所有空白字符(包括制表符,回车符及换行符)输入字符串是用“#”结束输入。fu(car p)int i,t;cha c80;*found*For(i=0,t=;pi;i)f(!isspace(*(p+i))ct+=;*fod*/t=0;stp(p,);程序 请编写一个函数 f,它的功能是:将s 所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)例如:若输入“bcEFg”,则应输出“ac4Efg”。答案:8、B:NUL n hed,c M:for ct=0;:i i;for(i=1;i=a&ss=z)i-=32;9.填空 给定程
15、序中,函数 fun 的功能是:统计出带有头结点的单向链表中的个数,存放在形参n所指的存储单元中。void fun(IST *,n n)SLIST p;/*foud*/_=0;hnext;wile(p)(*n)+;*fond*/p_;an()SLST h;n aN=12,87,32,91,1,2,48,num;11/69 head=cretlist(a);otist(head);/*foud*/fun(_,nu);rintf(numer=dn,nm);修改 给定程序 MDIC 中函数un 的功能是:求出 s 所指字符串中最后一次出现的 t 所指子字符串的地址,通过函数返回值返回,在主函数中输出从
16、此地址开始的字符串;若未找到,则函数值为U 例如:当字符串中的内容为“abcdefabcdxt 中的内容为“ab”时,输出的结果应是:acdx 当字符串中的内容为“abcdefabcdx 中的内容为“ab”时,则程序输出未找到信息 no be foun char*(ar s,cr*)char p,r,a;/*foud*/=Null;whil(s)p s;r=;whil()/*foud*/(r=p)r+;+;ele brk;if(r=)a=s;s+;retrn ;程序 函数un的功能是:将 s 所指字符串中除了下标问为偶数,同时 CII值也为偶数的字符外,其余的全部删除:串中剩余字符所形成的一个
17、新串放在 t 所指的数组中 例如,若 s 所指的字符串中的内容为“ABCEG12356,其中字符 A 的ASCI码味奇数,因此应当删除,其中字符 b 的SCII 码值为偶数,但是在数组中的下标为基数,因此也当删除;答案、:n nex hea M:a=NULL;*r=p P:it,j=0;(i=;i trln();+=2)f(si 2=0)j=s;t ;12/69 10.填空 给定程序中,函数 fun 的功能是:计算出带有头结点的单向链表中各结点数据域中值之和作为函数的返回值。in fu(SIST )SIST p;n ;p=-nex;w(p)*fond*=p_1_;/*ud*/p=-_2_;re
18、urn;修改 给定程序 MOD1C 中函数 fun 的功能是:将 s 所指字符串中出现的与 t1 所指字符串相同的字串全部替换成 t所指字符串,所形成的新串放在 w 所指的数组中,在此处,要求1和 t所指字符串的长度相同。in fu(cr s,ar t,chr t2,ar w)n i;cr p,,;strcpy(w,s);wile(w)p=w;r 1;/*found*/wh(r)(r=)r+;p+;else rea;if(*r=0)=w;r=t2;hile(*r)/*und*a=*r;a+;r+=st(2);else w+;程序 函数 fun 的功能是;将 s 所指字符串下标为偶数的字符删除,
19、串中剩余字符形成的新串放在 t 所指的数组中 例如:当 s 所指字符串中的内容为:“ABCDEFIJK”13/69 在 t 所指数组中的内容应是“BD”0、B:ata next had M:r ;P:in i,j ;for(i=1;i strlen(s);i+=2)tj=si;t=0;11.填空 人员记录有编号和出生年月日组成,名人员的数据已在主函数中存入结构体数组t中,且编号唯一。函数 fu的功能是:找出数据中的编号为空串。/*fun*_1_ fu(STU td,c nm)nt i;SU a=,9999,9,99;or(i=0;iN;i+)/*oud*(strcmp(_2_,m)=0)/*f
20、ound*eurn(_3_);rturn ;修改 给定程序 MODI1中函数 fun 的功能是:从 s 所指字符串中,找出与所指字符串相同的字串的个数作为函数返回值 例如,当所指字符串中的内容为:“abcdabfb”,t 所指字符串的内容为:“ab”则函数返回整数 nt n(char ,cr t)int n;chr *,r;n=0;wile(s)p=s;r ;wile(*r)i(r=p)/*fon*r+;p+l beak;*foun*if(=)n+;s+;rturn n;函数 f的功能是:将 s 所指字符串中 ASI值为偶数的字符删除,14/69 串中剩余字符形成一个新串放在 t 所指的数组中
21、 例如,若 s 所指字符串中的内容为“ACDEG124,其中字符的SCII码值为偶数.答案:11、:U std um sd M:p+;*r=0;P:nt,j=;for(=0;i stren(s);i+)i(s 2)t+=si;tj=0;12。填空 人员的记录由编号和出生年月日组成 N 名成员的数据已在主函数中存入结构体数组td 中,函数 fu的功能是:找出指定出生年份的人员,将其数据放在形参所指的数组中,由主函数输出,同事有函数值返回满足指定条件的人数 int(SU *sd,S k,it yar)nt i,n=;fr(i=;i;i+)/*ound*f(_1_=year)/*fud*/kn+=_
22、;/*ound*/return(_3_);修改 给定程序 MOD12.C 的功能是:读入一个整数 k(21000),打印她的所有因子 例如 20,则应输出 2,3,5,7,/*found*/Isie(in );in i,m;=1;fr(=2;i ;+)/*fond*/i !(n%)m=0;break;reurn();设计 已知学生的记录有学号成绩构成,N 名学生的数据已经存入结构体数组 a 中。编写函数 fun,函数功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分).已给出函数的首部,请完成该函数 12、B:stiyear sti M:分号去掉 f (!(n)P:nt
23、 i,max=a0。s,=0;for(i 1;i N;i+)f(ma ais)=i;max ai;*=;13.填空 15/69 给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号,姓名和 3 们课程的成绩,函数 fu的功能是将该学生的各科成绩都乘以一个系数 vd ow(STU t)int ;prinf(”%d s :”,ttnum,tt.me);for(i0;;i+)printf(”%5.1f”,tsorei);pntf(n);/*oud*vid modiy(_1_ *ss,float a)in i;fo(i=;i3;i+)/*found*/s_2_=;man()SU st=1
24、,Zhang”,76。5,78.,82.;loa a;it(nhe originl number an name ad scores:n”);sow(std);pritf(nIut a numbr:);canf(”%f,a);/*found*/odify(_3_,a);printf(nA rsult of mdifyng:n);show(st);修改 给定程序 MOD。中函数 f的功能是:求 k!(k13),所求阶乘的值作为函数值返回,例如若(=1,则应输出:3620 lon fun(nt k)*foun*/if k return(k*fn(k);/*nd*/ese f(k0)rurn 1;设
25、计 程序定义了*的二维数组。并在主函数中自动赋值,请编写函数 fun,函数的功能是:使数组左下三角元素的值乘以n 例如:若 n的值为 3,数组的值为 16/69 3、B:U sor&sd :()k=P:t,j;fr(i=0;i ;i+)for(=0;std1.num)temp=std0;stdt;td1=temp;if(0nmst2num)temp=td0;t0=s;std2e;i(tdumstd2.num)tem1;std1=d2;sdtemp;man()PERSON st=5,Zhag,2,WangLi”,6,LinMin;int i;*found*/fun(_);prinf(nhe re
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 全国 计算机等级考试 二级 语言 上机 考试 题库 答案
限制150内