考试题库-二级C语言题库.pdf
《考试题库-二级C语言题库.pdf》由会员分享,可在线阅读,更多相关《考试题库-二级C语言题库.pdf(153页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1套题一、程序填空题段霹照善舞,使程序得出正确的结一件浅盘刘E T醐人da确海的及正fur级le入建fi填调。箱是码为线他西!p名划功话书的电写的序和块序程名置定姓数在给、个请号一 1的顺序乩程的改下更S文也生,考行在删放或序增s源不编为果通婚。崛霸2意注#include#include#define N 5typedef struct int num;char name10;char tel10;STYPE;void check();/*found*Iint fun(_STYPE _*std)/*found*/FILE_*fp;int i;if(fp=fopen(myfile5.dat;w
2、bH)=NULL)return(O);printf(nOutput data to file!n);for(i=0;iN;i+)/*found*/fwrite(&stdiz sizeof(STYPE),1,_fp_);fclose(fp);return(1);)main()STYPE s10=l;,aaaaa,z llllll ,l/bbbbb,222222,l;ccccc,333333,l,ddddd;,444444*,l,eeeee,;,555555;int k;k=fun(s);if(k=l)printf(Succeed!);check();elseprintf(Fail!);void
3、check()FILE*fp;int i;STYPE s10;if(fp=fopen(myfile5.dat,rb)=NULL)printf(Fail!n);exit(O);printf(nRead file and output to screen:n);printf(n num name teln);for(i=0;iN;i+)fread(&si,sizeof(STYPE),l,fp);printf(%6d%s%sn/si.num,si.name,si.tel);)fclose(fp);)二、程序改错题t到的序AB能不fun逆,它,初雌嬴使磁1目勺向田示Is攵DlmrrrrMo司需序要尊当
4、则程不釐:正:定韬改意给鞭请注功连CDAB1能接丁CD出增是律EE正行冒,DC确或果,结好S中的字符按正序存放符串/include#include void fun(char*s,char*t)int i,si;si=strlen(s);/*found*/for(i=0;i=sl;i+)ti=si;for(i=0;isl;i+)tsl+i=ssl-i-l;/*found*/t2*sl=0;main()char s100,t100;printf(nnPlease enter string s:);scanf(%snz s);fun(s,t);printf(The result is:%snz t
5、);)三、程序编写题嚼辱卜口口fE数改填修中膏方不括据花数的的Un此在糙仅41文乳数中的依。函数数上询住隹位用两个个调.m a-1。5,募句在=4源函语何.放a=分主干附是次当野若fur式依;改的数方数如意勿写函的位翟请编并个你合和入向向=,/YtD-#include void fun(int a,int b,long*c)*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);main()int a,b;long c;void NONO();printf(lnput a b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(The r
6、esult is:%dn,c);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;int i,a,b;long c;rf=fopenCKiWkOlXWlOOOlWin.dat,r);wf=fopenCKiWkOlWAOlOOOlWout.datVw);for(i=0;i 10;i+)fscanf(rf,”%d,%cT,&a,&b);fun(a,b,&c);fprintf(wfz a=%d,b=%d,c=%ldn,a,b,c);)fclose(rf);fclose(wf);)第2套题一、程序填空题给定程序的功能是:从
7、键盘输人若干行文本(每任不超过80个字假),写到文 件 喈 ile4.tx t电_ 用-1(独立一行)隹为宇符量输入结束的标志。然后将文件的内容篌出显示在屏蕙上。文件的读写为别由自定义函数R eadText和WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源矍序存放在考生文件看下的BLANKl.C中。不容增籽或删行,也不得更改程序的结构!#include#include#includevoid WriteText(FILE*);void ReadText(FILE*);main()FILE*fp;if(fp=fopen(Hmyfile4.tx
8、t,w)=NULL)printf(open fail!n);exit(O);WriteText(fp);fclose(fp);if(fp=fopen(myfile4.txtJr)=NULL)printf(open fail!n);exit(O);ReadText(fp);fclose(fp);)/*found*/void WriteText(FILE*fw)char str81;printf(nEnter string with-1 to end:n);gets(str);while(strcmp(strJ-l)!=O)/*found*/fputs(strffw);fputs(n,fw);ge
9、ts(str);)void ReadText(FILE*fr)char str81;printf(nRead file and output to screen:n);fgets(str,81,fr);while(!feof(fr)/*found*/printf(%s,/str);fgets(strz81,fr);二、程序改错题量 S中奇数位上的数,给定程序M0DI1.C中函数fun的功能是:从低位开始取壮二 二二构成一个新数放在t 中。高位抬在高位,低位例如,当s币的数为:7654321时,t 币的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不博增行
10、或删行,也不得更改程序的结构!#include/*found*/void fun(long s,long*t)long sl=10;*t=s%10;while(s 0)s=s/100;*t=s%10*sl+*t;/*found*/sl=sl*10;)main()long s,t;printf(nPlease enter s:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,t);)三、程序编写题学生的记录由学号和成绩组成,N名学生的数据己在主函数中以入结构体数组电.遹 编 警 数 f u n,它的功能是:把分数最低的学生数强放在b断指的数组
11、中,注恚 务数金低的看生可熊不止一个,函数返回分数最低周学生的人数。注意:郃分源程序在女性PR 0G1.C文件中。请勿改翱主函薮mai向 箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#define N 16typedef struct char num10;int STREC;s;int fun(STREC*a,STREC*b)int ij=0/min=a0.s;for(i=0;iN;i+)if(ai.smin)j=O;bj+=ai;min=ai.s;else if(min=ai.s)bj+=ai;return j;)main()STREC sN=GA0
12、5,85,GA03,76/GA02,69,,GA04,85,GA01,91,GA07/72,GA08,z64,GA06,87,GA015z85zGA013,91/GA012,z64,GA014,91,GA011,91L,GA017,64/GA018/64,GA016,72;STREC hN;int i,n;FILE*out;n=fun(s,h);printf(The%d lowest score:n,n);for(i=0;in;i+)printf(%s%4dn,hi.num,hi.s);printf(n);out=fopenCKiWkOlWAOlOOOlWout.datVw);fprintf(
13、out,u%dnzn);for(i=0;in;i+)fprintf(out,%4dnzhi.s);fclose(out);第3套题一、程序填空题给定程序,函数fun的 也 是:将自然数1 1 0 以及它们的平方根写到名为inyfi请le3在.tx程t的序 的 藉 谶 熊 睿 醯 器 曾 耨 厂 使 程 序 得 出 正 确 的 结果。注意:源矍序存放在考生文件房下的BLANKl.C中。不容增才亍或删行,也不宿更改程序的结构!#include/includeint fun(char FILE*fp;*fname)int i,n;float x;if(fp=fopen(fname,w)=NULL)r
14、eturn 0;for(i=l;i=10;i+)/*fQ(Jpcl*/fprintf_fp,%d%fnzizsqrt(double)i);printf(nSucceed!n);/*found*/fclose(fp);printf(nThe data in file:n);/*found*/if(fp=fopen(myfile3.txt,r)=NULL)return 0;fscanf(fp,%d%f,&n,&x);while(!feof(fp)printf(%d%fn,n,x);fscanf(fp,%d%f,&n,&x);fclose(fp);return 1;)main()char fname
15、=myfile3.txt;fun(fname);二、程序改错题给定程序MODH.C中fun函数的功能是:翔n个无序整数从小到大排序。请改正建序中的错误,使它能空出正确的结果。注 意:不要改动main函数,不警增行或删行,也不得更改程序的结构!/include#include void fun(int n,int*a)int i,j,p,t;for(j=0;j n-l;j+)P=j;/*found*/for(i=j+l;iai)/*found*/P=i;if(p!=j)t=aj;aj=ap;ap=t;)void putarr(int n,int*z)int i;for(i=1;i=n;i+,z+
16、)printf(%4d,*z);if(!(i%10)printf(n);printf(n);main()int aa20=9,3,0,4,l,2,5,6,8,10,7,n=ll;printf(nnBefore sorting%d numbers:nfun(n,aa);printf(nAfter sorting%d numbersAn,n),n);putarr(n,aa););putarr(n,aa);三、程序编写题并个编合和你内向1孑口:白白二予l azib翳。露在45源函句幅:放夺分王语用是次当野干fur式依,:改若数方数如意勿的函的位翟请写数在整放正次的依。41 3数数上整G1咐圈S3该蜘
17、数徵翳Bri g将十十2B-铺4此在北怕仅251警JJX 仕 cb数的,。入改填修中膏方不括据花数的的,51b白/include void fun(int a,int b,long*c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;)main()int a,b;long c;void NONO();printf(lnput a b:);scanf(%d%d/&a,&b);fun(a,b,&c);printf(The result is:%ldn”,c);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
18、FILE*rf,*wf;int,a,b;long c;rf=fopen(“K:k0124010001in.dat,r”);wf=fopenCKAXkOlWAOlOOOlWout.datVw);for(i=0;i 10;i+)fscanf(rf,%d,%d,&a,&b);fun(a,b,&c);fprintf(wf,a=%d,b=%d,c=%ldn,a,b,c);)fclose(rf);fclose(wf);)第4套题一、程序填空题给定程序的功能是:源用函数fun将揖定源文件中的内容募制副指定的目趣里复制燧功时函数位向窿为1,失咬时返回循为0。在复输的白林史,把意,由容输出到终端屏幕。主函数中源
19、文件名放在变量sfna1rle中,目标支件名放:里 tfname 中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件房下的BLANKl.C中。不容增行或删行,也不痔更改程序的结构!#include/includeint fun(charsource,char*target)FILE*fs,*ft;char ch;/*found*/if(fs=fopen(source,_)=NULL)return 0;if(ft=fopen(target,w)=NULL)return 0;printf(nThe data in file:nH);ch=fgetc
20、(fs);/*found*/while(!feof _ fs_)putchar(ch);/*found*/fputc(ch,_ft_);ch=fgetc(fs);)fclose(fs);fclose(ft);printf(nn);return 1;)main()char sfname20=myfilel/tfname20=myfile2;FILE*myf;int i;char c;myf=fopen(sfname,w);printf(nThe original data:n);for(i=l;i30;i+)c=,A,+rand()%25;fprintf(myf,%c,c);printf(%c,
21、c);fclose(myf);printf(nn);if(fun(sfname,tfname)printf(Succeed!);else printf(HFail!);)二、程序改错题次取出,给定程序M0DI1.C中函数fun的功能是:粗长整型数中每一位上为偶数的数依 1,相庇一个瓶数放在t 中。高位仍在商社低位仍在低位。例如,当s中的数为:87653142时,数为:8642。请改正程序中的错误,使它能空出正南的结果。注意:不要改动main函数,不博增行或删行,也不得更改程序的结构!#include void fun(long s,long*t)int d;long sl=l;*t=0;whi
22、le(s 0)d=s%10;/*found*/if(d%2=0)*t=d*sl+*t;si*=10;)/*found*/s/=10;)main()long s,t;printf(nPlease enter s:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,1);)三、程序编写题函数fu n 的功能是:将s 所指 为偶数、同数的字符外,其余的全都删除;串 的一个新串中。例如,若S所指字符串中的内答为:ABCDEFG1 2 3456”,其 匚值为奇数,因此应当删除;其中学将B的ASCII码值为偶数,但也一.r.,奇数,因此也应当删除;而定符
23、2 的ASCI咽值为偶数,所在数组中的下标也为偶因此不应当删皤,其它壮曲类推。最看t 所指除)数组中的内容应是:2 46”。注意:鄢分源程序存在文件PR0G1.C中。请勿改副主函薮ma i痛 其它函数中的任何内容,仅在函数fu n 的花括号中填入你编写的若干语句。#include#include void fun(char*s,char t)(int i=0,j=0;while(si)(if(i%2=0&si%2=0)tj+=si;i+;)tj=0;)main()char 5(100,t100;void NONO();printf(nnPlease enter string S:);scanf
24、(s”,s);fun(s,t);printf(nThe result is:%sn,t);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/chars100,t100;FILE*rf,*wf;int i;rf=fopen(K:k0124010001in.dat,r);wf=fopen(K:k0124010001out.dat,w);for(i=0;i 10;i+)fscanf(rf,%s,s);fun(s,t);fprintf(wf,%sn“,t);)fclose(rf);fclose(wf);)第5套题一、程序填空题给定矍序由已建立一个
25、带有头结点的单向链表,链表中的各结点按结点数瑁域中的数携递喈有庄链技。函盘fu n 的功能是:盘形参而值放入一个新结点并根入到链表重,道只启各结点数据域的值仍保持阳槽有序。请在程序芮下划线处填入正确的内容并把下崩黑删除,使程序得出正确的结果。注意:源程序存放在考生文件隽下的BL ANKl.C中。不将增行或删行,也不偏更改程序的结构!#include/include#define N 8typedef struct list int data;struct list*next;SLIST;void fun(SLIST*h,int x)SLIST*p,*q,*s;s=(SLIST*)malloc(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 题库 二级 语言
限制150内