浙江省2012年1月高等教育自学考试
Visual Basic程序设计试题
课程代码:07759
一、判断题(本大题共10小题,每小题1分,共10分)
判断下列各题,正确的在题后括号内打“√”,错的打“×”。
1. 一个VB的工程可以有多个窗体。( )
2. VB用2个字节存放Integer类型数据,因此其最大值为2的16次方,即65536。( )
3. 在一个容器(窗体、图片框或框架)内,只能有一个单选按钮的Value属性为True。
( )
4. 用来显示文本框内容的属性是Caption属性。( )
5. 过程中的静态变量是局部变量,当再次执行过程时其值是上一次过程调用后的值。
( )
6. 单击滚动条内的空白区域时,其Value值增或减的变化为SmallChange。( )
7. 通用对话框的FileName属性返回的是一个输入或选取的文件全名。( )
8. 若某一菜单项的Visible属性为False,则它的各级子菜单也不可见。( )
9. 执行语句“Call shell("e:\aaa.exe")”,可以执行e盘根目录下的文件aaa.exe。
( )
10. 若要新建一个磁盘上的顺序文件,也可用APPEND方式打开文件。( )
二、单项选择题(本大题共10小题,每小题1分,共10分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1. 使窗体最大化的窗体属性名是( )
A.WindowState B.Max
C.Min D.Style
2. 文本框中选定的内容,由______属性来反映。( )
A.SelText B.SelLength
C.Text D.Caption
3. 若i的初值为8,则下列循环语句的循环次数为( )
Do While i <= 17
i = i + 2
Loop
A.3 B.4
C.5 D.6
4. 如果下一行语句是该行的继行,该行的最后两个可显示字符应该是( )
A.下划线、空格 B.空格、下划线
C.空格 D.下划线
5. 按Tab键时,焦点在各个控件之间移动的顺序是由各控件的______属性来决定的。( )
A.Index B.TabIndex
C.TabStop D.SetFocus
6. 若要使"XXX"成为List1清单中的第三项,则可执行语句( )
A.List1.AddItem "XXX", 3 B.List1.AddItem "XXX", 2
C.List1.AddItem 3,"XXX" D.List1.AddItem 2,"XXX"
7. 下列数值作为窗体的ScaleMode属性值,使每一坐标单位长度最小的是( )
A.6 B.4
C.2 D.1
8. ______属性可以用来设置所绘线条宽度。( )
A.DrawStyle B.BorderStyle
C.DrawWidth D.Fillcolor
9. 描述以(100,100)为圆心、以40为半径画1/4圆弧的语句,以下正确的是( )
A.Circle(100,100),40,0,3.1415926/2 B.Circle(100,100),,400,0,3.1415926/2
C.Circle(100,100),40,,0,3.1415926/2 D.Circle(100,100),40,,0,90
10. 一个菜单项的界面显示是不是一个分割条,是由其______属性决定的。( )
A. Name(名称) B. Caption
C. Enabled D. Visible
三、填空题(本大题共8小题,每小题2分,共16分)
请在每小题的空格中填上正确答案。错填、不填均无分。
1.将十进制数整数29写作VB的十六进制常量为__________。
2.将数学式 (x+1)·e2x 写作VB算术表达式为__________。
3. 判断X是否满足条件“1≤X≤2”的VB逻辑表达式为__________。
4. 取字符串s中从第3个字符开始的连续5个字符,写作__________。
5. 若Form1中的变量x在Form2中可以被引用,声明处必须前置__________。
6. 定时器控件的InterVal属性值为__________时,定时器的Timer事件每秒钟执行1次。
7. 图片框控件的__________属性决定在其中所绘图形缺省的填充色。
8. 数据控件的__________属性返回或设置控件的记录源。
四、程序填空题(本大题共3小题,共22分)
阅读下列各程序,根据程序说明在每小题提供的若干可选答案中挑选一个正确答案,用字母A、B、C或D填写在程序中划线处。
1.【程序说明】单击窗体后输入m,求最大的、满足条件n!<m的n。如输入726,显示6。
【程序】
Private Sub Form_Click()
Dim n As Integer, m As Integer, y As Integer
m = InputBox("m=")
(1)
Do
n = n + 1: y = y * n
Loop (2)
Print (3)
End Sub
【供选择的答案】
(1) A.y=1∶n=2 B.y=1∶n=1
C.y = 2 D.y=2∶n=0
(2) A.Until y<m B.Until y>=m
C.While y>=m D.While y>m
(3) A.n B.n + 1
C. n - 1 D.m
2.【程序说明】自定义Sub过程s2的功能是将n个元素的一维数组按相反顺序重新排放。
【程序】
Private Sub (1)
Dim t As Single, i As Integer
For i = 1 To (2)
t = (3)
a(i) = a( n + 1 – i )
(4) = t
Next i
End Sub
【供选择的答案】
(1) A.s2(a() as Single, n As Integer) B.s2(a(n) as Single) As Single
C.s2(a as Single, n As Integer) D.s2(a() As Single) n As Integer
(2) A.n B.n \ 2
C.n - 1 D.n + 1
(3) A.a(i) B.a(n - i)
C.a(1) D.a(n)
(4) A.a(i) B.a(n + 1 - i)
C.a(n – i) D.a(1)
3.【程序说明】下列程序在退出VB时,将列表框控件List1中各表项逐行、顺序写入到文件e:\student.txt中。
【程序】
Private Sub Form_Unload(Cancel As Integer)
Open "e:\student.txt" For (1) As #1
for i = (2) To (3)
Print #1, (4)
Next i
Close #1
End Sub
【供选择的答案】
(1) A.Input B.Output
C.Write D.Line Output
(2) A.0 B.1
C.-1 D.Not Eof(1)
(3) A.Count-1 B.List1.ListCount
C.ListCount-1 D.List1.ListCount-1
(4) A.List1.List(i) B.List1(i)
C.List(i) D.List.List1(i)
五、程序阅读题(本大题共3小题,共22分)
阅读下列各程序并回答问题,在提供的若干可选答案中挑选一个正确答案,用字母A、B、C或D填写在题后的括号内。
1.【程序】
Private Function sum(n As Integer) As Integer
Do While n > 0
sum = sum + n: n = n - 1
Loop
End Function
Private Sub Command1_Click()
Dim x As Integer
x = InputBox("x=")
Label1.Caption = sum(x) & "," & x
End Sub
(1) 单击Command1后输入3,标签控件Label1的界面显示为( )
A.6, 3 B.6 & 0
C.6, 0 D.6 & 3
(2) 单击Command1后输入5,标签控件Label1的界面显示为( )
A.15, 5 B.15 & 0
C.15, 0 D.15 & 5
(3) 若将首句中“n As Integer”改为“ByVal n As Integer”,单击Command1后输入3, 标签控件Label1的界面显示为( )
A.6, 3 B.6 & 0
C.6, 0 D.6 & 3
(4) 若将首句中“n As Integer”改为“ByVal n As Integer”,单击Command1后输入5, 标签控件Label1的界面显示为( )
A.15, 5 B.15 & 0
C.15, 0 D.15 & 5
2.【程序】
Private Sub Command1_Click()
Dim n As Integer, aa As String
aa = Text1.Text: n = Len(aa)
For i = 1 To n / 2
aa = Right(aa, 1) + Mid(aa, 1, n - 1)
Next i
Print aa
End Sub
(1) Text1中的文本为"AB"时,单击Command1后窗体显示( )
A.AB B.BA
C.ab D.ba
(2) Text1中的文本为"abc"时,单击Command1后窗体显示( )
A.bac B.abc
C.cab D.cba
(3) Text1中的文本为"1234"时,单击Command1后窗体显示( )
A.3412 B.4321
C.1234 D.2143
(4) Text1中的文本为"abcd"时,单击Command1后窗体显示( )
A.cabd B.cdab
C.acbd D.abcd
3.【程序】
Dim x1 As Single, y1 As Single
Private Sub P1_MouseDown(Button As Integer,_
Shift As Integer, X As Single, Y As Single)
x1 = X: y1 = Y
End Sub
Private Sub P1_MouseUp(Button As Integer, Shift As Integer,_
X As Single, Y As Single)
P1.Line (x1, y1)-(X, Y), VbBlue, B
End Sub
(1) 要在图片框控件P1上画一个矩形,鼠标在该控件上的动作是( )
A.单击两次 B.左键按下、拖动后抬起
C.右键单击两次 D.右键单击一次
(2) 若在P1上绘制了矩形,其轮廓线的颜色是( )
A.绿色 B.黄色
C.蓝色 D.红色
(3) 若要绘制红色填充的实心矩形,事件过程P1_MouseUp中相应语句应修改为( )
A.P1.Line(x1,y1)-(X,Y),VbBlue,B
B.P1.Line(x1,y1)-(X,Y),VbRed,BF
C.P1.Line(x1,y1)-(X,Y),Red,BF
D.P1.Line(x1,y1)-(X,Y),FillStyle,0
六、程序设计题(本大题共2小题,每小题10分,共20分)
1.编制事件过程Command1_Click,输入x后,按下列公式计算并显示y值。
2.编制事件过程Command1_Click,输入n和n个数后,显示这n个数中最大值、最小值。