2011年3月份全国计算机等级考试二级c语言机试题库

上传人:wm****3 文档编号:43601983 上传时间:2018-06-07 格式:DOC 页数:162 大小:1,018.24KB
返回 下载 相关 举报
2011年3月份全国计算机等级考试二级c语言机试题库_第1页
第1页 / 共162页
2011年3月份全国计算机等级考试二级c语言机试题库_第2页
第2页 / 共162页
2011年3月份全国计算机等级考试二级c语言机试题库_第3页
第3页 / 共162页
2011年3月份全国计算机等级考试二级c语言机试题库_第4页
第4页 / 共162页
2011年3月份全国计算机等级考试二级c语言机试题库_第5页
第5页 / 共162页
点击查看更多>>
资源描述

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

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

2、ng *n) 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 /* len 为串长,t 为正负标识 */ long x=0; len=strlen(p); if(p0=-) t=-1; l

3、en-; p+; else t=1; /* 以下完成数字字符串转换为一个数字 */ return x*t; main() /* 主函数 */ char s6; long n; printf(“Enter a string:n“) ; gets(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(

4、“c:testout.dat“,“w“) ; for(i = 0 ; i #include long fun ( char *p) /* 以下代码仅供参考 */ int i, len, t; /* len 为串长,t 为正负标识 */ long x=0; len=strlen(p); if(p0=-) t=-1; len-; p+; else t=1; /* 以下完成数字字符串转换为一个数字 */ while(*p) x = x*10-48+(*p+); return x*t; main() /* 主函数 */ char s6; long n; printf(“Enter a string:n

5、“) ; gets(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) 4/*found*/ _1_ fp; char ch

6、; fp = fopen(“file1.txt“, “w“); fprintf(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;

7、fun(a,b,c); /* 宏为世纪教育 */ 解题思路: 本题是考察先把给定的数据写入到文本文件中,再 从该文件读出并显示在屏幕上。 第一处:定义文本文件类型变量,所以应填:FILE *。 第二处:判断文件是否结束,所以应填:fp。 第三处:显示读出的字符,所以应填:ch。 * * 给定程序 MODI1.C 中函数 fun 的功能是: 依次取出 字符串中所有数字字符, 形 成新的字符串, 并取代原字符串。 请改正函数 fun 中指定部位的错误, 使它能得出正确 的结果。 注意: 不要改动 main 函数, 不得增行或删行, 也不得 更改程序的结构! 给定源程序: #include voi

8、d fun(char *s) int i,j; for(i=0,j=0; si!=0; i+) if(si=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( fclose(fp); m

9、ain() 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 = fopen

10、(“student.dat“, “rb“); fread(ss, sizeof(STU), N, fp); fclose(fp); printf(“nThe original data :nn“); for (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; id

11、ata=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 *

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

13、ude #include 7#define N 80 int fun( char *s) main() char lineN; int num=0; printf(“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 ; wh

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

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

当前位置:首页 > 生活休闲 > 社会民生

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