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

上传人:平*** 文档编号:13124145 上传时间:2017-10-22 格式:DOC 页数:162 大小:1,018.83KB
返回 下载 相关 举报
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 long *n) unsigned long x=0

2、, 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 & n #include long fun ( char *p) int i, len, t; /* len 为串长,t 为正负标识 */ long x=0; len=str

3、len(p); if(p0=-) t=-1; len-; 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,

4、r) ; wf = fopen(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

5、 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(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; fun(a,b,c); /*

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

8、 i,j; for(i=0,j=0; si!=0; i+) if(si=0 & si #define 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(_

9、2_, -1L*sizeof(STU), SEEK_END); /*found*/ fwrite(&n, sizeof(STU), 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

10、(student.dat, wb); fwrite(t, sizeof(STU), N, fp); fclose(fp); fp = fopen(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; /*f

11、ound*/ 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; 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); /* 宏为世纪

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

13、和其它函数中的任何内容, 仅在函数 fun 的花括号中填入 你编写的若干语句。 给定源程序: #include #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. 循

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

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

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

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