内容正文:
《Visual Basic程序设计(第6版)》电子工业出版社
项目十一 文件
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共20小题,每题3分,共60分)
1. 在Visual Basic中按文件的访问方式不同,可以将文件分为( )。
A.顺序文件、随机文件和二进制文件
B.文本文件和数据文件
C.数据文件和可执行文件
D.ASCII文件和二进制文件
【答案】 A
【解析】VB 中按访问方式划分,文件分为顺序文件、随机文件和二进制文件。
2. 以下面( )那种方式打开的文件,只能读不能写。
A.Input
B.Output
C.Random
D.Append
【答案】A
【解析】Input:只能读取文件内容,文件必须存在。
3.下列关于顺序文件的描述,错误的是( )。
A.顺序文件一般用顺序方式进行读写
B.顺序文件不能用二进制方式进行读写
C.顺序文件可以用字符型变量进行读写
D.顺序文件可以用数字型变量进行读写
【答案】B
【解析】在 VB 中,顺序文件可以用二进制方式打开和读写。
4.读写随机文件,应在Open语句中使用( )模式。
A.Binary
B.Input
C.Output
D.Random
【答案】D
【解析】在 VB 中,随机文件(Random Access File) 的特点是每条记录长度固定,可以按记录号随机读写。Open 语句中必须明确指定 Random 模式。
5.二进制文件的读写最小单元为( )。
A.记录
B.字段
C.字符
D.字节
【答案】D
【解析】二进制文件(Binary file)在 VB 中以 字节(Byte) 为最小读写单位,使用 Get / Put 语句时可以精确到单个字节。
6、下列关于随机文件的描述,正确的是( )。
A.每条记录的长度不一定相同
B.可以通过编程对文件中的某条记录进行修改
C.随机文件中的记录不一定有记录号
D.随机文件的组织结构比顺序文件简单
【答案】B
【解析】随机文件的最大优势就是可以直接定位到任意记录号进行读写修改,无需重写整个文件。
7、以( )模式打开顺序文件,可以在写文件时保留文件中原有的内容。
A.Random
B.Binary
C.Output
D.Append
【答案】D
【解析】Output 模式会覆盖原有内容;Append 模式会在文件末尾追加,保留原有内容;Random 和 Binary 不属于顺序文件的打开方式。
8、设置文件列表框的( )属性为“c:\”,可以使其显示“c:\”下的所有文件 。
A.File
B.Path
C.Pattern
D.FilePath
【答案】B
【解析】在 VB 的文件列表框(FileListBox)中,设置 Path 属性为 "c:\" 即可让控件列出该目录下的文件。
9、在Visual Basic中,用Open语句打开文件时,如果省略“For方式”,则该文件的存取方式是( )
A.顺序存取方式
B.随机存取方式
C.二进制存取方式
D.不确定
【答案】B
【解析】VB 的Open语句用于打开文件,For子句指定文件的存取方式,若省略 “For 方式”,则默认采用随机存取方式(Random)。
10、使用Open语句可以打开或建立文件,并同时指定文件的输入输出方式。下列输入输出方式中错误的是( )。
A. Random
B. Output
C. Sequential
D. Append
【答案】C
【解析】Output:指定顺序输出方式。Input: 指定顺序输入方式。Append: 指定顺序输出方式。
11、执行语句Open ""Data.dat"" For Random As #1 Len=50"",对文件Data.dat中的数据能够执行的操作是( )。
A.只能写,不能读
B.只能读,不能写
C.不能写,不能读
D.既能读,也能写
【答案】D
【解析】随机模式(Random)既能读(Get)也能写(Put),不会破坏原有内容,也不需要先指定 Input 或 Output。
12、设有语句Open ""Datafile.txt"" For Output As #1,以下叙述错误的是( )。
A.该语句以文件号1打开文件
B.该语句可以在当前目录下创建一个名为Datafile.txt的文件
C.执行该语句后可以向文件Datafile.txt中写入信息
D.如果当前目录下文件Datafile.txt不存在,系统显示出错信息
【答案】 D
【解析】文件不存在不会报错,而是自动创建;只有对 Input 模式,文件不存在才会报错。
13、文件列表框中用于设置或返回所选文件名称的属性是( )。
A.File
B.FilePath
C.Path
D.FileName
【答案】D
【解析】FileName 只给出被选中的文件名(不含路径);FilePath 给出完整路径+文件名;Path 只给出当前目录路径。
14、下列说法错误的是( )。
A.当用Write # 语句写顺序文件时,文件必须以Output或Append方式打开
B.用Open语句打开一个文件时,对同一个文件可以用几个不同的文件号打开
C.用Output和Append方式打开文件时,不用将文件关闭,就能重新打开文件
D.用Append方式打开文件时,进行写操作,写入文件的数据附加到原来文件的后面
【答案】B
【解析】文件一旦被打开,必须先关闭(Close #)才能再次用任何方式重新打开,否则会报错“文件已打开”。
15、随机文件的 “随机” 是指( )
A.文件内容由随机数生成
B.可按记录号随机读写任意记录
C.记录号由随机数生成
D.记录长度随机变化
【答案】B
【解析】随机文件的 “随机” 指可按记录号直接定位并读写任意记录,与随机数无关。
16、关于文件号的使用规则,下列说法正确的是( )
A.一个文件号只能打开一个文件,关闭后不可复用
B.同一时刻一个文件号可对应多个文件
C.不同文件号可同时打开同一个文件
D.文件号的取值范围是 0~255
【答案】C
【解析】同一时刻一个文件号只能对应一个文件。
17、下列语句中,能正确关闭文件号 #1 和 #2 的是( )
A. Close #1, #2
B. Close 1 and 2
C. Close #1; #2
D. Close 1, 2
【答案】A
【解析】Close 语句可同时关闭多个文件号,格式为Close #文件号1, #文件号2;无参数的 Close 可关闭所有文件。
18、关于随机文件的Get语句,错误的描述是( )
A. Get语句可读取指定记录号的记录到变量中
B. 若指定的记录号不存在,Get语句会触发运行时错误
C. Get语句的记录号参数可选,默认读取下一条记录
D. Get语句读取的记录需与定义的记录类型匹配
【答案】B
【解析】若指定的记录号不存在,Get语句不会报错,仅会将记录变量的字段赋值为默认值。
19、在下面选项中,不能完成对顺序文件的读操作的是( )
A.LineInput#语句
B.Input#语句
C.Input()函数
D.Get#语句
【答案】D
【解析】Get语句仅用于随机文件或二进制文件,不能用于顺序文件的读取操作。
20、为了建立一个随机文件,其中每一条记录有多个不同数据类型的数据项组成,应使用( )
A.自定义类型
B.数组
C.字符串类型
D.变体类型
【答案】A
【解析】随机文件要求每条记录是固定长度的,且通常由多个不同数据类型的字段组成。
2、 填空题(本题共10小题,每题2分,共20分)
1. 在顺序文件中,文件中数据是以_________存储的。
【答案】 ASCII码
【解析】 顺序文件的本质是文本文件,其数据以ASCII 码为编码格式存储。
2、________函数判断一个表示文件指针是否到了文件结束。
【答案】EOF()
【解析】 EOF(文件号) 是 VB 中判断文件指针是否到达文件末尾的核心函数 。
3、在Visual Basic中按文件的数据编码方式对文件分类,或将文件分为________文件和________文件。
【答案】ASCII ;二进制
【解析】按数据编码方式划分是 VB 文件分类的重要维度,核心分为两类:ASCII 文件和二进制文件。
4、随机文件中,文件长度记录是________的,数据类型可以不同 。
【答案】 固定不变
【解析】 随机文件的核心特征是 “按记录读写”,必须为每条记录定义固定的字节长度。
5、 ________文件的读写必须按从头到尾的顺序进行,无法直接定位到任意位置。
【答案】顺序
【解析】顺序文件的本质是 “顺序读写”,区别于随机文件的 “按记录号随机访问”。
6、要向文件中追加内容而不覆盖原有数据,Open 语句应使用__________模式。
【答案】Append
【解析】Append:文件存在则在末尾追加内容,不存在则创建新文件。
7、 判断指定路径下文件是否存在的函数是_______。
【答案】Dir()
【解析】Dir():返回文件名称,空字符串表示文件不存在。
8、关闭文件的语句是_________。
【答案】Close #文件号
【解析】文件操作完成后必须执行Close,否则会导致文件被占用、数据写入失败。
9、读取顺序文件整行内容的语句是_________。
【答案】Line Input #文件号,变量名
【解析】Line Input # 是防 “超出文件尾” 的核心读取语句。
10、随机文件读取指定记录的语句是_________,其中第二个参数为记录号。
【答案】Get #文件号,记录号,记录变量
【解析】 随机文件通过 “记录号” 读写,Get # 读取、Put # 写入,区别于顺序文件的 “顺序读写”。
3、 程序填空题(本题共2小题,每题10分,共20分)
1、 下列VB程序实现的功能是:向D盘下的student.txt文件中追加写入3 个学生的姓名和成绩(顺序文件),请补充完整代码。
Private Sub Command1_Click()
Dim name As String, score As Integer
Dim i As Integer
Open "D:\student.txt" For Append As #1
For i = 1 To 3
name = InputBox("请输入姓名")
score = Val(InputBox("请输入成绩"))
____(1)____
Next i
____(2)____
MsgBox "写入完成"
End Sub
【答案】
(1) Print #1, name, score
(2)Close #1
【解析】 For Append:追加模式(区别于For Output覆盖模式);Print #文件号, 数据:顺序文件写入的核心语句;文件操作必须 “打开→读写→关闭” 三步。
2、 下列VB程序实现的功能是:读取student.txt中的关于学生姓名和成绩相关的所有内容,显示在窗体上,请补充完整代码。
Private Sub Command1_Click()
Dim lineStr As String, dataArr() As String
Open "D:\student.txt" For Input As #1
Do While ____(1)____
Line Input #1, ____(2)____
lineStr = Trim(lineStr)
If lineStr = "" Then GoTo NextLine
dataArr = Split(lineStr, " ")
If UBound(dataArr) >= 1 Then
Print "姓名:" & dataArr(0) & ",成绩:" & dataArr(1)
End If
NextLine:
Loop
Close #1
End Sub
【答案】
(1) Not EOF(1)
(2) lineStr
【解析】 Not EOF(1)核心作用:判断文件指针是否未到文件末尾.lineStr的作用:将文件中当前行的完整内容读取到 lineStr 变量中。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
《Visual Basic程序设计(第6版)》电子工业出版社
项目十一 文件
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共20小题,每题3分,共60分)
1. 在Visual Basic中按文件的访问方式不同,可以将文件分为( )。
A.顺序文件、随机文件和二进制文件
B.文本文件和数据文件
C.数据文件和可执行文件
D.ASCII文件和二进制文件
2. 以下面( )那种方式打开的文件,只能读不能写。
A.Input
B.Output
C.Random
D.Append
3.下列关于顺序文件的描述,错误的是( )。
A.顺序文件一般用顺序方式进行读写
B.顺序文件不能用二进制方式进行读写
C.顺序文件可以用字符型变量进行读写
D.顺序文件可以用数字型变量进行读写
4.读写随机文件,应在Open语句中使用( )模式。
A.Binary
B.Input
C.Output
D.Random
5.二进制文件的读写最小单元为( )。
A.记录
B.字段
C.字符
D.字节
6、下列关于随机文件的描述,正确的是( )。
A.每条记录的长度不一定相同
B.可以通过编程对文件中的某条记录进行修改
C.随机文件中的记录不一定有记录号
D.随机文件的组织结构比顺序文件简单
7、以( )模式打开顺序文件,可以在写文件时保留文件中原有的内容。
A.Random
B.Binary
C.Output
D.Append
8、设置文件列表框的( )属性为“c:\”,可以使其显示“c:\”下的所有文件 。
A.File
B.Path
C.Pattern
D.FilePath
9、在Visual Basic中,用Open语句打开文件时,如果省略“For方式”,则该文件的存取方式是( )
A.顺序存取方式
B.随机存取方式
C.二进制存取方式
D.不确定
10、使用Open语句可以打开或建立文件,并同时指定文件的输入输出方式。下列输入输出方式中错误的是( )。
A. Random
B. Output
C. Sequential
D. Append
11、执行语句Open ""Data.dat"" For Random As #1 Len=50"",对文件Data.dat中的数据能够执行的操作是( )。
A.只能写,不能读
B.只能读,不能写
C.不能写,不能读
D.既能读,也能写
12、设有语句Open ""Datafile.txt"" For Output As #1,以下叙述错误的是( )。
A.该语句以文件号1打开文件
B.该语句可以在当前目录下创建一个名为Datafile.txt的文件
C.执行该语句后可以向文件Datafile.txt中写入信息
D.如果当前目录下文件Datafile.txt不存在,系统显示出错信息
13、文件列表框中用于设置或返回所选文件名称的属性是( )。
A.File
B.FilePath
C.Path
D.FileName
14、下列说法错误的是( )。
A.当用Write # 语句写顺序文件时,文件必须以Output或Append方式打开
B.用Open语句打开一个文件时,对同一个文件可以用几个不同的文件号打开
C.用Output和Append方式打开文件时,不用将文件关闭,就能重新打开文件
D.用Append方式打开文件时,进行写操作,写入文件的数据附加到原来文件的后面
15、随机文件的 “随机” 是指( )
A.文件内容由随机数生成
B.可按记录号随机读写任意记录
C.记录号由随机数生成
D.记录长度随机变化
16、关于文件号的使用规则,下列说法正确的是( )
A.一个文件号只能打开一个文件,关闭后不可复用
B.同一时刻一个文件号可对应多个文件
C.不同文件号可同时打开同一个文件
D.文件号的取值范围是 0~255
17、下列语句中,能正确关闭文件号 #1 和 #2 的是( )
A. Close #1, #2
B. Close 1 and 2
C. Close #1; #2
D. Close 1, 2
18、关于随机文件的Get语句,错误的描述是( )
A. Get语句可读取指定记录号的记录到变量中
B. 若指定的记录号不存在,Get语句会触发运行时错误
C. Get语句的记录号参数可选,默认读取下一条记录
D. Get语句读取的记录需与定义的记录类型匹配
19、在下面选项中,不能完成对顺序文件的读操作的是( )
A.LineInput#语句
B.Input#语句
C.Input()函数
D.Get#语句
20、为了建立一个随机文件,其中每一条记录有多个不同数据类型的数据项组成,应使用( )
A.自定义类型
B.数组
C.字符串类型
D.变体类型
2、 填空题(本题共10小题,每题2分,共20分)
1. 在顺序文件中,文件中数据是以_________存储的。
2、________函数判断一个表示文件指针是否到了文件结束。
3、在Visual Basic中按文件的数据编码方式对文件分类,或将文件分为________文件和________文件。
4、随机文件中,文件长度记录是________的,数据类型可以不同 。
5、 ________文件的读写必须按从头到尾的顺序进行,无法直接定位到任意位置。
6、要向文件中追加内容而不覆盖原有数据,Open 语句应使用__________模式。
7、 判断指定路径下文件是否存在的函数是_______。
8、关闭文件的语句是_________。
9、读取顺序文件整行内容的语句是_________。
10、随机文件读取指定记录的语句是_________,其中第二个参数为记录号。
3、 程序填空题(本题共2小题,每题10分,共20分)
1、 下列VB程序实现的功能是:向D盘下的student.txt文件中追加写入3 个学生的姓名和成绩(顺序文件),请补充完整代码。
Private Sub Command1_Click()
Dim name As String, score As Integer
Dim i As Integer
Open "D:\student.txt" For Append As #1
For i = 1 To 3
name = InputBox("请输入姓名")
score = Val(InputBox("请输入成绩"))
____(1)____
Next i
____(2)____
MsgBox "写入完成"
End Sub
2、 下列VB程序实现的功能是:读取student.txt中的关于学生姓名和成绩相关的所有内容,显示在窗体上,请补充完整代码。
Private Sub Command1_Click()
Dim lineStr As String, dataArr() As String
Open "D:\student.txt" For Input As #1
Do While ____(1)____
Line Input #1, ____(2)____
lineStr = Trim(lineStr)
If lineStr = "" Then GoTo NextLine
dataArr = Split(lineStr, " ")
If UBound(dataArr) >= 1 Then
Print "姓名:" & dataArr(0) & ",成绩:" & dataArr(1)
End If
NextLine:
Loop
Close #1
End Sub
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$