首页 理论教育 《C语言程序设计实践教程》思考练习与测试:文件数据存储问题

《C语言程序设计实践教程》思考练习与测试:文件数据存储问题

时间:2023-11-01 理论教育 版权反馈
【摘要】:A.EOFB.-1C.非零值D.0在C语言程序中,可把整型数以二进制形式存放到文件中的函数是____。A.fprintf函数B.fread函数C.fwrite函数D.fputc函数有以下程序程序运行后,文件name.dat中的内容是____。

《C语言程序设计实践教程》思考练习与测试:文件数据存储问题

一、思考题

1.简答题

(1)什么是文件指针?通过文件指针访问文件有什么好处?

(2)文件的打开与关闭的含义是什么?有什么意义?

(3)fopen()函数的mode取值w和a时都可以写入数据,它们之间的差别是什么?

(4)函数rewind()的作用是什么?

2.程序填空题

(1)下面程序用变量count统计文件中字符的个数,请填空。

(2)下面程序从一个二进制文件中读入结构体数据,并把结构体数据显示在屏幕上,请填空。

二、练习题

1.选择题

(1)标准函数 fgets(s, n, f) 的功能是____。

A.从文件f中读取长度为n的字符串存入指针s所指的内存

B.从文件f中读取长度不超过n-1的字符串存入指针s所指的内存

C.从文件f中读取n个字符串存入指针s所指的内存

D.从文件f中读取长度为n-1的字符串存入指针s所指的内存

(2)函数调用语句:fseek(fp, -20L, 2);的含义是____。

A.将文件位置指针移到距离文件头20个字节处

B.将文件位置指针从当前位置向后移动20个字节

C.将文件位置指针从文件末尾处后退20个字节

D.将文件位置指针移到离当前位置20个字节处

(3)若fp是指向某文件的文件指针,且已读到文件尾,则函数feof(fp)的返回值是____。

A.EOF B.-1

C.非零值 D.0

(4)在C语言程序中,可把整型数以二进制形式存放到文件中的函数是____。

A.fprintf函数 B.fread函数

C.fwrite函数 D.fputc函数

(5)有以下程序

程序运行后,文件name.dat中的内容是____。

A.Bianca B.david

C.biancadavid D.davida

2.程序改错题

(1)以下程序试图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错,请改正。

(2)以下函数fun()试图在fname指定的文件后追加字符串st,但程序有错,请改正。

执行以上程序后,文件test.t中的内容应是:

3.填空题

(1)下面程序把读入的10个浮点数以二进制方式写到名为bi.dat的新文件中,请填空.

(2)以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,再输出到文件test.txt中,然后从该文件读出字符串并显示出来。请填空。

4.编程题

(1)编写一个文本文件复制程序,提示用户输入源文件名和目标文件名。在向目标文件写入时,要求将源文件中所有的字母转化成大写。

(2)编写一个程序,打开一个文本文件,让用户输入一个文件位置m和一个数字n,程序从文件的位置m开始读n个字符显示在屏幕上。

(3)编写一个合并文本文件的程序,该程序将一个或多个文本文件合并成一个文件,文件名可用命令行参数获得。

(4)编制程序建立一个顺序文本文件wb.txt,其中存放甲A联赛两个球队a,b的n场比赛的进球数,每条记录有两个数据项,分别是a,b球队的进球数。然后,从该文件中读入数据,判断两队最后的输、赢或平局情况。规定:每场胜者记3分,平局各记1分,输者记0分,总分高为赢。

三、测试题

1.选择题

(1)下列关于C语言数据文件的叙述中正确的是( ).(www.xing528.com)

A.文件由ASCII码字符序列组成,C语言只能读写文本文件

B.文件由二进制数据序列组成,C语言只能读写二进制文件

C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件

D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

(2)以下叙述错误的是( )。

A.二进制文件的访问速度通常比文本文件快

B.随机文件以二进制形式存储数据

C.语句FILE fp; 定义了一个名为fp的文件指针

D.文本文件通常于存储也便于人的阅读

(3)系统的标准输入指的是( )。

A.键盘 B.显示器

C.硬盘 D.光驱

(4)若要用fopen打开一个新的二进制文件,该文件既要能读也要能写,则文件的打开模式应为( )。

A.“ab+” B.“wb+”

C.“rb+” D.“ab”

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

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

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

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

D.以下各种说法皆不正确

(6)fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )。

A.只写 B.追加

C.读或读写 D.答案B和C都正确

(7)fwrite函数的一般调用形式是( )。

A.fwrite(buffer, count, size, fp) B.fwrite(fp, size, count, buffer)

C.fwrite(fp, count, size, buffer) D.fwrite(buffer, size, count, fp)

(8)ftell函数的作用是( )。

A.得到流式文件中的当前位置

B.移动流式文件的位置指针

C.初始化移动流式文件的位置指针

D.以上答案均正确

(9)已知函数的调用形式:fread(buf, size, count, fp),参数buf的含义是( )。

A.一个整型变量,代表要读入的数据项总数

B.一个文件指针,指向要读的文件

C.一个指针,指向要读入数据的存放地址

D.一个存储区,存放要读的数据项

(10)阅读下面程序,此程序的功能为( )。

A.实现将p1打开的文件中的内容复制到p2打开的文件

B.实现将p2打开的文件中的内容复制到p1打开的文件

C.实现将p1打开的文件中的内容追加到p2打开的文件内容之后

D.实现将p2打开的文件中的内容追加到p1打开的文件内容之后

2.编程题

(1)设文件number.dat中存放了一组整数,请编写程序统计并输出文件中正整数、0和负整数的个数。

(2)从键盘输入4个学生的有关数据,然后把它们转存到磁盘文件中去。

(3)将上题中生成的文件stulist.dat中的数据输出到屏幕。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈