浙大版《C语言程序设计》第四版(何钦铭颜晖) 第12章 文件 课后习题答案

您所在的位置:网站首页 c语言程序设计何钦铭第二版课后答案 浙大版《C语言程序设计》第四版(何钦铭颜晖) 第12章 文件 课后习题答案

浙大版《C语言程序设计》第四版(何钦铭颜晖) 第12章 文件 课后习题答案

2024-07-17 12:25| 来源: 网络整理| 查看: 265

你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解,还可以在线答题。

WX20220412-135428@2x

一、选择题

1.以下语句的输出结果是( )。

printf("%d,%d,%d", NULL, '\0', EOF);

A.0,0,1

B.0,0,-1

C. NULL, ,EOF

D. 1,0, EOF

答:B

解析:

NULL等于0 '\0’也是等于0 EOF等于-1

2.缓冲文件系统的文件缓冲区位于( )。

A.磁盘缓冲区中

B.磁盘文件中

C.内存数据区中

D.程序文件中

答:C

解析:

文件缓冲区是用以暂时存放读写期间的文件数据而在内存区预留的一定空间

3.定义 FILE *fp; 则文件指针 fp 指向的是( )。

A.文件在磁盘上的读写位置

B.文件在缓冲区上的读写位置

C.整个磁盘文件

D.文件类型结构

答:D

解析:

语句 FILE *fp; ,定义了一个 FILE 结构指针, FILE 是 C 语言为了具体实现对文件的操作而定义的一个包含文件操作相关信息的结构类型。

4.若以 “a+” 方式打开一个已存在的文件, 则以下叙述正确的是( )。

A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可执行添加和读操作

B. 文件打开时,原有文件内容不被删除,位置指针移到文件开头,可执行重写和读操作

C.文件打开时,原有文件内容被删除,只可执行写操作

D.以上各种说法都不正确

答:A

解析:

“a+” 的打开模式,打开文本文件进行读/写/追加。

5.以下可作为函数 fopen() 中第一个参数的正确格式是( )。

A. C: user\text. txt

B. c: \user\text. txt

C. “e:\user\ text. txt”

D. "c:\\user\\text.txt"

答:D

解析:

函数 fopen 的第一个参数是指要打开的文件名的字符串,所以选项 A、B 是错误的。文件路径分隔符 \ 必须使用转义字符,即 \\,所以选项 C 也是错误的。选项 D 是正确的。

二、填空题

1.文件的三大特征是( )、数据长度不定和数据按顺序存取。

答:数据长久保存

解析:

文件是保存在外在存储器上的一组数据的有序集合。文件的特点是数据长久保存,数据长度不定,数据按顺序存取。

2.根据数据存储的编码形式,C 语言中处理的数据文件通常为( )文件和( )文件两种。

答:

文本文件

二进制人间

解析:

在 C 语言中,按照存储的编码形式,数据文件可以分为文本文件和二进制文件两种。文本文件是以字符 ASCII 码值进行存储与编码的文件,其文件的内容就是字符。二进制文件是存储二进制数据的文件。

3.判断文件指针是否已经到了文件尾部的函数是( )。

答:feof()

解析:

feof() ,用于判断 fp 指针是否已经到文件末尾,即读文件是否读到了文件结束的位置。其调用格式为:feof(fp); 该函数成功返回 1 表示已经到了文件结束位置,0 表示文件未结束。

4.统计文本文件的字符数量。统计文本文件 “letter.txt” 中字符的个数。请填空。

#include int main() { FILE *fp; int count = 0; fp = fopen("letter.txt", _________); while (!feof(fp)) { _________; count++; } printf("count=%d\n", count); fclose(fp); return 0; }

答:

“r”

fgetc(fp)

解析:

第一个空,打开文件的模式,因为只是读取,所以填 “r” 就可以。

第二个空,就是逐个读取字符。

5.以下程序段实现的功能是( )。

char infile[10], outfile[10]; FILE *fpa, *fpb; gets(infile); gets(outfile); fpa = fopen(infile, "r"); fpb = fopen(outfile, "w"); while (!feof(fpa)) { fputc(fgetc(fpa), fpb); } fclose(fpa); fclose(fpb);

答:将文件名为键盘输入的infile表示的文件内容复制到文件名为键盘输入的outfile变量表示的文件中

解析:

这里只读模式打开了infile文件,只写模式打开了outfile,然后循环读取infile文件中的每个字符,写入到outfile文件中。

三、程序设计题

题目1:统计文本文件中各类字符个数:分别统计一个文本文件中字母,数字及其他字符的个数。试编写相应程序。

答案代码:

#include #include int main() { // 习题(12.3.1) /* 统计文本文件中各类字符个数:分别统计一个文本文件中字母,数字及其他字符的个数。 */ char ch; char *path = "data1.txt"; FILE *fp = fopen(path, "r"); if (!fp) { printf("file open error\n"); exit(0); } int letter = 0, digit = 0, other = 0; while ((ch = fgetc(fp)) != EOF) // EOF 表示到达末尾 { if ((ch >= 'a' && ch = 'A' && ch = '0' && ch


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3