无忧首页企业系统我的无忧
无忧服务:
兼职活动培训
娱乐交友:
交友社区资讯
全职实习:
实习暑假寒假
微信号:school51
扫一下,立即关注
加关注
在线支付,立省10元
下载新版APP
===大学生成长生活平台===

2013年计算机二级考试C语言第十六章课后题及参考答案

2013-03-18来源/作者:卫凯点击次数:344

第十六章

  一、选择题

  16.1 标准库函数fgets(s,n,f)的功能是

  A) 从文件f中读取长度为n的字符串存入指针s所指的内存

  B) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存

  D) 从文件f中读取n个字符串存入指针s所指的内存

  D) 从文件f中读取长度为n-1的字符串存入指针s所指的内存

  答案:D

  16.2 若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是

  A) EOF

  B) -1

  C) 非零值

  D) NULL

  答案:C

  二、填空题

  16.3 以下C程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出。(假定文件名无误),请填空。

  #include "stdio.h"

  main(int argc, char *argv[])

  { FILE *f1,f2; char ch;

  if(argc<_____) { printf("命令行参数错!\\n"); exit(0); }

  f1=fopen(argv[1],"r");

  f2=fopen(argv[2],"w");

  while(_____) fputc(fgetc(f1),______);

  ________;_________;

  }

  答案:1 !feof(f1) f2 fclose(f1) fclose(f2)

  16.4 以下程序由终端键盘输入一个文件名,然后把终端键盘输入的字符依次存放到该文件中,

  用#号作为结束输入标志。请填空。

  #include "stdio.h"

  main()

  { FIlE *fp; char ch,fname[10];

  printf("Enter the name of file\\n"); gets(fname);

  if((fp=_____)==NULL) { printf("Open error\\n"); exit(0); }

  printf("Enter data:\\n");

  while((ch=getchar())!=\’#\’) fputc(_____,fp);

  fclose(fp);

  }

  答案:fopen(fname,"w") ch

  16.5 以下程序用来统计文件中字符的个数。请填空。

  #include "stdio.h"

  main()

  { FILE *fp; long num=0;

  if((fp=fopen("fname.dat",____)==NULL)

  { printf("Open error\\n"); exit(0); }

  while _____

  { _____; num++; }

  printf("num=%d\\n",num);

  fclose(fp);

  }

  答案:"r" (!feof(fp)) fgetc(fp)

  16.6 以下程序编译,连接后生成可执行文件cpy.exe。假定磁盘当前目录下有三个文本文件其文件名

  和内容分别为:

  文件名 内容

  a aaaa#

  b bbbb#

  c cccc#

  当在DOS当前目录下键入:cpy a b c<CR>(此处的<CR>代表Enter键)

  则程序输出_______。

  #include "stdio.h"

  void fc(FILE *);

  main(int argc, char *argv[])

  { FILE *fp; int i=1;

  while(--argc>0)

  { fp=fopen(argv[i++],"r");

  fc(fp);

  fclose(fp);

  }

  }

  void fc(FILE *ifp)

  { char c;

  while (c=getc(ifp)!=\’#\’) putchar(c-32);

  }

  答案:AAAABBBBCCCC

计算机二级C语言章节练习在线测试
第16章 文件 马上检测





相关阅读



关于我们 | 联系我们 | 用户指南 | 网站地图 | 意见建议 | 会员注册 | 用户协议 | 隐私政策