2013年计算机二级考试C语言课后习题(第十六章)

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年1月18日

第十六章

  一、选择题

  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键)

首页 1 2 尾页

相关文章