2012年计算机二级VB文件练习题及答案
文 件
一、 单选题
1.关于顺序文件的描述,下面正确的是 ________。
A) 每条记录的长度必须相同
B) 可通过编程对文件中的某条记录方便地修改
C) 数据只能以ASCII码形式存放在文件中,所以可通过文本编辑软件显示
D) 文件的组织结构复杂
2.关于随机文件的描述,下面不正确的是 ________。
A) 每条记录的长度必须相同
B) 一个文件的记录号不必唯一
C) 可通过编程对文件中的记录方便地修改
D) 文件的组织结构比顺序文件复杂
3.按文件的组织方式,文件分为 ________。
A) 顺序文件和随机文件
B) ASCII文件和二进制文件
C) 程序文件和数据文件
D) 磁盘文件和打印文件
4.顺序文件是因为 ________。
A) 文件中按每条记录的记录号从小到大排序好的
B) 文件中按每条记录的长度从小到大排序好的
C) 文件中按记录的某关键数据项从小到大排序好的
D) 记录按进入的先后顺序存放的,读出也是按原写入的先后顺序读出
5.随机文件是因为 ________。
A) 文件中的内容是通过随机数产生的
B) 文件中的记录号是通过随机数产生的
C) 可对文件中的记录根据记录号随机地读写
D) 文件中的记录长度是随机的
6.文件号最大可取的值为 ________。
A) 255
B) 511
C) 512
D) 256
7. Print #1, STR$ 中的Print是 ________。
A) 文件的写语句
B) 在窗体上显示的方法
C) 子程序名
D) 文件的读语句
8. 为了建立一个随机文件,其中每条记录由多个不同数据类型的数据项组成,应使用 ________。
A) 记录类型
B) 数组
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
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 Append As #2
B) F = "c:t1.txt"
Open "F" For Output As #2
C) Open c:t1.txt For Output As #2
D) Open “c:t1.txt” For Output As #2
11. 以下能判断是否到达文件尾的函数是_______。
A)BOF
B)LOC
C)LOF
D)EOF
12. 在顺序文件中______。
A)每条记录的记录号按从小到大顺序
B)每条记录的长度按从小到大顺序
C)按记录的某个关键数据项的排序组织文件
D)记录按写入的先后顺序存放,并按写入的先后顺序读出
13. 假定在窗体(名称为Form1)的代码窗口中定义如下记录类型:
Private Type animal
animalName As String*20
aColor As String*10
End Type
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim rec As animal
Open "c:vbTest.dat" For Random As #1 Len=len(reC)
rec.animalName="Cat"
rec.aColor="White"
Put #1,,rec
Close #1
End Sub
则以下叙述中正确的是______。
A)记录类型animal不能在Form1中定义,必须在标准模块中定义
B)如果文件c:vbTest.dat不存在,则Open命令执行失败
C)由于Put命令中没有指明记录号,因此每次都把记录写到文件的末尾
D)语句“Put #1,,rec”将animal类型的两个数据元素写到文件中
14. 在随机文件中______。
A)记录号是通过随机数产生的
B)可以通过记录号随机读取记录
C)记录的内容是随机产生的
D)记录的长度是任意的
15. 在窗体上有一个文本框,代码窗口中有如下代码,则下述有关该段程序代码所实现的功能的错误的说法是______。
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)在文本框中输入的记录按回车键存入,然后文本框内容被清除
16. 执行语句Open"C:StuData.dat"For Input As #2后,系统______。
A)将C盘当前文件夹下名为StuData.dat的文件的内容读入内存
B)在C盘当前文件夹下建立名为StuData.dat的顺序文件
C)将内存数据存放在C盘当前文件夹下名为StuData.dat的文件中
D)将某个磁盘文件的内容写入C盘当前文件夹下名为StuData.dat的文件中
17. 如果在C盘当前文件夹下已存在名为StuData.dat的顺序文件,那么执行语句
“Open"C:StuData.dat"For Append As #1”之后将 ______。
A)删除文件中原有的内容
B)保留文件中原有的内容,可在文件尾添加新内容
C)保留文件中原有内容,在文件头开始添加新内容
D)以上均不对
18. 以下关于文件的叙述中,错误的是______。
A)使用Append方式打开文件时,文件指针被定位于文件尾
B)当以输入方式(Input)打开文件时,如果文件不存在,则建立一个新文件
C)顺序文件各记录的长度可以不同
D)随机文件打开后,既可以进行读操作,也可以进行写操作
19. 为了把一个记录型变量的内容写入文件中指定的位置,所使用的语句的格式为______。
A)Get文件号,记录号,变量名
B)Get文件号,变量名,记录号
C)Put文件号,变量名,记录号
D)Put文件号,记录号,变量名
20. 执行语句Open " Tel.dat" For Random As #1 Len = 50后,对文件Tel.dat中的数据能够执行的操作是
A)只能写,不能读
B)只能读,不能写
C)既可以读,也可以写
D)不能读,不能写
21. 以下程序的功能是:把当前目录下的顺序文件smtext1.txt的内容读入内存,并在文本框Text1中显示出来。括号内应填写______。
Private Sub Command1_Click()
Dim inData As String
Text1.Text = ""
Open ".smtext1.txt" ( ) As #1
Do While Not EOF(1)
Input #1, inData
Text1.Text = Text1.Text & inData
Loop
Close #1
End Sub
A)For Input
B)For Output
C)For Random
D)For Binary
22. 在用Open语句打开文件时,如果省略“For方式”,则打开的文件的存取方式是______。
A)顺序输入方式
B)顺序输出方式
C)随机存取方式
D)二进制方式
23. 在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,在文本框中输入以下字符串: Microsoft Visual Basic Programming
然后编写如下事件过程:
Private Sub Command1_Click()
Open "d:tempoutf.txt" For Output As #1
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
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 V BP
D)mvbp
24. 下面叙述中不正确的是______。
A)对顺序文件中的数据的操作只能按一定的顺序执行
B)顺序文件结构简单
C)能同时对顺序文件进行读写操作
D)顺序文件的数据是以字符(ASCII码)的形式存储的
25. 下面叙述中不正确的是______。
A)随机文件中记录的长度不是固定不变的
B)随机文件由若干条记录组成,并按记录号引用各个记录
C)可以按任意顺序访问随机文件中的数据
D)可以同时对打开的随机文件进行读写操作
26. 以下程序段实现的功能是______。
Option Explicit
Sub appeS_file1()
Dim StringA As String, X As Single
StringA="Appends a new number:"
X=-85
Open "d:S_file1.dat" For Append As #1
Print #1, StringA; X
Close
End Sub
A)建立文件并输入字段
B)打开文件并输出数据
C)打开顺序文件并追加记录
D)打开随机文件并写入记录
27. 设有语句
Open "C:Test.dat" For Output As #1
则以下错误的叙述是
A)该语句打开C盘根目录下一个已存在的文件Test.Dat
B)该语句在C盘根目录下建立一个名为Test.Dat的文件
C)该语句建立的文件的文件号为1
D)执行该语句后,就可能通过Print #语句向文件Test.Dat中写入信息
28. 以下叙述中正确的是______。
A)一个记录中所包含的各个元素的数据类型必须相同
B)随机文件中每个记录的长度是固定的
C)Open命令的作用是打开一个已经存在的文件
D)使用Input #语句可以从随机文件中读取数据
29. 下面叙述中不正确的是______。
A)若使用Write #语句将数据输出到文件,则各数据项之间自动插入逗号,并且将字符串加上双引号
B)若使用Print #语句将数据输出到文件,则各数据项之间没有逗号分隔,且字符串不加双引号
C)Write #语句和Print #语句建立的顺序文件格式完全一样
D)write #语句和Print #语句均实现向文件中写入数据
30. 在下面的4个叙述中,______是不正确的。
A)在一个程序执行END语句后,系统自动将所有打开的文件关闭
B)可以使用CLOSE语句关闭一个或几个指定的文件
C)使用不带语句体的CLOSE语句可关闭所有文件
D)执行完一个程序段的所有语句程序自动关闭文件
二、 填空题
1. 全局记录类型定义语句应出现在 【1】 。
2. 顺序文件的建立。建立文件名为" C:stud1.txt"的顺序文件,内容来自文本框,每按Enter键写入一条记录,然后清除文本框的内容,直到文本框内输入"END"字符串。
Private Sub Form_Load()
【2】
Text1.text = ""
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If 【3】 Then
Close #1
End
Else
【4】
Text1.text = ""
End If
End If
End Sub
3. 将C盘根目录下的一个文本文件old.txt复制到新文件new.txt中,并利用文件操作语句将old.txt文件从磁盘上删除。
Private Sub Command1_Click()
Dim str1$
Open "C:old.txt" 【5】 As #1
Open "C:new.txt" 【6】
Do While 【7】
【8】
Print #2 , str1
Loop
【9】
【10】
End Sub
4. 下面程序的功能是将文本文件合并。即将文本文件“t1.txt”合并到“t.txt”文件中,请将程序填写完整。
Private Command1_Click()
Dim s$
Open "t.txt" 【11】
Open "t1.txt" 【12】
Do While Not EOF(2)
Line Input #2 , s
Print #1 , s
Loop
Close #1, 2#
End Sub
5. 下面程序的功能是将文本文件“t.txt”的内容一个字符一个字符地读入文本框Text1中。请将程序填写完整。
Private Command1_Click()
Dim InputData as String * 1
Text1.Text = ""
Open "t.txt" For Input As #1
Do While Not EOF(1)
InputData = 【13】
Text1.Text = 【14】
Loop
Close #1
End Sub
6. 将任一整数插入递增次序的数组a中,使数组仍然有序。数组a各元素的值从C盘根目录、文件名为"data.txt"中读取,各数据项间以逗号分隔。请将程序填写完整。
Option Base 1
Private Form_Click()
Dim b%,a%(),k%,i%
i = 1
Open 【15】 For Input As #1
Do While Not EOF(1)
ReDim Preserve a(i)
Input 【16】
i = i + 1
Loop
b = Val(InputBox("输入待插入的数"))
ReDim Preserve a(i)
k = i
Do While 【17】
a(k) = a(k-1)
【18】
Loop
a(k) = b
Close #1
Print "插入后数组为:"
For k = 1 to i
Print a(K);
Next i
End Sub
7.从指定的任意一个驱动器中的任何一个文件夹下查找文件(不含汉字),并将选定的文件的完整路径显示在文本框Text1中,文件内容显示在文本框Text2中。
Private Sub Form_Load( )
File1.__ 【19】__="*.txt"
End Sub
Private Sub Dir1_Change( )
File1.Path=Dir1.Path
End Sub
Private Sub Dir1_Change( )
Dir1.Path=Drive1.Drive
End Sub
Private Sub File1_Click( )
If Right(File.Path,1)<>""Then
Text1.Text=File1.Path & File1.FileName
Else
Text1.Text=File1.Path & File1.FileName
__【20】__
Open Text1.Text For Input As #1
Text2.Text=Input(LOF(1),1)
Close
End Sub
8.Visual Basic提供的对数据文件的三种访问方式为随机访问方式、__【21】__和二进制访问方式。
9.在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Text1,然后编写如下事件过程:
Private Sub Command1_Click()
Dim inData As String
Text1.Text = ""
Open "d:myfile.txt" For 【22】 As #1
Do While 【23】
Input #1, inData
Text1.Text = Text1.Text + inData
Loop
Close #1
End Sub
程序的功能是,打开D盘根目录下的文本文件myfile.txt,读取它的全部内容并显示在文本框中。请填空。
10.在C盘当前文件夹下建立一个名为StuData.txt的顺序文件。要求用InputBox函数输入5名学生的学号(StuNo))姓名(StuName)和英语成绩(StrEng),并且写入文件的每个字段都以双引号隔开,试填写下面程序段的空白。
Private Sub Form_Click( )
_ _【24】 __
For i=1 To 5
StuNo=InputBox("请输入学号")
StuName=InputBox("请输入姓名")
SutEng=Val(InputBox("请输入英语成绩"))
__【25】__ #1,StuNo,StuName,StuEng
Next i
Close #1
End Sub
参考答案
一、单选题
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
C | B | A | D | C | B | A | A | A | D | D | D | D | B | C |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
A | B | B | D | C | A | C | D | C | A | C | A | B | C | D |
二、填空题
【1】 | 标准模块 | 【2】 | Open "C:stud1.txt" For Output As #1 |
【3】 | UCase(Text1.Text) = "END" | 【4】 | Print #1 , Text1.Text |
【5】 | For Input | 【6】 | For Output As #2 |
【7】 | Not EOF(1) | 【8】 | Line Input #1,str1 |
【9】 | Close #1,#2 | 【10】 | Kill "C:old.txt" |
【11】 | For Append As #1 | 【12】 | For Input As #2 |
【13】 | Input(1, #1) | 【14】 | InputData + Text1.Text |
【15】 | "C:data.txt" | 【16】 | #1, a(i) |
【17】 | k>1 And a(k-1)>b | 【18】 | k = k -1 |
【19】 | Pattern | 【20】 | end if |
【21】 | 顺序访问方式~顺序访问 | 【22】 | input |
【23】 | Not eof(1)或eof(1)=False 或 eof(1)<>True | 【24】 | Open "C:StuData.txt" For OutPut As #1 |
【25】 | Write | | |