2011年全国计算机等级考试二级C语言机试题库

上传人:平*** 文档编号:13125855 上传时间:2017-10-22 格式:DOC 页数:130 大小:1.20MB
返回 下载 相关 举报
2011年全国计算机等级考试二级C语言机试题库_第1页
第1页 / 共130页
2011年全国计算机等级考试二级C语言机试题库_第2页
第2页 / 共130页
2011年全国计算机等级考试二级C语言机试题库_第3页
第3页 / 共130页
2011年全国计算机等级考试二级C语言机试题库_第4页
第4页 / 共130页
2011年全国计算机等级考试二级C语言机试题库_第5页
第5页 / 共130页
点击查看更多>>
资源描述

《2011年全国计算机等级考试二级C语言机试题库》由会员分享,可在线阅读,更多相关《2011年全国计算机等级考试二级C语言机试题库(130页珍藏版)》请在金锄头文库上搜索。

1、12011 年全国计算机等级考试二级 C 语言机试题库第 01 套: 给定程序中,函数 fun 的功能是:将形参 n 所指变量中,各位上为偶数的数去 除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n 传回 所指变量。 例如,输入一个数:27638496,新的数:为739。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include void fun(unsigned long *n) unsigned long x=0, i; int

2、 t; i=1; while(*n) t=*n % _1_; if(t%2!= _2_) x=x+t*i; i=i*10; n =*n /10; *n=_3_; main() unsigned long n=-1; while(n99999999|n double fun ( int n ) double result = 1.0 ; if n = = 0 return 1.0 ; while( n 1 & n #include long fun ( char *p) main() /* 主函数 */ char s6; long n; printf(Enter a string:n) ; ge

3、ts(s); n = fun(s); printf(%ldn,n); NONO ( ); NONO ( ) /* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ FILE *fp, *wf ; int i ; char s20 ; long n ; fp = fopen(c:testin.dat,r) ; wf = fopen(c:testout.dat,w) ; for(i = 0 ; i void fun(char *s, int a, double f) /*found*/ _1_ fp; char ch; fp = fopen(file1.txt, w); fprin

4、tf(fp, %s %d %fn, s, a, f); fclose(fp); fp = fopen(file1.txt, r); printf(nThe result :nn); ch = fgetc(fp); /*found*/ while (!feof(_2_) /*found*/ putchar(_3_); ch = fgetc(fp); putchar(n); fclose(fp); main() char a10=Hello!; int b=12345; double c= 98.76; fun(a,b,c); 解题思路: 本题是考察先把给定的数据写入到文本文件中,再从该文件读出并

5、显示在屏幕上。 第一处:定义文本文件类型变量,所以应填:FILE *。 第二处:判断文件是否结束,所以应填:fp。 第三处:显示读出的字符,所以应填:ch。 * 给定程序 MODI1.C 中函数 fun 的功能是: 依次取出字符串中所有数字字符, 形成新的字符串, 并取代原字符串。 请改正函数 fun 中指定部位的错误 , 使它能得出正确的结果。 注意: 不要改动 main 函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include void fun(char *s) int i,j; for(i=0,j=0; si!=0; i+) if(si=0 & si #defin

6、e M 3 #define N 4 void fun(char sN, char *b) int i,j,n=0; for(i=0; i #define N 5 typedef struct student long sno; char name10; float score3; STU; void fun(char *filename, STU n) FILE *fp; /*found*/ fp = fopen(_1_, rb+); /*found*/ fseek(_2_, -1L*sizeof(STU), SEEK_END); /*found*/ fwrite(&n, sizeof(STU

7、), 1, _3_); fclose(fp); main() STU tN= 10001,MaChao, 91, 92, 77,10002,CaoKai, 75, 60, 88, 10003,LiSi, 85, 70, 78, 10004,FangFang, 90, 82, 87, 10005,ZhangSan, 95, 80, 88; STU n=10006,ZhaoSi, 55, 70, 68, ssN; int i,j; FILE *fp; fp = fopen(student.dat, wb); fwrite(t, sizeof(STU), N, fp); fclose(fp); fp

8、 = fopen(student.dat, rb); fread(ss, sizeof(STU), N, fp); fclose(fp); printf(nThe original data :nn); 4for (j=0; j #include typedef struct aa int data; struct aa *next; NODE; NODE *Creatlink(int n, int m) NODE *h=NULL, *p, *s; int i; /*found*/ p=(NODE )malloc(sizeof(NODE); h=p; p-next=NULL; for(i=1;

9、 idata=rand()%m; s-next=p-next; p-next=s; p=p-next; /*found*/ return p; outlink(NODE *h) NODE *p; p=h-next; printf(nnTHE LIST :nn HEAD ); while(p) printf(-%d ,p-data); p=p-next; printf(n); main() NODE *head; head=Creatlink(8,22); outlink(head); 解题思路: 第一处: 指向刚分配的结构指针,所以应改为:p=(NODE *)malloc(sizeof(NOD

10、E); 第二处: 在动态分配内存的下一行语句是,使用临时结构指针变量 h 保存 p 指针的初始位置,最后返回不能使用 p,是因为 p 的位置已经发生了变化,所以应改为返回 h。 * 请编写函数 fun, 函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入, 规定所有单词由小写字母组成,单词之间由若干个空格隔开, 一行的开始没有空格。 注意:部分源程序在文件 PROG1.C 中。 请勿改动主函数 main 和其它函数中的任何内容, 仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include #include #define N 80 int

11、 fun( char *s) main() char lineN; int num=0; 5printf(Enter a string :n); gets(line); num=fun( line ); printf(The number of word is : %dnn,num); NONO(); 解题思路: 本题是统计字符串中的单词数。 1. 利用 while 循环语句和指针变量,当字符为空格时,则单词数 k 加 1。 2. 循环结束返回 k。 参考答案: int fun( char *s) int k = 1 ; while(*s) if(*s = ) k+ ; s+ ; return

12、 k ; 第 04 套: 程序通过定义学生结构体变量,存储了学生的学号、姓名和 3 门课的成绩。所有学生数据均以二进制方式输出到文件中。函数 fun 的功能是从形参 filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename 所指的文件中,覆盖原来的文件内容。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #define N 5 typedef struct student l

13、ong sno; char name10; float score3; STU; void fun(char *filename) FILE *fp; int i, j; STU sN, t; /*found*/ fp = fopen(filename, _1_); fread(s, sizeof(STU), N, fp); fclose(fp); for (i=0; i。 第三处:把已排序的结构数据,重新写入文件,所以应填:fwrite。 *给定程序 MODI1.C 中函数 fun 的功能是: 在字符串的最前端加入 n 个*号, 形成新串 , 并且覆盖原串。注意: 6字符串的长度最长允许为

14、79。 请改正函数 fun 中指定部位的错误 , 使它能得出正确的结果。 注意: 不要改动 main 函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include #include void fun ( char s, int n ) char a80 , *p; int i; /*found*/ s=p; for(i=0; i #define N 50 #define M 11 void fun( int *a, int *b) double rnd() static t=29,c=217,m=1024,r=0; r=(r*t+c)%m; return(double)r/m); main() int ageN, i, dM; for(i=0; i 10) bM - 1+ ;else bj+ ; 第 05 套: 给定程序中,函数 fun 的功能是将参数给定的字符串、整数、

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

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号