学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页 > 笔记串讲 > 自考“高级语言程序设计”习题答案详解(44

自考“高级语言程序设计”习题答案详解(44)

2007年09月04日    来源:   字体:   打印

  8.1 单项选择题

  1.若与文件型指针中相关联的文件的当前读位置已到了文件的末尾,则函数feof(fp)的返回值是( )

  ①0 ②-l

  ③非零值 ④NULL

  「解」当调用fopen函数时,系统将为实参文件设定一个存放文件读写控制信息的控制块。该控制块记录有关文件持征、使用方式,当前读写位置等文件状态,并将该控制块的指针返回,作为文件指针变量的值。以后程序通过该指针调用函数时,系统能访问到这个控制块,利用该文件控制块中的控制信息,正确完成文件的读或写。所以文件指针并不真正指向文件当前读写位置,但通过文件指针,系统能在文件控制块中访问文件的当前读写位置。若某文件与文件指针中相关联着,该文件的当前读写位置在文件的末尾时,函数调用feof(fp)的返回值是一个非零值。所以正确解答是③。

  2.下列语句中,将C定义为文件型指针的是( )

  ① FILE c; ② FILE *c; ③ file c; ④ file *c;

  「解」如上题所述,文件控制块的类型已由系统命名为FILE.所以定义文件指针变量是C,就得用代码:“FILE *c;”。所以正确解答是②。

  3.标准库函数fputs(pl,p2)的功能是( )

  ①从pl指向的文件中读一个字符率存入p2指向的内存

  ②从p2指向的文件中读一个字符串存入pl指向的内存

  ③从pl指向的内存中的一个字符串输出到p2指向的文件

  ④从p2指向的内存中的一个字符串输出到pl指向的文件

  「解」标准函数调用fputs(p1,p2)完成的功能是将由字符指针pl所指的字符串内容输出到与文件指针p2相关联的文件中,即将从pl所指的内存中的字符串内容输出到p2所指向的文件中。所以正确解答是③。

  8.2 填充题

  1.“FILE *p”的作用是定义一个______,其中的“FILE”是在________头文件中定义的。

  「解」代码“FILE *p”的作用是定义一个文件指针变量,其中的FILE是在标准输入输出头文件stdio.h中定义的。

  2.在对文件进行操作的过程中,若要求文件的现行位置回到文件的开头,应当调用的函数是_______函数。

  「解」若要让文件随机地从某个现行位置回到文件的开头,可调用库函数rewind( )。

  f2);

  }

  fclose(f1);

  fclose(f2);

  }

  「解」程序首先以读方式打开文件pl.c,以写方式打开文件P2.c.程序在文件pl.c未结束之前读入l000个字符复制到文件p2.c.然后关闭这两个文件。所以程序的功能是将文件pl.c的前l000个字符复制到文件p2.c.子目录字符‘\’在C语言中作为转义字符的引导字符,若在字符串中要用这个字符,必须双写该字符。如C盘根目录tc子目录文件p1.c,在C程序中应写成字符串“c:\\tc \\pl.c.

  2.假定在当前盘当前目录下有2个文本文件,其名称和内容如下:

  文件名 al.txt a2.txt

  内容 121314 # 252627#

  写出运行下列程序后的输出。

  # include

  # include

  void fc( FILE *);

  main()

  { FILE *fp;

  if( fP= fopen(“al.txt”, “r”))== NULL)

  { printf(“Can not open file! \n”);

  exit(l);

  }

  else{ fc(fp); fclose(fp); }

  if(( fp = fopen(“a2.txt”,“r”))==NULL)

  { printf(“Can not open file! \n”);

  exit(1);

  }

  else { fc(fp); fclose(fp); }

  }

  void fc(fp1)

  FILE *fpl;

  { char c;

  while((c=fgetc(fpl))!=‘#’) putchar(c);

  }

  「解」程序以读方式打开文件a1.txt,若能正常打开,则调用函数fc.接着同样地,以读方式打开文件a2.txt,若能正常打开,也调用函数fc.函数企从指定的文件读入字符,在读入字符不是字符‘#’情况下循环,将读人字符输出。对于文件a1.txt,程序输出121314,对于文件a2.txt,程序输出252627.所以程序输出121314252627.

关闭