二级C语言机试真题2009年09月.doc

上传人:scccc 文档编号:14014940 上传时间:2022-01-30 格式:DOC 页数:3 大小:33KB
返回 下载 相关 举报
二级C语言机试真题2009年09月.doc_第1页
第1页 / 共3页
二级C语言机试真题2009年09月.doc_第2页
第2页 / 共3页
二级C语言机试真题2009年09月.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《二级C语言机试真题2009年09月.doc》由会员分享,可在线阅读,更多相关《二级C语言机试真题2009年09月.doc(3页珍藏版)》请在三一文库上搜索。

1、真题二级C语言机试真题2009年09月一、填空题 第 1 题: 给定程序的功能是:从键盘输入若干行文本 ( 每行不超过 80 个字符 ) ,并写入文 件 myfile4.txt 中,用 -1 作为字符串输入结束的标志,然后将文件的内容读出 显示在屏幕上。文件的读写分别由自定义函数 ReadText 和 WriteText 实现。 注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的横线上填入所 编写的若干表达式或语句。 试题源程序 #include v stdio.h #include v string.h #include v stdlib.h v

2、oid WriteText(FILE *); void ReadText(FILE *);main()FILE *fp;if(fp=fopen(myfile4.txt, W)=NULL)printf(open fail !n); exit(0);WriteText(fp);fclose(fp);if(fp=fopen(myfile4.txt, r)=NULL)printf(open fail !1n); exit(0);ReadText(fp);fclose(fp);*foundvoid WriteText(FILE (1) )char str81;printf(nEnter string w

3、ith -1 to end :n);gets(str);while(strcmp(Str, -1)!=0) fputs( (2) , fw); fputs(n, fw); gets(str);found*/void ReadText(FILE *fr) char str81;printf(nRead file and output to screen :n);fgets(str, 81, fr); while( !feof(fr)foundprintf(%s, (3) ); fgets(str, 81, fr);参考答案:(1) fw (2) str (3) str填空 1:在该函数中, 对已

4、有的语句 fputs(n, fw) ;分析可知:由于文件 流变量 fw 在函数体中没有定义过,故应填 *fw 或 fw 。 填空 2:要把从键盘上 输入的内容写入指定的文件中, 键盘上输入的内容已存入字符串 str 变量中,故 应填写 str 。 填空 3:要把已存入文件中的内容从文件中读出且已存入字符串变 量 str 中,最后在屏幕上显示出来,故应填写 str 。二、改错题第 2 题:给定程序中函数 fun 的功能是:从低位开始取出长整型变量 S 中偶数位上的 数,依次构成一个新数放在 t 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为 7654321 时, t 中的数为 642。

5、请改正程序中的错误,使它能得到正确结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 试题源程序 #inelude v stdio.h *foundvoid fun(long s, long t)long s1=10;s/=10;*t=s% 10;*found*/while(s v 0)s=s/100;*t=s% 10*s1+*t;s1=s1 *10;msin() long s, t; printf(nPlease enter s:); scanf(%ld,s);fun(s, t); printf(The result is: %ldn, t); 参考答案:(1)

6、错误: voidfun(long s, longt)正确: voidfun(long s, long *t) (2)错误:while(s v 0)正确:while(s 0)错误1:在函数体fun中,t是一个指针型变量,定义形参时也应定义指针。 错误2:从题目可知,此处条件应该是 s0,故这里应为:while(s 0)。三、编程题第 3 题:请编写函数fun,其功能是:计算并输出3n之间(含3和n)所有素数的平方 根之和。例如,在主函数中从键盘为 n 输入 100 后,输出为: sum=148.874270。 注意:要求 n 的值大于 2但不大于 100。 注意:部分源程序给出如下。请勿改动主函

7、数 main 和其他函数中的任何内容, 仅在函数 fun 的花括号中填入所编写的若干语句。 试题源程序 #inclUde v math.h #include v stdio.h double fun(int n)main()int n;double sum; printf(nnInput n:); scanf(%d, n); sum=fun(n);printf(knnsum=%fnn, sum); 参考答案:double fun(int n) int i, j=0; double s=0; for (i=3; iv =n;i+) for(j=2; j v i; j+) if(i%j=0) break; if(j=i) s=s+sqrt(i); return s; 计算并输出3到n之间(含3和n)所有素数的平方根之和。

展开阅读全文
相关资源
猜你喜欢
相关搜索

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


经营许可证编号:宁ICP备18001539号-1