国家计算机二级C语言题库.docx
《国家计算机二级C语言题库.docx》由会员分享,可在线阅读,更多相关《国家计算机二级C语言题库.docx(146页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1套题一、程序填空题给定程序的功熊是调用fun函数建立班级通讯录。通讯录中记录每位差生的 编号、姓名和电话窗码。班级的人数和孝生的信息从键盘读入,每年入的信息作 为一个数帽i夬写更名为myfile5. dat的一进相女柞单。请在程序的带划线处填入正确的内容并犯下划线删除,使程序得出正确的结 果。注意:源程序存放在考生文件隽下的BLANK1.C中。 不容增旺或删行,也不建更改程序的结构!#includeinclude#define N 5 typedef struct int num;char name10;char tel10;STYPE; void check();/* * * found
2、 *I int fun(_1 STYPE _ *std) _2 FILE _ *fp; int i;if(fp=fopen(myfile5.dat,7wb)=NULL) return(O);printf(nOutput data to file !n); for(i=0; iN; i+) /*found*/ fwrite(&stdi, sizeof(STYPE), 1,3);fclose(fp); return (1); ) main() STYPE s10=l,aaaaa7llllll/l;,bbbbbz222222/l,ccccc;333333/lJddddd“J444444”,l,”ee
3、eee”J555555”;int k; k=fun(s); if (k=l) printf(Succeed!n); 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(Hn num name teln);for(i=0; iN; i+) fread(&si,sizeof(STYPE),l, fp);printf(%6d %s %
4、sn/si.num/si.name,si.tel);)fclose(fp);二、程序改错题先将在字符串S中的字符按正序存放给定程甲(0DI1.C中函数fun的功能是:一到t串甲,密后把s中的字符按逆序连接到t串的后面。例如:当s中的空何串为:ABCDE”时,贝U t中的字符串应为:ABCDEEDCBA”。请改正程序中的锚吴,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!应为:ABCDEEDCBA”。使它能骨出更确的缜果。/include #include void fun (char *s, char *t) int i, si;si = strlen
5、(s);/* fo und*I for( i=0; i=sl; i +) ti = si;for (i=0; isl; i+) tsl+i = ssl-i-l;/* * *foundtsl = *0;main() chars100,t100;printf(nPlease enter string s:); scanf(%s, s);fun(s, t);printf(The result is: %snM, t);三、程序编写题函数fun的功能是:将两个两位数的正整数a、b合 合并的方式是:喟酸的十位和个位数依次放在c数的寸 和个位数依次放在c数的百位和个位上。-T罡效城仕c 位上,b数的例如,
6、当a=45, b=12时,调用该函数后,c=4152o注意:部分源程序存在文件PR0G1.C中。数始:件IN. DAT中的数据不得修改。请勿改动主函初: 一钿廿骨酒粘rh砧红柿 九 夫 A?左宓粘c.砧尤芹具r+r+吉 入你编写的若干语句。,mai福口其它函数中的任何内容,仅在函数fun的花括号中填#include void fun(int a, int bz long *c)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
7、: %dn, c);NONO();)void NONO ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE *rf, *wf;int i, a,b; long c;rf = fopenCKAXkOlWAOlOOOlWin.dat, r);wf = fopen(K:k0124010001out.dat/w);for(i = 0; i 10 ; i+) fscanf(rf, %d/%d/ &a, &b);fun(a, b, &c);fprintf(wfz a=%d/b=%d/c=%ldn/ a, b, c);fclose(rf);fclose(wf);第2套题一、程序
8、填空题给定程序的功能是:从键盘输入若干行文本(每任不超过80个字货),写到 文件噌ileg txt 电用-1 (独立一分)正为手符金输入结束的标志。然后将文件的 内容读出显示在屏幕上。文件的读写分别由自定义函数1&灯6*1和收五6丁6乂弋实 及请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。注意:源程序存放在考生文件隽下的BLANK1.C中。 不容增忏或删行,也不编更改程序的结构!#include#include#includevoid WriteText(FILE *);void ReadText(FILE *);main() FILE *fp;if(fp=fopen
9、(myfile4.txt/w)=NULL) printf( open fail!n); exit(O); WriteText(fp);fclose(fp);if(fp=fopen(myfile4.txt;r)=NULL) printf( open fail!n); exit(O); ReadText(fp);fclose(fp);)/* *fou nd */void WriteText(FILE _1_) char str81;printf(nEnter string with -1 to end :n);gets(str);while(strcmp(str/l)!=O) /* *fou nd
10、 *Ifputs(2,fw); fputs(nzfw);gets(str);)void ReadText(FILE *fr) char str81;printf(nRead file and output to screen :n);fgets(str,81zfr);while( !feof(fr) /* *fou nd */printf(“s”,3_);fgets(str,81,fr);给定程序M0DI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位 上的数,横茨构成一个新数放在t中。高位伤在高位,低位仍在低隹:二、程序改错题:构成一个新数放在t中。高位仍在高位,低位仍在低位。
11、例如,当s中的数为:7654321时,t中的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不善增行或删行,也不得更改程序的结构!#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;/* *fo(jnd * * /si = sl*100;) main() long s, t;printf(nPlease enter s:); scanf(ld, &s);fun(sz &t);printf(Th
12、e result is: %ldn, t);)三、程序编写题学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组 s%.语编瞽数fun,它的功能是:把分数最低的学生数据放在b所指的数组中, 注意:方数盘低的学生可熊不止一个,函数返回分数最低的学生的人数。注意:部分源程序在支件PR0G1. C文件中。请勿改粉主函薮mai湎箕它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。#include #define N 16 typedef struct char num10;int s; STREC;int fun( STREC *az STREC *b )main()
13、 STREC sN=GA05/85/GA03z76,GA02/69z,GA04/85/ GA011/91/GA07/72/GA0864zGA06,1787/ GA015,85LGA013z91/GA012,z64,GA014,91z GA011/91/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 = fopen(”K:k0124
14、010001out.dat”Jw“);fprintf(out, dn,n);for(i=0;in; i+)fprintf(out, ,%4dnM/hi.s);fclose(out);第3套题一、程序填空题,函数fun的功是:将自然数l10以及它们的平方根写到名为给定程序中,阳双tuntfJ2前定::W myfile3.txt的文本文件中,然后再顺序电 请在程序的下划枝处填入正赢 内容果。注意,顺序专耳耨篇酷使程序得出正确的结源辑序存放在考生文件隽下的BLANKl. C中。 不替增籽或删行,也不建更改程序的结构!#include#includeint fun(char *fname) FILE
15、*fp;int i,n;float x;if(fp=fopen(fname, w)=NULL) return 0;for(i=l;i=10;i+)/*found*/fprintf(_1_J%d %fnUsqrt(double)i);printf(nSucceed! n);/* fo und*/一2一;printf(nThe data in file :n);/*nd*/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); f
16、close(fp);return 1;)main() char fname=myfile3.txt;fun(fname);)二、程序改错题给定程序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;/* *fo(jnd * * / for (i=j+l; iai)t=i;if (p!=j)t = aj;
17、aO = ap;ap=t;void putarr( int n, int *z) int i;for (i = 1; i = n; i+, z+ ) 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:n, n ); putarr( n, aa );fun( n, aa );printf( nAfter sorting %d numbers:n, n ); putarr( n, aa
18、 );)程序编写题请勿改为主於 你编写的若干语句。;,b=12时,调用该函数后,c=2514.里序存在文徉PR0G1. C中。数敷件IN. DAT中的数据不得修改。 牧其它函数中的任何福,仅在函数fun的花括导中填入函数fun的功熊是:将两个两位数的正整数a、b合并形成一个整数放在cR 合并的方式是:溷徽的十位和个位数依次放在c数的个检和百位上,b数的1位 和个位装余次放在c数的位知车位E#include void fun(int a, int b, long *c)main() int a,b; long c;void NONO ();printf(lnput a b:);scanf(%d%
19、d, &a, &b);fun(a, b, &c);printffThe result is: %ldn, c);NONO();void NONO ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE *rf, *wf;int , a,b; long c;rf = fopen(”K:k0124010001in.dat“,“r”);wf = fopenCKAXkOlWZAOlOOOlWout.datVw);for(i = 0; i 10; i+) fscanf(rf, %dz%d, &a, &b);fun(a, b, &c);fprintf(wf, a=%d/b=%d/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国家 计算机 二级 语言 题库
限制150内