第十五章单元测试
  1. 关于C语言中的文件系统,下面说法错误的是( )。

  2. A:C语言的文件系统有两种:一种可以自动给文件分配缓冲区,另一种不自动分配
    B:fread、fwrite、fscanf函数既可以用在缓冲文件系统中,又可以用在非缓冲文件系统中,而read、write、fpen函数则只能用于非缓冲文件系统中
    C:C语言用于输入输出的函数有两种:一种只能用在缓冲文件系统中,另一种既可以用在缓冲文件系统中,也可以用在非缓冲文件系统中
    D:在缓冲文件系统中,每用fopen成功打开一个文件,就会在内存中分配一个缓冲区

    答案:fread、fwrite、fscanf函数既可以用在缓冲文件系统中,又可以用在非缓冲文件系统中,而read、write、fpen函数则只能用于非缓冲文件系统中

  3. 关于读写位置指针,下面四种说法中正确的是( )。

  4. A:文件的读写位置指针,记录着已经读(写)了多少字节了
    B:文件的读写位置指针,指向FILE型变量中的某字节
    C:文件的读写位置指针,指向刚刚读写过的那一个字节
    D:对文件进行一次读(写)操作时,文件的读写位置指针会自动移动,总是指向刚刚读(写)的那个字节的下一个字节
  5. 关于在缓冲文件系统中打开文件,下面说法正确的是( )。

  6. A:其他三种说法都不对
    B:在缓冲文件系统中打开文件,其实就是把文件内容由磁盘装入缓冲区
    C:在缓冲文件系统中打开文件,其实就是在内存中开辟一个FILE型变量
    D:在缓冲文件系统中打开文件,其实就是为文件建立一个缓冲区
  7. 关于打开文件,下面说法错误的是( )。

  8. A:打开文件失败,有可能是文件没找到,也可能是缓冲区或FILE型变量分配失败
    B:打开文件成功,则fopen()返回非0值
    C:打开文件成功,则fopen()返回缓冲区首地址
    D:打开文件失败,则fopen()返回NULL
  9. 下列四种打开文件的方式中,能删除原文件(已有文件)内容的是( )。

  10. A:a+
    B:w
    C:a
    D:r+
  11. 缓冲文件系统中,使用下面哪类文件或设备不需要程序员打开和关闭?( )。

  12. A:当前盘上的文件
    B:C盘根目录中的文件
    C:当然目录中的文件
    D:键盘和显示器
  13. 标准函数fgets(s, n, f )的功能是( )。

  14. A:从文件中读取长度为n的字符串存入指针s所指的内存
    B:从文件中读取长度不超过n-1个字符组成字符串存入指针s所指的内存
    C:从文件中读取几个字符存入指针s所指的内在
    D:从文件中读取长度为n-1的字符串存入指针s所指的内存
  15. 假设所有用到的函数都能正确执行,则下面说法正确的是( )。

  16. A:fread(&n,4,1,fp)和fread(&n,1,4,fp)两种用法的返回值相同
    B:使用fread(&n,4,1,fp)读一个整数或使用fread(&n,1,4,fp)读一个整数,读取后n中的值相同
    C:其他三种说法都不对
    D:fread(&n,4,1,fp)和fread(&n,1,4,fp)完全等价
  17. 以下关于文件操作的说法中,正确的是( )。

  18. A:C语言中的文件是流式文件,因此只能顺序存取数据,不能随意读取任意位置上的数据
    B:当对文件的写操作完成之后,程序结束前必须将它关闭,否则可能导致数据丢失
    C:在一个程序中对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第一个数据
    D:打开一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖
  19. windows中,用"w"方式打开文件,把短整型变量n=10的值以及字符变量c='\n'的值用fwrite()分两次写入文件,则文件的内容(二进制数)是( )。

  20. A:00110001 00110000 00001101 00001010
    B:00001101 00001010 00000000 00001101 00001010
    C:00001010 00000000 00001101 00001010
    D:00000000 00001010 00001101 00001010
  21. 文件的二进制内容是:00001101 00001010 00110010 00100000,windows中,用"r"方式打开文件,用fscanf(fp,"%c%hd",&c,&n)函数读取一个字符和一个短整数,则字符和短整数分别是( )。

  22. A:‘\r’和10
    B:‘ \r’和2
    C:‘\n’和50
    D:‘ \n’和2
  23. 曾经,用fwrite函数(该函数用二进制方式写数据)向文件中写了一个整数,今欲将其读取出来,关于用什么方式打开文件,下面说法正确的是( )。

  24. A:必须用文本方式打开
    B:必须用二进制方式打开
    C:用文本方式或二进制方式均可
    D:不知道当初写数据时是用什么方式打开的文件,所以不能确定
  25. 文本文件中只存有一个字符‘A',要将它读出来,下面说法正确的是( )。

  26. A:必须用文本方式打开并用fread读取
    B:必须用文本方式打开并用fgetc读取
    C:可以用二进制方式打开然后用fread读取
    D:必须用二进制方式打开并用fread读取
  27. 文件的二进制内容是:00110001 00100000,用fscanf(fp,"%d",&x)或fread(&x,2,1,fp)读取一个短整数,则用此两种函数读出来的结果分别是( )。

  28. A:1 8241
    B:10 12576
    C:1 12576
    D:10 8241

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(2) dxwkbang
返回
顶部