考试题库-二级C语言题库.docx
《考试题库-二级C语言题库.docx》由会员分享,可在线阅读,更多相关《考试题库-二级C语言题库.docx(156页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第i套题一、程序填空题给定程序的功熊是调用fun函数建立秤级通讯录。通讯录中记录每位差生的编号、姓名和电话窗码。班级的人数和孝生的信息从键盘读入,每不入的信息作为一个数解夬写更名为myfile5. dat的一进新女柞单。请在程序的带划线处填入正确的内容并犯下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件隽下的BLANK1.C中。不容增旺或删行,也不建更改程序的结构!#include #include #define typedef int iN 5structnum;char name10;char tel10;STYPE;void check();/* found *I int
2、fun(_STYPE _*std)FILE*fp;intif(fp=fopen(myfile5.dat7,wb)=NULL)return(O);printf(nOutput data to file !nM);for(i=0; iN; i+)fwrite(&stdiz sizeof(STYPE),1,fp);fclose(fp);return (1);)main() STYPE s10=l/aaaaa/llllll/l;,bbbbbz222222/l;ccccc;333333/l/ddddd,7,444444/l/eeeee,555555;int k;k=fun(s);if (k=l) pri
3、ntf(Succeed!); check(); 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(nn 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);二、程序改
4、错题给定程序M0DI1.C中函数fun的功能是: .到t串中,密后把s中的字符按逆序连接到t串的后面。例如:当s中的空何串为:ABCDE”时,贝U t中的字符串应为:ABCDEEDCBA”。请改正程序中的锚吴,使它能得出正确的结果。先将在字符串S中的字符按正序存放应为:ABCDEEDCBA”。使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include #include void fun (char *s, char *t) int i, si;si = strlen(s);/*found */for( i=0; i=sl; i +)ti= si;f
5、or (i=0; isl; i+)tsl+i= ssl-i-l;t2*sl=0;main() charsIlOO, t100;printf(nPlease enter string s:); scanf(s, s);fun(s, t);printf(The result is:%sn”, t);函数fun的功前是:将两个两位数的正整数a、b合 合并的方式是:嗝徽的十位和个位数依次放在c数的斗 和个位数依次放在c数的百位和个位上。一午整姒以仕c位上,b数的程序编写题,当a=4/b=12时,调用该函数后,c=4152。速意:手分二.请勿改动王函一 入你编写的若干语句。一源程序存在文件PR0G1.
6、C中。数始:件IN. DAT中的数据不得修改。西薮mai湎其它函数中的任何福,仅在函数fun的花括导中填#include void fun(int a, int bz 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 result is:%dn/ c);NONO();)void NONO ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭
7、文件。*/FILE *rf,*wf;int i, a,b ; long c;rf = fopenCKiWkOlWlOOOlWin.dat,r);wf = fopen(K:k0124010001out.datzw);for(i =0; i 10; i+)fscanf(rf,d,%d“,&a,&b);fun(a, b,&c);fprintffwf,a=%d/b=%d/c=%ldn/ a, b, c);)fclose(rf);fclose(wf);第2套题一、程序填空题文件翳盟卧铲瞬解题雌福浦内容读出显示在屏集上。文件的读写芬别-4义函数区6&116乂1和后辽6亍6乂1实果。请在程序的下划线处填入正
8、确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件隽下的BLANK1.C中。不容增存或删行,也不痔更改程序的结构!#include#include#includevoid WriteText(FILE *);void ReadText(FILE *);main() FILE *fp;if(fp=fopen(myfile4.txt7w)=NULL) printf( open fail!n); exit(O); WriteText(fp);fclose(fp);if(fp=fopen(myfile4.txt;r)=NULL) printf( open fail!n); exit(
9、O); ReadText(fp);fclose(fp);)/* fo und*/void WriteText(FILE *fw) char str81;printf(nEnter string with -1 to end :nH);gets(str);while(strcmp(str;-l)!=O)fputs(strjw); fputs(n,fw); gets(str);)void ReadText(FILE *fr) char str81;printf(nRead file and output to screen :nH); fgets(str,81,fr);while(!feof(fr
10、)/* fo und*/printf(s,str);fgets(str,81,fr);上的数,给定程序M0DI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位 上,裱义构成一个新数放在t中。高位伤在高位,低位仍在低位二、程序改错题例如,当s中的数为:7654321町,t中的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不椁增行或删行,也不得更改程序的结构!/include /* fo und* void fun (long s, long * t) long sl=10;*t = s%10;while ( s 0) s = s/100;*t
11、 = s%10*sl +*t;si = sl*10;) main() long s, t;printf(HnPlease enters:); scanf(ld”,&s);fun(s,&t);printf(The result is:%ldn, t);)三、程序编写题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放人结构体数组 s%.通编警I数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:方数盘低的学生可熊不止一个,函数返回分数最低的学生的人数。注意:部分源程序在支件PR0G1. C文件中。请勿改粉主函薮mai湎箕它函数中的任何内容,仅在函数fun的花括号中填入你编写
12、的若干语句。#include /define N 16 typedef struct char num10;int s; STREC;int fun( STREC *az STREC *b ) int i/j=Ozmin=aO.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=GA051/85/GA03z76,GA02/69/GA04/85/,GA01/91/GA07/72/GA08/64/GA06,/87/,GA015/85/GA013/91/GA
13、012/64/GA014/91/GA011/91/GA017/64/GA018/64/GA016772;STREC hN;int i,n;FILE *out;n=fun( s,h );printf(The %d lowest scorefor(i=0;in; i+)printf(%s %4dn”,himum,hi.s);printf(n);out = fopen(”K:k0124010001out.dat”,“w”);fprintf(out,dn“,n);for(i=0;in; i+)fprintf(outz %4dnzhi.s);fclose(out);)第3套题一、程序填空题给定程序史,函
14、数fun的呦3是:将自然数110以及它们的平方根写到名为 myfile3. txt的文本文和中,辰目再顺序读出适F在屏幕上。果。请在程序的下划四姒tun网呼E足:的日公潼脑急翻般曾耨使程序得出正确的结注意:源程序存放在考生文件隽下的BLANK1. C中。不替增存或删行,也不痔更改程序的结构!#include#includeint fun(char FILE *fp;*fname)int i,n;float x;if(fp=fopen(fname,w,)=NULL) return 0;for(i=l;i=10;i+)/*fou nd *Ifprintf(_fp_;%d %fnH,i,sqrt(d
15、ouble)i);printf(nSucceed!n);/*found*/fclose(fp);printf(nThe data in file :n);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%fz&n/&x); fclose(fp);return 1;)main() char fname=myfile3.txt;fun(fname);二、程序改错题给定程序M0DI1. C中fun函数的功能是:猫n个无序整数从小
16、到大排序。请改正建序中的错误,使它能彳导出正确的结果。注意:不要改动main函数,不容增行或删行,也不得更改程序的结构!#include #include void fun (int n, int *a ) int i, j, p, t;for (j =0; jn-l; j+) p = j;/*found*for (i=j+l; iai)/*found*/P=i;if ( p!=j)t = aO;aO = ap;ap = t;void putarr( int n, int *z) int i;for (i = 1; i = n; i+, z+ ) printf( %4d, *z );if (
17、!(i%10) printf( n); printf(n);)main() int aa20=930,4,l,2,5,6,8,10,7, n=ll;printf( nnBefore sorting %d numbers:n”,n ); putarr( n, aa );fun( n, aa );printf( nAfter sorting %d numbers:n,n ); putarr( n, aa );三、程序编写题数方数如意勿的 函的位瞿请写 并个 编 合和 侪- -r a 凌激br。 盟在45源函句 加:放a=分主语 前是次当曹干 fur式依:改若后批任 数计的 _爵L中 OG数 用PR
18、函N 口 它两封假鉴暝将十十网钻椅济的 掺C 数在 建一N.在 “1仅据花 数的 的皿数。入 改填 修中 管节 不括#include void fun(int a, int b, long *c)*c=(b%10)*10004-(a%10)*100+(b/10)*10+a/10;main() int a,b; long c;void NONO ();printf(lnput a b:);scanf(%d%dH,&a,&b);fun(a, b,&c);printf(The result is:%ldn, c);NONO();)void NONO ()/*本函数用于打开文件,输入数据,调用函数,输
19、出数据,关闭文件。*/ FILE*rf,*wf;int i, a,b ; long c;rf = fopenCKiWkOlWAOlOOOlWin.dat,r);wf = fopen(K:k0124010001out.datzw);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);)第4套题一、程序填空题给定程序的功能是:朗用函数fun将揖定源文件中的内蛰 文件中,复制或功时函数递回值为1,失彼时返回法为0。在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 题库 二级 语言
限制150内