计算机二级C语言机试题库.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机二级C语言机试题库.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言机试题库.docx(253页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、填空题第01套给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。例如,从主函数输入一个整数:27638496,函数返回值为:26846。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1. C中。不得增行或删行,也不得更改程序的结构!给定源程序:#include unsigned long fun(unsigned long n) unsigned long x=0, st i; int t;s=n;/*found*/i=_1_;1/*found*/whi
2、le (_2_)s t=s%10;if(t%2=0)/*found*/x=x+t*i; i=_3_;i*10)s=s/10;)return x;)main() unsigned long n=T;while(n99999999|n0) printf(Please input(0n100000000):); scanf&n);printf(*nThe result is:%ldn, fun(n);)解题思路:第一处:对变量i赋初值,根据i的使用规则来看,i应等于1.第二处:while循环要求计算后的s应大于0,所以应填:s。第三处:每循环一次,i要乘以10,所以应填:i*10。第02套给定程序中
3、,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。例如,有10个正数:4630324061745154826,平均值为:30.500000主函数中输出:m=30.0请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#include #define N 10 double fun(double x, double *av) int i, j; double d,
4、s; s=0;for(i=0; iN; i+) s = s +xi;/*f oiind*/_1_=s/N;*avd=32767; for(i=0; iN; i+) if(xi*av &*av - xi=d)/*found*/ d=*av-xi; j=_2_;i/*found*/ return _3_;xj mainO int i; double xN, av, m;for(i=0; iN; i+) xi=rand()%50; printf(*%4. Of ,xi);printf(*nO;m=fun (x,&av);printf(*nThe average is:%fn, av);printf
5、(*m=%5. If m);解题思路:第一处:计算好的平均值通过形参av返回,所以应填:*avo第二处:计算小于平均值且最接近平均值的位置j,所以应填:i。第三处:返回该数,所以应填:xj第03套给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1. C中。不得增行或删行,也不得更改程序的结构!给定源程序:#include
6、 #include #define N 5#define M 8int fun(char (*ss)M, char *t) int i;/*found*/for(i=0; i_1_; i+)/*found*/if(strcmp(ssi, t)=0) return _2_;ireturn T;) main() char chN=*while*,*switch*,*int*,*for*, tM; int n, i;printf(*nThe original stringnn*);for(i=0;iN;i+)puts(chi); printf(*n*);printf(*nEnter a string
7、 for search:*); gets(t); n=fun (ch, t);/*f oiind*/if(n=_3_) printf(*nDon* t found!n*);-1else printf(*nThe position is %d .n*,n);)解题思路:本题是考察在字符串查找指定的子串。第一处:利用for循环,从几个字符串中进行查找,程序中已经给定了 N个字符串,所以应填:No 第二处:在字符串已经找到,则返回字符串数组中的位置(下标值),所以应填:i。第三处:如果没有发现,则显示没有找到信息,所以应填:-lo第04套程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成
8、绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1. C中。不得增行或删行,也不得更改程序的结构!给定源程序: tfinclude #define N 5 typedef struct student long sno; char name10; float score3; STU;void fun(char
9、*filename) FILE *fp; int i, j; STU sN, t;/*found*/fp = fopen(filename,_1_);“rb”fread(s, sizeof (STU), N, fp); fclose(fp); for (i=0; iN-l; i+) for (j=i+l; j t = si; si= sj; sj= t;fp = fopen(filename,wb);/*found*/_3_(s, sizeof (STU), N, fp);/*二进制输出/fwritefclose(fp);main() STU tN=10005,ZhangSan”,95,80,
10、88,10003,LiSi”,85,70,78,10002,CaoKai”,75,60,88,10004,FangFang”,90,82,87,10001,MaChao”,91,92,77, ssN;int i, j; FILE *fp;fp = fopen(student.dat,wb);fwrite (t, sizeof (STU),5, fp);fclose(fp);printf(*nnThe original data :nn);for (j=0; jN; j+) printf(*nNo:%ld Name:%-8s Scores:*,tj. sno, tj.name);for (i=0
11、; i3; i+) printf (*%6.2f , tj. scoreti);printf(iT);fun (student, dat);printf(nnThe data after sorting :nn);fp = fopen(student.dat,rb);fread(ss, sizeof (STU),5, fp);fclose(fp);for (j=0; jN; j+) printf(nNo:%ld Name:%-8s Scores:, ssj. sno, ssj. name);for (i=0; i3; i+) printf (*%6.2f ”, ssj. scoreti);pr
12、intf(*n*);解题思路:本题是考察把结构中的数据写入文件。第一处:建立文件的类型,考虑到是把结构中的数据(结构中的数据包含不打印的字符)从文件中读出,所以应填:rb:第二处:判断当前学号是否大于刚读出的学号进行相比,如果大于,则进行交换,所以应填:.第三处:把已排序的结构数据,重新写入文件,所以应填:fwrite.第05套给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果
13、。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!给定源程序:#include ttinclude void fun (char *s, int a, double f)(/*f oiind*/_1_ fp;FILE *char str100, strl100, str2100;int al; double fl;fp = fopen(*filel. txt*,w);fprintf (fp,%s %d s, a, f);/*f oiind*/_2_;fclose(fp)fp = fopenCfilel.txt,r);/*found*/fscanf(_3_
14、,*%s%s%s*, str, strl, str2);fpfclose(fp);al = atoi(strl);fl = atof(str2);printf(*nThe result :nn%s %d %fn”, str, al, fl);) mainO char a10=*Hello!r; int b=12345;double c=98.76;fun (a, b, c);)解题思路:本题是考察先把给定的数据写入到文本文件中,再从该文件读出并转换成相应的整数、浮点数显示在屏幕上。第一处:定义文本文件类型变量,所以应填:FILE *。第二处:关闭刚写入的文件,所以应填:fclose(fp)o
15、第三处:从文件中读出数据,所以应填:fPo第06套给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时,程序输出:xl=5.000000, x2=3.000000, xl*xl+xl*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#include double fl(double x) return x*x; double f2(double x, double y) return x*y;/*found*/_1_ fun(
16、int i, double x, double y)double if (i=D/*f oiind*/return _2_(x);flelse/*found*/return _3_(x, y);f2)main() double xl=5, x2=3, r;r = fun(l, xl, x2);r += fun (2, xl, x2);printf(*nxl=%f, x2=%f, xl*xl+xl*x2=%fnn*,xl, x2, r);)解题思路:本题是根据给定的公式来计算函数的值。第一处:程序中使用双精度double类型进行计算,所以函数的返回值类型也为double,所以应填:double。
17、第二处:当i等于1时,则返回fl函数的值,所以应填:flo第三处:如果i不等于1,则返回f2函数的值,所以应填:f2o第07套程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息O请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1. C中。不得增行或删行,也不得更改程序的结构!给定源程序:#include typedef struct int num;char name9;char sex;struct int year, month, day ; birthday;float sc
18、ore3;STU;/*found*/void show (STU 1)tt int i;printf (*n%d %s %c %d-%d-%d*, tt. num, tt. name, tt. sex, tt. birthday, year, tt. birthday, month, tt. birthday, day); for(i=0; i3; i+)/*f oiind*/printf (*%5. If*,2);tt. scoreiprintf(*n*);)main() STU std= l/Zhanghua*/M1,1961,10,8,76.5,78.0,82.0;printf(nA s
19、tudent data:n);/*found*/show (3);std)解题思路:本题是利用结构体变量存储了一名学生的信息。第一处:tt变量在函数体fun已经使用,所以应填:tt。第二处:利用循环分别输出学生的成绩数据,所以应填:tt. scoreti.第三处:函数的调用,所以应填:std.第08套给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun 的功能是将该学生的各科成绩都乘以一个系数a.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的
20、结构!给定源程序:ttinclude typedef struct int num;char name 9;float score3;STU;void show(STU tt) int i;printf(*%d %s : tt. num, tt. name);for(i=0; i3; i+)printf (*%5. If*, tt. score i);printf(*n*);)/*found*/void modify (1*ss, float a)STU int i;for(i=0; i2*=a;score imain() STU std=1,*Zhanghua*,76.5,78.0,82.0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 试题库
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内