首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 二级考试 >

计算机二级C语言专项习题十

2013-01-21 

  一、选择题

  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(此处的代表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

热点排行