[计算机类试卷]国家二级C语言机试(操作题)模拟试卷412及答案与解析.doc

上传人:roleaisle130 文档编号:498360 上传时间:2018-11-28 格式:DOC 页数:5 大小:34KB
下载 相关 举报
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷412及答案与解析.doc_第1页
第1页 / 共5页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷412及答案与解析.doc_第2页
第2页 / 共5页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷412及答案与解析.doc_第3页
第3页 / 共5页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷412及答案与解析.doc_第4页
第4页 / 共5页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷412及答案与解析.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 412及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数 atoi和 atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 #include stdlib h 3 void fun(char *s, int a, doub

2、le f) 4 5 *found* 6 _1_ fp; 7 char str100, str1100, str2100; 8 int a1; double f1; 9 fp=fopen(filel txt, w); 10 fprintf(fp, s d f n, s, a, f); 11 *found* 12 _2_; 13 fp=fopen(file1 txt, r); 14 *found* 15 fscanf(_3_, s s s, str, str1, str2); 16 fclose(fp); 17 a1=atoi(str1); 18 f1=atof(str2); 19 printf(

3、 nThe result: n n s d f n, str, a1, f1); 20 21 main() 22 char a10=Hello!; int b=12345; 23 double c=98 76; 24 fun(a, b, c); 25 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:求出 s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串:若未找到,则函数值为 NULL。 例如,当字符串中的内容为 abcdabfabcdx“, t中的内容为 “ab”时,输出结 果应是“abcdx”。 当字符串中的内容为 “a

4、bcdabfabcdx”, t中的内容为 “abd”时,则程序输出未找到信息 “notbe found!”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 #include string h 3 char *fun(char*s, char*t) 4 5 char *p, *r, *a; 6 *found* 7 a=Null; 8 while(*s) 9 p=s; r=t; 10 while(*r) 11 *found* 12 if(r=p) 13 r+; p+; ) 14 else

5、 break; 15 if(*r= 0)a=s; 16 s+; 17 18 return a; 19 20 main() 21 22 char s100, t100, *p; 23 printf( nPlease enter string s: ); scanf( s, s); 24 printf( nPlease enter substringt: ); scanf( s, t); 25 p=fun(s, t); 26 if (p)printf( nThe result is: sin, p); 27 else printf( nNot found! n); 28 三、程序设计题 3 编写函

6、数 fun,它的功能是计算下列级数和,和值由函数值返回。例如,当 n=10, x=0 3时,函数值为 1 349859。 注意:部分源程序在文件 PROG1 C文件中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 1 #include stdio h 2 #include math h 3 double fun(double x, int n)4 5 6 main()7 void NONO(); 8 printf( f n, fun(0 3, 10); 9 NONO(); 10 11 void NONO()12 *本函数用于打开文件,输入数

7、据,调用函数,输出数据,关闭文件。 * 13 FILE *fp, *wf; 14 int i, n; 15 double s, x; 16 fp=fopen(in dat, r); 17 wf=fopen(out dat, w); 18 for(i=0; i 10; i+)19 fscanf(fp, if, d,x, 22 23 fclose(fp); 24 fclose(wf); 国家二级 C语言机试(操作题)模拟试卷 412答案与解析 一、程序填空题 1 【正确答案】 (1)FILE* (2)fclose(fp) (3)fp 【试题解析】 第一空: “fp=fopen(filel txt,

8、 w); ”可知 fp是文件型指针,故第一空处 fp的定义应为 “FILE*”。 第二空:第二处的后面一句是 “fp=fopen(filel txt“, r); ”再次打开filel txt,因此在第二次打开 filel txt之前必须将文件关闭,故第二处是关闭文件,即 “fclose(fp)”。 第三空: fscanf的调用形式是: fscanf(fp,格式字符串,输入列表 ),因此第三空处应为 “fp”,从文件中读出字符串、整数、浮点数。 二、程序修改题 2 【正确答案】 (1)a=NULL; (2)if(*r=*p) 【试题解析】 函数功能是求得字符串中某子串最后一次出现的地址。 (1)

9、第一个标识下面:语句 “a=Null; ”中的 Null未定义。 NULL代表空值,但程序中写成了Null。所以,改成 “a=NULL; ”。 (2)程序的主体是二重循环,其中外循环使指针 s逐个指向字符串的字符,直到遇到串结束符退出循环,内循环检查指针 p与 r所指字符串是否匹配。因为这里 p、 r是指针,如果使用判断表达式 “if(r=p)”,那么比较的是地址,而题目要求比较它们所指的字符。所以,改为: “if(*r=*p)”。 三、程序设计题 3 【正确答案】 1 double s=1 0, y=x ; 2 int i; 3 long k=1; 4 for(i = 1 ; i =n ; i+) 5 k=k*i; 6 s += y k ; 7 y *=x ; 8 9 return s ; 【试题解析】 (1)根据题干中给出的数列,推出每一项分子是在前一项的基础上乘以 x,分母是每一项的阶乘,它可以在前一项的基础上乘以当前项的项数,即第n项是 n。 (2)在循环中求得每一项,然后对其进行累加求和。

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

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1