文档库 最新最全的文档下载
当前位置:文档库 › new第七部分 文件操作

new第七部分 文件操作

new第七部分 文件操作
new第七部分 文件操作

第七部分文件操作

选择:

1.关于顺序文件的描述,下面正确的是________。

A) 每条记录的长度必须相同(随机文件)

B) 可通过编程对文件中的某条记录方便地修改(不可以方便修改,方便修改是随机型访问文件)

C) 数据只能以ASCII码形式存放在文件中,所以可通过文本编辑软件显示

D) 文件的组织结构复杂(文件组织结构简单)

见课本272页,在VB中,可以访问3种类型文件,即顺序文件、随机文件、二进制文件。顺序文件适用于读写在连续块中的文本文件,它是一种普通的文本类型文件,其结构比较简单,记录的逻辑顺序与存储顺序相一致,对文件的读写操作只能按记录的顺序进行。由于它的存储方式是按写入顺序存储,即一个数据接着一个数据顺序地排列,先“写入”的数据放在最前面,也将最早被“读出”。打开文件后只提供第一个记录的存储位置。要查找一个数据时,必须从第一条记录一条条读取,直到找到被查的记录为止。因此,顺序文件无法灵活地存取数据,查找和修改数据非常不便,它只适用于有规律、不经常修改的数据。它的优点是所占空间少,容易使用。

随机文件:适用于读写有固定长度记录结构的文本文件或者二进制文件;随机型访问文件中的一行数据称为一条记录,每个启示包含一个或多个字段。具有一个字段的记录对应于任一标准类型。随机文件对文件的读写顺序没有限制,可以随意读写某一条记录。因此记录要求记录的长度是固定的。

二进制文件:适用于读写任意有结构的文件。二制模式访问文件是以字节为单位的,而随机文件是以记录为一个单位。二进制允许用户读写文件的任何字节。二进制文件指的是二进制存取访问方式,不管是文本文件还是可执行文件,只要是以二进制访问方式打开,就可以认为它是二进制文件。在二进制文件中,可以把文件指针移到文件的任何地方。二进制文件刚刚被打开时,文件指针指向第一个字节,以后将随着程序中文件操作命令的执行而移动。2.以下能判断是否到达文件尾的函数是_______。

A)BOF B)LOC C)LOF D)EOF

见课本288页:EOF()测试指针是否到了文件尾;BOF()为数据库中测试是否为文件函数;LOC()返回由“文件号”指定的文件的当前读写的位置。LOF()读文件时该函数返回某个文件的大小(字节数),如果其值为0,表示被测试的文件是一个空文件。

3.按文件的访问方式,文件分为________。

A) 顺序文件、随机文件和二进制文件B) ASCII文件和二进制文件

C) 程序文件、随机文件和数据文件D) 磁盘文件和打印文件

具体解释见第一题

4.顺序文件之所以称之为顺序文件是因为________。

A) 文件中按每条记录的记录号从小到大排序好的

B) 文件中按每条记录的长度从小到大排序好的

C) 文件中按记录的某关键数据项从小到大排序好的

D) 记录按进入的先后顺序存放的,读出也是按原写入的先后顺序读出

具体解释见第一题

5.在窗体上有一个文本框,代码窗口中有如下代码,则下述有关该段程序代码所实现的功能的说法,正确的是______。

Private Sub form_load()

Open "C:\data.txt" For Output As #3

Text1.Text = ""

End Sub

Private Sub text1_keypress(keyAscii As Integer)

If keyAscii = 13 Then

If UCase(Text1.Text) = "END" Then

Close #3

End

Else

Write #3, Text1.Text

Text1.Text = ""

End If

End If

End Sub

A)在C盘当前目录下建立一个文件

B)打开文件并输入文件的记录

C)打开顺序文件并从文本框中读取文件的记录,若输入End则结束读操作

D)在文本框中输入的内容按回车键存入,然后文本框内容被清除

6.文件号最大可取的值为________。

A) 255 B) 511 C ) 512 D) 256

见课本273页,这里主要考查的是顺序文件的打开,其基本格式为:

Open 文件名For Input | Output| Append AS[#] 文件名[Len=记录长度]

这里文件号#用来标识打开文件的数字号,它的取值范围是1~511之间的整数。打开文件后,通过记录号对文件进行操作,一个文件号只能给一个文件标识,除非关闭了该文件,此文件号才能被其他打开的文件使用。

7. Print #1, STR$ 中的Print 是________。

A) 文件的写语句B) 在窗体上显示的方法

C) 子程序名D) 文件的读语句

见课本274页,顺序文件的写操作

8. 以下关于文件的叙述中,错误的是______。

A)使用Append方式打开文件时,文件指针被定位于文件尾

B)当以输入方式(Input)打开文件时,如果文件不存在,则建立一个新文件(此时为出错信息,为output时,如果不存在,才会建立一个新文件)

C)顺序文件各记录的长度可以不同

D)随机文件打开后,既可以进行读操作,也可以进行写操作

9. 要从磁盘上读入一个文件名为“c:\t1.txt”的顺序文件,下列________是正确的语句。

A) F = “c:\t1.txt”

Open F For Input As #2

B) F = “c:\t1.txt”

Open“F” For Input As #2 已把文件名赋值给了变量F,因此不能加引号

C) Open c:\t1.txt For Input As #2 文件路径加引号

D) Open “c:\t1.txt” For Output As #2 读文件不是写

10.要从磁盘上新建一个文件名为“c:\t1.txt”的顺序文件,下列________是正确的语句。

A) F = “c:\t1.txt”

Open F For Input As #2 应为output

B) F = “c:\t1.txt”

Open “F” For Output As #2 理由如第9题

C) Open c:\t1.txt For Output As #2 理由如第9题

D) Open “c:\t1.txt” For Output As #2

11. 如果在C盘当前文件夹下已存在名为StuData.dat的顺序文件,那么执行语句“Open"C:StuData.dat"For Append As #1”之后将______。

A)删除文件中原有的内容

B)保留文件中原有的内容,可在文件尾添加新内容

C)保留文件中原有内容,在文件头开始添加新内容

D)以上均不对

见课本273页,Append解释

Open 文件名For Input | Output| Append AS[#] 文件名[Len=记录长度]

其中input output append 三者只能选其一;

Input进行读操作,将磁盘上的文件存入内存,此时open后的文件名必须存在,文件指针指向第一条记录,如果文件名未找到,会产生错误信息;

Output,对文件写进行写操作,即将内存中的数据以open后的文件名存入磁盘。

Append向打开的文件的尾部添加数据,即将数据追加到文件末尾。

12.以下关于文件的叙述中,错误的是______。

A)使用Append方式打开文件时,文件指针被定位于文件尾

B)当以输入方式(Input)打开文件时,如果文件不存在,则建立一个新文件

C)顺序文件各记录的长度可以不同

D)随机文件打开后,既可以进行读操作,也可以进行写操作

具体解释见11、8题

13. 以下程序段实现的功能是______。

Option Explicit

Sub appeS_file1()

Dim StringA As String, X As Single

String A="Appends a new number:"

X=-85

Open "d:\S_file1.dat" For Append As #1 ‘打开文件并在尾部追加记录

Print #1, StringA; X ‘把StringA X的值打印到文件尾部,同一行打印

Close

End Sub

A)建立文件并输入字段B)打开文件并输出数据

C)打开顺序文件并追加记录D)打开随机文件并写入记录

14. 在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,在文本框中输入以下字符串: Microsoft Visual Basic Programming

然后编写如下事件过程:

Private Sub Command1_Click()

Open "d:\temp\outf.txt" For Output As #1 ‘打开文件如果文件不存在则创建一个新文件

For i = 1 To Len(Text1.Text) ‘len()为获取字符串长度函数,获取text1中字符串的长度

c = Mid(Text1.Text, i, 1) ‘Mid()函数为截取字符串函数,这是从text1.text第I 位置

截取一个字符

If c >= "A" And c <= "Z" Then

Print #1, LCase(C)‘将转换成小写的字符写入到打开的文件中,因为无分号,所以

为换行打印

End If

Next i

Close

End Sub

程序运行后,单击命令按狃,文件outf.txt中的内容是______。

A)MVBP B)mvbp

C)M D)m

V v

B b

P p

15. 下面的程序运行后,将产生______的结果。6

Private Sub Form_load()

Dim Str As String, Anum As Integer

Open "D:\Myfile.dat" For Output As #1 ‘写文件

str1 = "ABCDEFG"

str2 = 12345

Print #1, Str, Anum ‘无分号和逗号,换行

Write #1, Str, Anum

Close #1

End Sub

A.建立一个"D:\Myfile.dat"的文本文件

B.建立一个"D:\Myfile.dat"的文本文件,并写入一行数据,还在窗体上显示一行数据

C.建立一个"D:\Myfile.dat"的文本文件,并写入两行数据√

D.打开一个"D:\Myfile.dat"的文本文件,并读出两行数据

16.下列程序运行后,其结果为______。5

Private Sub Form_Click ( )

Filename=“c:\testfile.txt”

Open filename For Output As #1 ‘写文件

Print #1,“ABCD我是一个学生”

Close #1

Open filename For Input As #1

MsgBox Input(8,1)

Close #1

End Sub

A.在通用对话框中显示“ABCD我是一个”

B.在通用对话框中显示“ABCD我是”

C.在窗体中显示“ABCD我是一个”

D.在窗体中显示“ABCD我是”

这个题目在群里讲过了

答案:

填空:

编程统计D:\data.txt中字符“$”出现的次数。并将统计结果写入到文本文件D:\ res.txt中。Private Sub Form_Click()

Dim Inputdata As String, Count As Integer

Open "D:\data.txt" For 1 As #1

Do While 2

Inputdata = Input(1, #1)

3

Count = Count + 1

End if

Loop

Close #1

Open "D:\res.txt" For 4 As #1

5

Close #1

End Sub

答案:

1.Input

2.Not EOF(1)

3.If Inputdata = “$”then

4.Output

5.Print #1,Count

相关文档