ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:32KB ,
资源ID:498275      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-498275.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级C语言机试(操作题)模拟试卷336及答案与解析.doc)为本站会员(confusegate185)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

1、国家二级 C语言机试(操作题)模拟试卷 336及答案与解析 一、程序填空题 1 给定程序的功能是:调用函数 fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为 1,失败时返回值为 0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量 sfname中,目标文件名放在变量 tfname中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 #include stdlib h 3 int fun(c

2、har *source, char*target) 4 FILE *fs, *ft; char ch; 5 *found* 6 if(fs=fopen(source, _1_)=NULL) 7 return 0; 8 if(ft=fopen(target, w)=NULL) 9 return 0; 10 printf( nThe data in file: n); 11 ch=fgetc(fs); 12 *found* 13 while(!feof(_2_) 14 putchar(ch); 15 *found* 16 fputc(ch, _3_); 17 ch=fgetc(fs); 18 19

3、 fclose(fs); fclose(ft); 20 printf( n n); 21 return 1; 22 23 main() 24 char sfname20=myfile1, tfname20=myfile2; 25 FTTE *myf; int i; char c; 26 myf=fopen(sfname, w); 27 printf( nThe originaldata: n); 28 for(i=1; i 30; i+) 29 c=A+rand() 25; 30 fprintf(myf, c, c); 31 printf( c, c); 32 fclose(myf); pri

4、ntf( n n); 33 if(fun(sfname, tfname) 34 printf(Succeed!); 35 else printf(Fail!); 36 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:从低位开始取出长整型变量 S中偶数位上的数,依次构成一个新数放在 t中。高位仍在高位,低位仍在低位。 例如, 当 s中的数为: 7654321时, t中的数为: 642。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 *found* 3 void fu

5、n(long s, long t) 4 long s1=10; 5 s =10; 6 *t=s 10; 7 *found* 8 while(s 0) 9 s=s 100; 10 *t=s 10 *s1+*t; 11 s1=s1 * 10; 12 13 14 main() 15 long s, t; 16 printf( nPlease enter s: ); scanf( 1d, s); 17 fun(s, t); 18 printf(The result is: 1d n, t); 19 三、程序设计题 3 请编写一个函数 void fun(char *tt, int pp),统计在 tt所

6、指字符串中 a到 z26个小写字母各自出现的次数,并依次放在 pp所指数组中。 例如,当输入字符串: abcdefgabcdeabc后,程序的输出结果应该是: 3 3 3 2 2 1 1 0 0 0 0 0 0 0 O 0 0 0 0 0 0 0 0 0 0 0 注意:部分源程序在文件 PROG1 C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 1 #include stdio h 2 #include string h 3 void fun(char *tt, int pp) 4 5 6 7 main() 8 char aa1000;

7、 9 int bb26, k; 10 void NONO(); 11 printf( nPlease enter a char string: ); scanf( s, aa); 12 fun(aa, bb); 13 for(k=0 ; k 26; k+) printf( d, bbk); 14 printf( n); 15 NONO(); 16 17 void NONO() 18 *本函数用于打开文件,输入测试数据,调用 fun函数,输出数据,关闭文件。 * 19 char as1000; 20 int bb26, k, i; 21 FILE *rf, *wf; 22 rf=fopen(in

8、 dat, r); 23 wf=fopen(out dat, w); 24 for(i=0; i 10; i+) 25 fscanf(rf, s, aa); 26 fun(aa, bb); 27 for(k=0; k 26; k+) fprintf(wf, d, bbk); 28 fprintf(wf, n); 29 30 fclose(rf); 31 fclose(wf); 32 国家二级 C语言机试(操作题)模拟试卷 336答案与解析 一、程序填空题 1 【正确答案】 (1)r (2)fs (3)ft 【试题解析】 第一空:将指定源文件中的内容复制到指定的目标文件中,源文件只需读,因此以只

9、读方式打开即可,故第一空处应该是“if(fs=fopen(source,“r“)=NULL)”。 第二空: “while(!feof( _2_ )”循环的目的是不断读取源文件直至到达源文件的末尾,循环结束标志是已达到文件的末尾。用 feof()函数来检查是否已经到了文件末尾,文件状态检测函数 feoff)的调用形式是: feof(fs),如果已经到达文件尾函数返回非零值,否则返回 0,故第二空处应该是 “while(!feof(fs)”。 第三空:考察 fputc函数的使用方法, fputc函数的调用形式是: fputc(ch, ft),ch是要输出的字符,由 “ch=fgetc(fs)”从源

10、文件读到字符 ch,然后将 ch写到目标文件中,故第三空处应该是 “fputc(ch,ft); ”。 二、程序修改题 2 【正确答案】 (1)void fun(long s, long *t) (2)while(s 0) 【试题解析】 函数目的是取出长整型变量 s中偶数位上的数。 (1)第一个标识下的形参 t被定义为一个 long型变量,而对应的主函数中的实参却是一个地址值。因此, t在函数定义中应该被定义为一个指针变量,即 “void fun(long s, long t)”改为“void fun(longs,long *t)”。 (2)第二个标识下的 while循环控制表达式 “s 0”要

11、求 s小于 0才进入循环。而 s的值总是大于 0,因此将 “while(s 0)”改为 “while(s0)”。 三、程序设计题 3 【正确答案】 1 char *p=tt; 2 int i; 3 for(i=0 ; i 26; i+) ppi=0; 4 while(*p) 5 if(*p =a *p =z) pp*p-a+=1 ; 6 p+; 【试题解析】 该程序功能是统计字符串中 26个字母各自出现的次数。解题思路,从己给部分源程序的 main主函数开始入手,函数形参指针 tt接受主函数中字符数组 aa的起始地址,形参 pp接受主函数中的 bb数组的起始地址, bb数组的每一个元素都是计数器, bb0中统计字母 “a”的个数, bb1中统计字母 “b”的个数,依此类推, bb25中统计字母 “z”的个数。

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