全国计算机2级C语言上机题库.docx

上传人:文*** 文档编号:68227224 上传时间:2022-12-27 格式:DOCX 页数:144 大小:372.36KB
返回 下载 相关 举报
全国计算机2级C语言上机题库.docx_第1页
第1页 / 共144页
全国计算机2级C语言上机题库.docx_第2页
第2页 / 共144页
点击查看更多>>
资源描述

《全国计算机2级C语言上机题库.docx》由会员分享,可在线阅读,更多相关《全国计算机2级C语言上机题库.docx(144页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第1套题一、程序填空题编号、给整魂爨町电嬲疆群部窥魂欺等 * ,一 - i * * r* 1 l 1 XJ-14+I-Af- tl_为一个数据块写 请在程序的果。,使程序得出正确的结注意:源程序存放在考生文件容下的BLANK1.C中。 不停增后或删行,也不得更改程序的结构!includeinclude#define N 5 typedef struct int num; char name10; char tel 10;STYPE;void check();/* *found* */ int fun(_1_ *std) /* fo und*I2_ *fp; int i;if(fp=fopen(

2、myfile5.dat/wb)=NULL)return(O);printf(nOutput data to file !n);for(i=0; iN; i+) /* fo und*/fwrite(&stdi, sizeof(STYPE), 1,3);fclose(fp);return (1);)main() STYPE s10= l,aaaaa,llllll,/l;,bbbbb;,222222,/l,ccccc;333333,/ 1, “ddddd”, “444444“,l,“eeeee”J555555”;int k;k=fun(s);if (k=l) printf(Succeed!); ch

3、eck(); elsevoid 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)zl, fp);printf(%6d %s %sn/si.num/si.name/si.tel);)fclose(fp);二、程序改错题Mo可需序要嘉当则程不一的的u

4、ni逆如它,好按赳步使数fig,函U,DC确或 是*EE正行 能接厂CD出增 功连CDAB藩 的序AB能不.面果, ro结布 0随删构 士口 2-include include void fun (char *s, char *t) int i, si;si = strlen(s);/* f0 und*Ifor( i=0; i=sl; i +)ti = si;for (i=0; isl; i+)tsl+i = ssl-i-l;/* *found* *I tsl = W; main() char s100, t100;printf(nPlease enter string s:H); scanf

5、(%s, s);fun(s, t);printf(The result is: %snM. t):三、程序编写题。位 口 -改填 修中 售Ip 不括数 据花数的 的UnM在 需仅 41文乳数数上该G1.娜位位位用RO酸他峰峰调郁暂内内-不i日0敢敢b序Ina。徒曲蜀5.募句南在=4源函语翎.放a=分主干市是次当野若ful式依:改的数方数如意勿写函的位翟请编并个 你合和include void fun(int a, int b, long *c)main() int a,b; long c;void NONO ();printf(lnput a b:); scanf(%d%d, &a, &b);

6、fun(a, b, &c);printffThe result is: %dn”,c);NONO();void NONO ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE *rf *wf;int i, a,b; long c;rf = fopen(K:k0124010001in.dat, r);wf = fopen(K:k0124010001out.dat,wn);for(i = 0; i 10; i+) fscanf(rf, ”d,%cT, &a, &b);fun(az b, &c);fprintf(wf, a=%d,b=%d/c=%ldn,/ a, b, c

7、);)fclose(rf);fclose(wf);第2套题一、程序填空题给定程序的功能是:从键盘输入若干行文本(每行不超过80个字便),写到 文件喈ileg txt巴_用-1 (独立一行)作为宇符电输入结束的标志。然后将文件的 内容读出显示在屏幕上。文件的读写分别由自定义函数120以叫1a6丁6*1实 现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果注意:源程序存放在考生文件旁下的BLANK1.C中。不容增存或删行,也不容更改程序的结构!includeincludeinclude void WriteText(FILE *);void ReadText(FILE *)

8、;main() FILE *fp;if(fp=fopen(myfile4.txt,w,)=NULL) printf( open fail!nH); exit(O); WriteText(fp);fclose(fp);if(fp=fopen(myfile4.txt/r)=NULL) printf( open fail!nn); exit(O); ReadText(fp);fclose(fp);/*found*/void WriteText(FILE 1_) char str81;printf(nEnter string with -1 to end :n);gets(str);while(str

9、cmp(str,-l)!=O) /*found*/fputs(_2rfw); fputs(n,fw); gets(str);void ReadText(FILE *fr) char str81;printf(nRead file and output to screen :n); fgets(str,81zfr);while( !feof(fr) printf(”s“,_3_);fgets(str,81,fr);二、程序改错题给定程序MOD. C中函数fun的功能是:从低位开始取出长整型费量s中奇数位 上的数,裱茨构成一个新数放在t中。高位也在高位,低位仍在低袱例如,当s中的数为:765432

10、1时,t中的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不伸增行或删行,也不得更改程序的结构!#include /* * * found *I void fun (long s, long t) long sl=10;*t = s % 10;while ( s 0) s = s/100;t = s%10 *sl + *t;/* *found* */ si = sl*100;main() long s, t;printf(nPlease enter s:); scanf(ld,&s);fun(s, &t);printf(The result is: %l

11、dn, t);)三、程序编写题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组 s灯请编辞数fun,它的功能是:把分数最低的学生数据放在0斤指的数组中, 注怠数皋低的华生可能不止一个,函数返回分数最低的学生的人数。注意:部分源点序在殳住PR0G1. C文律中。请勿改凝主函薮mairl箕它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。include #define N 16 typedef struct char num10;int s;STREC;int fun( STREC *a, STREC *b )main() STREC sN=GA05/85/,

12、GA03#76/GA02/69/GA04#85/ GA01/91/GA07/72/GA08,64,GA06,87z GA015/85zGA013/91/GA012/64/GA014,91z GA011/91/,,GA017/64,GA018/64,GA016772;STREC hN;int bn;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 = fopen(K:k0124010001out.dat/w);fprintf

13、(out, dn“,n);for(i=0;in; i+)fprintf(out, 4dn”,hi.s); fclose(out);第3套题一、程序填空题myfile3. txt的果。给定程序史,函数fun的呦E是:将自然物70以及它们的平方根写到名为 詈3麓岸南奇嬴%第E盘I璃曾招露矗匕使程序得出正确的结注意:源强序存放在考生文件为下的BLANK1.C中。 不辱阍j或删行,也不痔更改程序的结构!includeinclude int fun(char *fname) FILE *fp;int i,n;float x;if(fp=fopen(fname, w)=NULL) return 0; fo

14、r(i=l;i=10;i+)/* fo und*/fprintf(1,%d %fn,i/sqrt(double)i);printf(nSucceed! nH);/*found*/2_;printf(nThe data in file :n);/* fo und*/if(fp=fopen(3/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=myfile3.txt;fun(f

15、name);二、程序改错题给定程序M0DI1. C中fun函数的功能是:扬n个无序整数从小到大排序。请改正建序中的错误,使它能卷出正确的结果。注意:不要改动main函数,不事增行或删行,也不得更改程序的结构!include include void fun (int n, int *a ) int i, j, p, t;for (j = 0; jn-l; j+ ) p = j;for (i=j+l; iai)/* *found* */ t=i;if (p!=j)t = aj;aj = ap;ap=t;)void putarrf int n, int *z) int i;for (i = 1;

16、i c 数在 整放 正次此在数-Md J 上。位口 -。入 改填 修中 誉!p 不括 据花 数的 的Un#include void fun(int a, int bz long *c)main() int a,b; long c;void NONO ();printf(lnput a b:H);scanf(%d%d, &a, &b);fun(a, b, &c);printf(The result is: %ldn/ c);NONOQ;void NONO ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE *rf *wf;int , a,b ; long c;rf

17、= fopenCKiWkOlWAOlOOOlWin.dat, r);wf = fopen(”K:k0124010001out.dat,w”);for(i = 0; i 10 ; i+) fscanf(rfz %d,%d, &a, &b);fun(a, b, &c);fprintf(wt a=%d/b=%d/c=%ldn/ a, b, c);)fclose(rf);fclose(wf);第4套题一、程序填空题果。舍徵曙蠹跚哪翻窗的鬻耀群容输出到终嫌屏幕。主函数中源文件名放在变量sfname中,目标文件名:失彼时返回值为0。在变重tfname中。请在程序南下划线处填入正确的内容并把下划线删除,使程

18、序得出正确的结注意:S序存放在考生文件天下的BLANK1. C中O 增后或删行,也不将更改程序的结构!include include int fun(charsource, char *target) FILE *fsz*ft; char ch;/* fo und*/if(fs=fopen(source,1)=NULL)return 0;if(ft=fopen(target/ w)=NULL)return 0;printf(nThe data in file :n);ch=fgetc(fs);while(!feof(2) putchar( ch);/* * * found* * */fputc

19、(ch,_3_);ch=fgetc(fs);)fclose(fs); fclose(ft);printf(nn); return 1;)main() char sfname20 =myfilelztfname20=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(myV%c,/c); printf(”c,c); fclose(myf); pri ntf (Hnn);if (fun(sfname,

20、tfname) printf(Succeed!);else printf(Fail!);二、程序改错题给定程序MODI 1. C中函数fun的功能是:将长整型数中每一位上为偶数的数依 次取出,将施一个新数放在t中。高位仍在高莅,低位仍在低位。例如,当s中的教为:87653142时,t顿数为:8642.请改正程序中的错误,使它能债出正福的结果。注意:不要改动main函数,不像增行或删行,也不得更改程序的结构!#include void fun (long s, long *t)int d;long sl=l;*t = 0;while ( s 0) d = s%10;/* fo und*/if (

21、d%2=0) *t=d* sl+ *t;si *= 10;)/* fo und*/ s=10;)main() long s, t;printf(nPlease enter s:); scanf(%ld, &s);fun(s, &t);printf(The result is: %ldn, t);三、程序编写题盘所指银串嚼寓前盛需胎俺:IOI3W1 字符2的ASCII型值为偶数,所在数组中的下标也为偶数的聚篇雌翻套赢臂手爨翳赛螺新髅蜜墉新鬻 中。一 、一.值为奇数,因此应当删除;奇数,因此也应当删除;而思考2的ASCI咽值为儡数. .薮,因此不应当删除其宜裱曲类推。最片t所指除)数组中的内容应是

22、:246,注意:部分源程序荐在文南ROGI. C不。你编写的若干语句请勿改呈)主函薮mainI其它函数中的任何内容,仅在函数fun的花括号中填入include #include void fun(char *s, char t) main()(char s100, t100;void NONO ();printf(nPlease enter string S:); scanf(*%s/ s);fun(s, t);printf(nThe result is: %snHz t);NONO();void NONO ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ chars1

23、00, t100;FILE *rf, *wf;inti;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(wt %sn, t);)fclose(rf);fclose(wf);第5套题-、程序填空题中的各结点挨结点数强值放入一个薪结点并堀,使程序得出正确的结序删表既费链3下一已靠.淀保并嫌仍容曲值内-4的的头fuj域确 眼据正 带函数入 个。点填 一蠹处 立链各线建卷划R-KAT序递,序定数

24、表在给的链请栅序 BL程 的改 下更 i 件不 文也 生, 考行 在删放或 自仃 序增 S 源不。 域入果/includeinclude#define N 8 typedef struct list int data;struct list *next; SLIST;void fun( SLIST *h, int x) SLIST *pz *q, *s;s=(SLIST *)malloc(sizeof(SLIST);/* * * found * *I s-data=1;q=h; p=h-next;while(p!=NULL & xp-data) /* *found* */ q=_2_; p=p

25、-next; s-next=p;/* *found* * */ q-next=3;)SLIST *creatlist(int *a) SLIST *h,*p,*q; int i; h=p=(SLIST *)malloc(sizeof(SLIST); for(i=0; idata=ai; p-next=q; p=q;p-next=O;return h;void outlist(SLIST *h) SLIST *p;p=h-next;if (p=NULL) printf(nThe list is NULUn); else printf(nHead);do printf(-%d,p-data); p

26、=p-next; while(p!=NULL); printf(-Endn);) main() SLIST *head; int x;int aN卜11,12,15,18,19,22,25,29;head=creatlist(a);printf(nThe list before inserting:n); outlist(head);printf(nEnter a number: ); scanf(”%d”,&x);fun(headzx);printf(nThe list after inserting:n); outlist(head);)二、程序改错题给定程序M0DI1. C中函数fun的

27、功能是:计笄正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20o若输入:202,则输出应该是:0。请改正程序中的错鼠使它能得出正确的蛋果。注意:不要改动main函数,不停增行或删行,也不得更改程序的结构!#include long fun (long num)/* *found* */ long k;dok*=num%10;/* fo und*/ num=10; while(num);return (k);main()long n;printf(nPlease enter a number:); scanf(%ld,&n);printf(n%ldn,fun(n);三、程

28、序编写题道编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函 数值退回。例如:若有5门课程的成绩是:90.5, 72, 80, 61.5, 55则菌教的值为:71.80。注意:部会源程序存在文件PR0G1.C中。请勿改割主命薮main其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。#include float fun (float *a, int n)main()float score30=90.5, 72z 80, 61.5, 55, aver;void NONO ();aver = fun( score, 5 );printf( nAverage s

29、core is: %5.2fn, aver);NONO();)void NONO ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE *fp, *wf;int i, j;float aver; score5;fp = fopen(”K:k0124010001in.dat,r”);wf = fopen(K:k0124010001out.dat,“w“);for(i = 0 ; i 10 ; i+) for(j = 0; j 5 ; j+) fscanf(fpz%tn,&scorej);aver = fun(score, 5);fprintf(wt %5.2fn? a

30、ver);fclose(fp);fclose(wf);)第6套题一、程序填空题给定强序中已建立一个带有兴结点的单向链君在main函数中将多次%fun 函邀,每嫡用一次fun函数,输出罐表尾部结点中而数据,并释放该结及 接链表 缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果注意:源程序存放在考生文件房下的BLANK1.C中。不备增若或删行,也不律更改程序的结构!#include include #define typedefN 8 struct list int data;struct list *next; SLIST;void fun( SLIST *p) SL

31、IST *t, *s;t=p-next; s=p;while(t-next != NULL) S=t;/*found*/ t=t-_1_;)/*found*/ printf( %d ,_2);s-next=NULL;/*found*/ free(3一);)SLIST *creatlist(int *a) SLIST *n/*p,*q; int i;h=p=(SLIST *)malloc(sizeof(SLIST);for(i=0; idata=ai; p-next=q; p=q;p-next=O;return h;)void outlist(SLIST *h) SLIST *p; p=h-ne

32、xt;if (p=NULL) printf(nThe list is NULL!n); else printf(nHead);do printf(-%d/p-data); p=p-next; while(p!=NULL); printf(-Endn);) main() SLIST *head;int aN=ll,12,15,18,19,22,25,29;head=creatlist(a);printf(nOutput from head:nu); outlist(head);printf(nOutput from tail:n);while (head-next != NULL) fun(he

33、ad);printf(nnH);printf(nOutput from head again :n); outlist(head);程中,正.定串如改意给加请注r变孱若程不的应能不 Fun则它, 狂 使数 数d.G破 睢ab误in 叫为错ma L 动 DI春中改 Mo内啻要。的行 ba确删 de正或 .出行 出暴#inc ude fun (char a) if(*a) fun(a+l);/* *found* *I printf(%c *a); main() chars10=abcd;printf(处理前字符串=%sn处理后字符串=,s);fun(s); printf(n);请的回例函注请写 供

34、返 编你写字一,将:改若编求第如数意勿的个里大回分主语数度串ijan菱。 函长符besh源函句的, 它物 踪R、 产 s a n h o g.回ai 是返gh 曩an 功函sh比较便串不符cmC4T 仄#include char *fun ( char *s, char *t) main()char a20,b20;void NONO ();printfflnput 1th string:);gets( a);printfflnput 2th string:);gets( b);printf(%sn,fun (a, b);NONO ();void NONO ()/*本函数用于打开文件,输入数据

35、,调用函数,输出数据,关闭文件。*/FILE *fp, *wf;inti;char a20, b20;fp = fopenCKWkOlWOlOOOlWin.dat”);wf = fopen(”K:k0124010001out.dat,w”);for(i = 0; i 10 ; i+) fscanf(fp, %s %sz a, b);fprintf(wf, %sn”, fun(a, b);)fclose(fp);fclose(wf);第7套题一、程序填空题樊有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一给定程序中已建立一个带有头结点的单向链表,果。请在程序的下划线处填入

36、正确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件隽下的BLANKLC中。不停增号或删行,也不痔更改程序的结构!#include#include#define N 8 typedef struct list int data;struct list *next; SLIST;void fun( SLIST *h) SLIST *p, *q;p=h-next;if (p!=NULL) q=p-next;while(q!=NULL) if (p-data=q-data) p-next=q-next;/* fo und*/ free(_1_);/*found*!q=p-一2.el

37、sep=q;q=q-一3一;)SLIST *creatlist(int *a) SLIST *h,*p,*q; int i;h=p=(SLIST *)malloc(sizeof(SLIST);for(i=0; idata=ai; p-next=q; p=q;)p-next=O;return h;)void outlist(SLIST *h) SLIST *p; p=h-next;if (p=NULL) printf(nThe list is NULL!n); else printf(nHead);do printf(%d”,p-data); p=p-next; while(p!=NULL); printf(-Endn);)main() SLIST *head; int aN=1,2,2,3,4,4,4,5; head=creatlist(a);printf(nThe list before deleting :n); outlist(head);fun(head);printf(nThe list after deleting :nH); outlist(head);二、程序改错题给定程序M0DI1. C中函数fun的功能是:用选择法对数组中的n个元素按从小到 大的顺序进须雅序。请修改起殍市的错误,使它能得

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁