浙江省2014年4月高等教育自学考试
Visual Basic程序设计试题
课程代码:07759
一、单项选择题(本大题共10小题,每小题2分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。
1.以下不属于Visual Basic系统的文件类型是
A. frm B. bat
C. bas D. vbp
2.以下能在窗体Form1的标题栏中显示“Visual Basic窗体”的语句是
A.Form1.Name=“Visual Basic窗体” B.Form1.Title=“Visual Basic窗体”
C.Form1.Caption=“Visual Basic窗体” D.Form1.Text=“Visual Basic窗体”
3.如果要在菜单中添加一个分隔线,则应将其Caption属性设置为
A.= B.*
C.& D.–
4.以下能判断是否到达文件尾的函数是
A.BOF B.LOC
C.LOF D.EOF
5.要使定时器控件可以使用,需设置的属性是
A. Interval B. Enabled
C. Value D. Text
6.下面有关数组处理的叙述中,不正确的是
①控件数组可由多个控件组成,这些控件具有相同的名字
②控件数组中的元素可以是不同类型的控件
③用ReDim语句重新定义动态数组时,不得改变该数组的数据类型
④可用Public语句在窗体模块的通用说明处定义一个全局数组变量
A.①②③④ B.②④
C.①②③ D.①③④
7.VB中利用Circle方法不可以画
A.圆 B.直线
C.弧 D.椭圆
8.以下关于子过程或函数的定义中,正确的是
A. Sub f1(n As String*1) B. Sub f1(n As Integer)As Integer
C. Function f1(f1 As Integer)As Integer D. Function f1(ByVal n As Integer)
9.在用通用对话框的ShowOpen显示“打开”文件对话框时,若要指定其中的文件类型为文本文件,正确的描述格式是
A.“text(.txt)|(*.txt)” B.“文本文件(.txt)|(.txt)”
C.“text(.txt)||(*.txt)” D.“text(.txt)(*.txt)”
10.下面程序的内层循环次数是
For i=1 TO 3
For j=1 TO i
For k=j TO 3
...
Next k
Next j
Next i
A.3 B.14
C.9 D.21
二、判断题(本大题共10小题,每小题1分,共10分)
判断下列各题,在答题纸相应位置正确的涂“A”,错误的涂“B”。
11.在Visual Basic中,只能在属性窗口中设置一个对象的属性值。
12.在过程中不能定义全局变量。
13.注释语句一定要放在程序段的开头或语句行的最后。
14.列表框的ListIndex属性值为1,表示列表框的第一个列表项被选中。
15.Dim D(9) as integer定义一个由9个元素组成的一维整型数组D。
16.Visual Basic默认的坐标系统,其坐标原点(0,0)在容器的左上角。
17.过程的定义不能嵌套,但过程的调用可以嵌套。
18.窗体的Cls方法将清除运行时所产生的文本和图形,而设计时设置的背景位图不受其影响。
19.当用Print #语句向文件写入数据时,各字段数据在磁盘上以紧凑格式存入,能自动在数据项之间插入逗号,并将字符串加上双引号。
20.Option Base语句只能在模块级中使用,而不能在过程中使用。
三、程序填空题(本大题共3小题,每空2分,共22分)
阅读下列各程序,根据程序说明在每小题提供的若干可选答案中挑选一个正确答案,用字母A、B、C或D填写在答题纸相应位置上。
(一)【程序说明】把当前目录下的顺序文件smtext1.txt的内容读入内存,并在文本框 Text1 中显示出来。
【程序】
Private Sub Command1_Click()
Dim inData As String
Text1.Text = " "
Open ".\smtext1.txt"
(21) As #1
Do While
(22)
(23)
Text1.Text =
(24)
Loop
Close #1
End Sub
【供选择的答案】
21.A. For Input B. For Output
C. For Append D. For Read
22.A. Not BOF(0) B. Not EOF(0)
C. Not BOF(1) D. Not EOF(1)
23.A. Print #1, inData B. Write #1, inData
C. Input #1, inData D. Put #1, inData
24.A. Text1.Text B. inData
C. Text1.Text + inData D. Text1.Text & inData
(二)【程序说明】变量a是包含10个2位随机整数的一维数组,下面的程序用选择法将数组a中的10个整数按升序排列,最后将这些数从大到小打印在窗体中。
【程序】
Private Sub Command1_Click()
Dim a(10) as integer
Dim p as integer,i as integer, j as integer
For i=0 to 9
a(i) =
(25)
next i
For i = 0 to 8
(26)
Do
j = j + 1
If
(27) Then
p = a(i)
a(i) = a(j)
a(j) = p
End If
Loop While
(28)
Next i
For i = 9 to 0 step –1
Print a(i)
Next i
End Sub
【供选择的答案】
25.A. Int((Rnd*90)+10) B. Int((Rnd*89)+10)
C. Rnd*90+10 D. Int(Rnd*90)
26.A. p =i B. p = j
C. j = i + 1 D. j = i
27.A. a(i) <= a(j) B. a(i) > a(j)
C. a(i)<> a(j) D. a(i) < a(j)
28.A. j >= 9 B. j >= 8
C. j < 9 D. j < 8
(三)【程序说明】单击窗体后,圆形控件Shape1自动从左上角向右下角沿抛物线方向运动。要求圆形控件每隔0.1秒下落一次,水平方向匀速运动,1秒内移动1000个坐标刻度单位;垂直方向为匀加速(平方关系)运动;当圆形控件Shape1到达窗体右边界时,停止运动。
【程序】
Dim X As Integer
Private Sub Form_Load()
Form1.Move 0, 0, 6000, 6000
Shape1.Shape = 3
Shape1.Move 0, 0, 100, 100
Timer1.Interval =
(29)
Timer1.Enabled = False
End Sub
Private Sub Form_Click()
X = 0
(30)
End Sub
Private Sub Timer1_Timer()
X = X + 1
Shape1.Left =1000 * X
Shape1.Top= X*X
If
(31) Then Timer1.Enabled=False
End Sub
【供选择的答案】
29.A.100 B.1000
C.0 D.10
30.A.Timer1.Enabled = False B.Timer1.Enabled = True
C.Timer1.Interval = 100 D.Timer1.Interval = 0
31.A.Shape1.Left <= Form1.ScaleWidth -Shape1.Width
B.Shape1.Left >= Form1.Width
C.Shape1.Left <= Shape1.Width
D.Shape1.Left >= Form1.ScaleWidth -Shape1.Width
四、程序阅读题(本大题共3小题,每问2分,共22分)
阅读下列各程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案,用字母A、B、C或D填写在答题纸相应位置上。
(一)【程序】
Private Sub Command1_Click()
Static x As Integer
Dim y As Integer
x = x + 5
y = y + 2
Form1.Cls
Call Swap(x, y)
Print "x="; x, "y="; y
End Sub
Private Sub Swap(ByVal a As Integer, ByRef b As Integer)
Dim c As Integer
c = a: a = b: b = c
Print "a="; a, "b="; b
End Sub
【问题与供选择的答案】
32. 当第一次单击命令按钮Command1时,窗体上显示的结果为
A. B.
C. D.
33.当第二次单击命令按钮Command1时,窗体上显示的结果为
A. B.
C. D.以上都不对
34.当将程序中的Swap(ByVal a As Integer, ByRef b As Integer)改为Swap(a As Integer, ByRef b As Integer)时,第一次单击命令按钮Command1时,窗体上显示的结果为
A. B.
C. D.
35.如题(34)改动,第二次单击命令按钮Command1时,窗体上显示的结果为
A. B.
C. D.
(二)【程序】
Private Sub Form_Load()
Picture1.Scale (-100, 100)-(100, -100)
Text1 =" "
Text1.TabIndex = 0
Command1.Enabled = False
End Sub
Private Sub Command1_Click()
Picture1.Cls
Picture1.CurrentX =0
Picture1.CurrentY = 0
Picture1.Line (-100, 0)-(100, 0)
Picture1.Line (0, -100)-(0, 100)
Picture1.Line (0, 0)- (100 * Cos(Val(Text1.Text)), 100 * Sin(Val(Text1.Text)))
Command1.Enabled = False
End Sub
Private Sub Text1_Change()
Command1.Enabled = True
End Sub
【问题与供选择的答案】
36.程序运行后,在文本框Text1中输入1.7,单击命令按钮Command1后,图片框Picture1上显示的结果为:
A. B.
C. D.
37.图片框Picture1的坐标系原点位置为
A.图片框的左上角 B.图片框的右下角
C.图片框的中心 D.不确定
38.如果把Picture1.Scale (-100, 100)-(100, -100)语句去掉,则在文本框Text1中输入1.7,单击命令按钮Command1后,图片框Picture1上显示的结果为
A. B.
C. D.
39.执行(38)后,图片框Picture1的坐标系原点位置为
A.图片框的左上角 B.图片框的右下角
C.图片框的中心 D.不确定
(三)【程序】
Private Sub Command1_Click()
i = List1.ListIndex
For i = 0 To 9
List1.AddItem Int(90 * Rnd + 10)
Next i
End Sub
Private Sub Command3_Click()
List1.Clear
List2.Clear
End Sub
Private Sub Command2_Click()
Dim n As Double
For i = List1.ListCount - 1 To 0 step -1
n = Val(List1.List(i))
If n Mod 2 = 1 Then
List2.AddItem n
List1.RemoveItem i
End If
Next i
End Sub
【问题与供选择的答案】
40.程序运行后,单击命令按钮Command1后,列表框List1中显示的内容为
A.10个90~99的正整数 B.10个90~100的正整数
C.10个10~99的正整数 D.10个10~100的正整数
41.在(40)的基础上,单击命令按钮Command2后,列表框List1中显示的内容为
A.90~99的奇数 B.90~100的偶数
C.10~99的奇数 D.10~99的偶数
42.单击命令按钮Command2时,List1.RemoveItem i语句对所有满足条件的列表项的删除顺序为
A.从上往下 B.从下往上
C.随机删除 D.不确定
五、程序设计题(本大题共2小题,每小题13分,共26分)
43.编写过程P1,实现用随机数函数产生100个100~300之间的整数,并在窗体上输出能被3 整除的数的和及个数。
44.窗体中有一个文本框Text1、两个标签Label1和Label2、一个垂直滚动条Vscroll1。点击滚动条,可使文本框中显示[2,20]之间的一个正整数n,标签Label1中立刻显示 1!+ 2!+ … + n!的值。运行界面如图。编写完整的事件过程完成以上功能。
下载自考试题WORD文档: