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

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

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

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

2、) unsigned long x=0, i; int 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 long n; printf(“Enter a string:n“) ; gets(s); n = fun(s); printf(“%ld

3、n“,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“); fprintf(fp, “%s %d %

4、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 for(i=0; i #

6、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( fclose(fp); main() STU tN= 10001,“MaChao“, 91, 92, 77, 10002,“CaoKai“, 75, 60, 88

7、, 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 = fopen(“student.dat“, “rb“); fread(ss, sizeof(STU), N, fp); fclose(fp); pr

8、intf(“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; idata=rand()%m; s-next=p-next; p-next=s; p=p-next; /*found*/ return p

9、; 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(NODE); 第二处: 在动态分配内存的下一行语句是,使用临时结 构指针变量 h 保存 p 指针的初始位置,最后返回不能使 用 p,

10、是因为 p 的位置已经发生了变化,所以应改为返 回 h。 * 请编写函数 fun, 函数的功能是:统计一行字符串中 单词的个数,作为函数值返回。一行字符串在主函数中输 入, 规定所有单词由小写字母组成,单词之间由若干个空 格隔开, 一行的开始没有空格。 注意:部分源程序在文件 PROG1.C 中。 请勿改动主函数 main 和其它函数中的任何内容, 仅 在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include #include #define N 80 int fun( char *s) main() char lineN; int num=0; 5printf(“En

11、ter 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 k ; 第第 04 套:套: 程序通过定义学生结构体变量,存储了学生的学 号、姓名和 3 门课的成绩

12、。所有学生数据均以二进制 方式输出到文件中。函数 fun 的功能是从形参 filename 所指的文件中读入学生数据,并按照学号从小到大排 序后,再用二进制方式把排序后的学生数据输出到 filename 所指的文件中,覆盖原来的文件内容。 请在程序的下划线处填入正确的内容并把下划线 删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #define N 5 typedef struct student long sno; char name10; float score3; STU;

13、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字符串的长度最长允许为 79。 请改正函数 fun 中指定部位的错误, 使它能得出正 确的结果。 注意

14、: 不要改动 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+ ;el

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

当前位置:首页 > 行业资料 > 其它行业文档

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