浙江省2012年10月高等教育自学考试
Visual Basic程序设计试题
课程代码:07759
一、单项选择题(本大题共10小题,每小题1分,共10分)
在每小题列出的四个备选项中只有一个是符合题目要求的。错选、多选或未选均无分。
1.标签框控件标题、文本框控件显示文本的对齐方式由 属性决定。
A.WordWrap B.AutoSize
C.Alignment D.Style
2.文本框中选定的文本的长度,由 属性来反映。
A.Seltext B.Sellenght
C.Text D.Caption
3.由“For i = 1 To 10 Step -2”决定的循环结构被执行 次。
A.4 B.5
C.6 D.0
4.执行For循环结构中的语句 可结束该循环。
A.Exit For B.Break For
C.Break D.Exit
5.让复选框控件的事件过程不响应事件,可修改控件的 属性。
A.Appearance B.Caption
C.Enabled D.Tabstop
6.列表框控件List1中,所有的表项的总数可以表示为
A.List1.ListCount B.List1.ListCount - 1
C.List1.AddItem D.List1.DataField
7.设置或使用 属性或方法,可以改变容器的坐标单位。
A.DrawStyle B.Cls
C.ScaleMode D.DrawWidth
8.形状控件所显示的图形不可能是
A.圆 B.椭圆
C.圆角正方形 D.等边三角形
9.语句“Circle(1000,1000),800,,,,2”中,最后的数字2表示
A.椭圆的纵轴和横轴长度比 B.椭圆的横轴和纵轴长度比
C.同心圆的半径比 D.圆弧两半径间的夹角
10.在设计菜单时为创建分隔栏,要在菜单编辑器该菜单项的 中输入单一字符“-”。
A.名称栏 B.标题栏
C.索引栏 D.显示区
二、判断题(本大题共10小题,每小题1分,共10分)
判断下列各题,在答题纸相应位置正确的涂“A”,错误的涂“B”。
11.在窗体Load事件中的语句“Print "你好!"”,可以在窗体上显示“你好!”。
12.VB的Long类型数据只能精确表示其数值范围内的任何整数。
13.窗体的ScaleTop、ScaleWidth属性为数值,其单位长度只能是缇。
14.决定对象可用性的属性是Visible,决定对象可见性的属性是Enabled。
15.代码窗口内的不同过程中都声明了同名的变量,他们是同一变量。
16.在用户停止拖动滚动框时,发生滚动条控件的Scroll事件。
17.通用对话框的Color属性返回的是通过对话所选择的颜色值。
18.在VB6.0中利用菜单编辑器,还可以设计弹出式菜单。
19.驱动器列表框控件的ListCount属性是只读属性。
20.VB忽略用INPUT方式打开一个不存在的磁盘文件。
三、填空题(本大题共8小题,每小题2分,共16分)
21.VB的常量 &056所表示的十进制数为 。
22.将数学式 a•x2+b•x+c 写作VB算术表达式为 。
23.判断X是否是大于100的奇数,写作VB的逻辑表达式为 。
24.删除字符串s两端空格的赋值语句写作 。
25.在过程中 (能/不能)声明全局变量。
26.定时器控件InterVal属性的最大值是 。
27.控件的Cls方法 (可以/不可以)清除控件中用LoadPicture方法加载的图象。
28.数据绑定控件的 属性返回或设置控件将要绑定到的字段名。
四、程序填空题(本大题共3小题,共22分)
阅读下列各程序,根据程序说明在每小题提供的若干可选答案中挑选一个正确答案。
29.【程序说明】单击窗体后输入n,计算并显示表达式的值。
1- + - +……+(-1)n-1/n
【程序】
Private Sub Form_Click()
Dim s As Single, n As Integer, i As Integer, f As Integer
n = InputBox(″n=″)
s = 0.5∶(1)
For i = (2)
f = -f∶(3)
Next i
Print s
End Sub
【供选择的答案】
(1) A.f = 0 B.f = 1
C.f = 2 D.f = -1
(2) A.0 To n B.1 To n
C.2 To n D.3 To n
(3) A.s = s + f B.s = s + f/i
C.s = s - f D.s = s + f * i
30.【程序说明】自定义Sub过程s2,将一维数组中n个元素按值从小到大重新排序。
【程序】
Private Sub s2( x() As Single, n As Integer)
Dim i As Integer, j As Integer, k As Integer, t As Single
For i = (1)
(2)
For j = i + 1 To n
If (3) Then k =j
Next j
t = x(i)∶(4) ∶a(k) = t
Next i
End Sub
【供选择的答案】
(1) A.1 To n-1 B.1 To n
C.0 To n D.1 To n+1
(2) A.k = j B.j = k
C.i = k D.k = i
(3) A.x(j)<x(k) B.x(j)>x(k)
C.x(j)<>x(k) D.x(j)=x(k)
(4) A.x(k)=a(i) B.x(i)=a(k)
C.x(i)=a(j) D.x(j)=a(i)
31.【程序说明】文件e:\su.txt中顺序存放1~100间的素数,下列程序输入n(必须大于1且小于100,否则重新输入)后用在文件中查找是否有与n相同数的方法判断n是否是素数。
【程序】
Private Sub Command1_Click()
Dim n As Integer, m As Integer
Open ″e:\su.txt″ For Input As #1
Do
InputBox(″n=″)
Loop While (1)
Do While (2)
Input #1, m
If (3) Then Exit Do
Loop
If (4) Then Print n; ″不是素数″ Else Print n; ″是素数″
Close #1
End Sub
【供选择的答案】
(1)A.n>2 And n<100 B.n<2 Or n>=100
C.n<2 Or n<100 D.n<100
(2)A.Not Eof(1) B.m < > n
C.Eof(1) D.m = n
(3)A.m < > n B.m = n
C.m < n D.m >= n
(4)A.Not Eof(1) B.m < > 0
C.Eof(1) D.m = n
五、程序阅读题(本大题共3小题,共22分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。
32.【程序】
Private Sub Command1_Click()
Dim a As Long, b As Long, r As Long
a = InputBox(″a=″)∶b = InputBox(″b=″)
While b < > 0
r = a Mod b∶a = b∶b = r
Wend
Text1.Text = a
End Sub
【供选择的答案】
(1)单击Command1后输入4和6,文本框中显示
A.4 B.6
C.2 D.3
(2)单击Command1后输入3和5,文本框中显示
A.1 B.3
C.5 D.15
(3)单击Command1后输入24和16,文本框中显示
A.16 B.8
C.24 D.6
(4)单击Command1后输入40和96,文本框中显示
A.96 B.16
C.40 D.8
33.【程序】
Private Sub Form_Load()
Timer1.Enabled = False∶Timer1.Interval = 500
End Sub
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Form1.Cls∶Form1.FontSize = Form1.FontSize + 8
Print ″变化″
Timer1.Interval = Timer1.Interval / 1.5
End Sub
【供选择的答案】
(1)单击Command1后,窗体上显示字体的变化规律是
A.字越来越大、变化速度越来越慢 B.字越来越小、变化速度越来越慢
C.字越来越大、变化速度越来越快 D.字越来越小、变化速度越来越快
(2)单击Command1后的过程中,若窗体显示的字体变化停止了,原因是
A.字体过小 B.窗体高度不够
C.Interval为0 D.窗体宽度不够
(3)单击Command1后的过程中,若显示实时错误信息“溢出”,原因是
A.字体过小 B.字体过大
C.Interval值太小 D.Interval值太大
34.【程序】
Dim flag As Integer
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 50
Shape1.FillStyle = 0
Shape1.FillColor = RGB(255, 0, 0)
P1.Scale (-5, 100)-(5, 0)
Shape1.Shape = 3
Shape1.Top = 100
Shape1.Left = -Shape1.Width / 2
flag = -1
End Sub
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
If Shape1.Top < Shape1.Height Then flag = 1
If Shape1.Top > 100 Then flag = -1
Shape1.Top = Shape1.Top + flag
End Sub
【供选择的答案】
(1)图片框控件P1中的形状控件Shape1是 球形。
A.黄色、空心 B.红色、实心
C.红色、空心 D.黄色、实心
(2)窗体加载后按Command1按钮前,小球是在图片框控件p1的 位置。
A.下方、居中 B.左上角
C.右下角 D.上方、居中
(3)单击Command1后,起初小球的状态是
A.始终静止 B.自上向下移动
C.自下向上移动 D.自右向左移动
(4)单击Command1后,小球的运动状态是
A.始终静止 B.上下移动
C.左右移动 D.沿四周转动
六、程序设计题(本大题共2小题,每小题10分,共20分)
35.编制事件过程Command1_Click,输入x后用Select Case语句按下式计算并显示y值。
y=
36.编制事件过程Command1_Click,输入n和n个数后,计算这n个数的和并输出。
B卷
选择题部分
注意事项:
1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。
一、单项选择题(本大题共10小题,每小题2分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的。错选、多选或未选均无分。
1.Visual Basic系统中工程文件的扩展名是
A.frm B.bat
C.bas D.vbp
2.在设计阶段,当双击窗体上的某个控件时,所打开的窗口是
A.工程资源管理器窗口 B.工具箱窗口
C.代码窗口 D.属性窗口
3.设有如下程序段:
x=2
For i=1 To 10 Step 2
x=x+i
Next i
运行以上程序后,x的值是
A.26 B.27
C.38 D.57
4.决定Shape控件所绘制的几何图形的填充样式的属性是
A.Shape属性 B.FillStyle属性
C.BorderStyle属性 D.FillColor属性
5.用来确定窗体离屏幕的左上角的位置的属性是
A.Height和Width B.Height或Width
C.Left和Top D.Left或Top
6.执行语句Open ″c:\Test.dat″ For Input As #1后,对文件Test.dat中的数据能够执行的操作是
A.只能写,不能读 B.只能读,不能写
C.既可以读,也可以写 D.不能读,不能写
7.用下面语句定义的数组的元素个数是
Dim A (-3 To 5) As Integer
A.6 B.7
C.8 D.9
8.以下关于函数过程的叙述中,正确的是
A.函数过程形参的类型与函数返回值的类型没有关系
B.在函数过程中,过程的返回值可以有多个
C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递
D.如果不指明函数过程参数的类型,则该参数没有数据类型
9.引用列表框List1最后一个数据项,应使用的语句是
A.List1.List(List1.ListCount) B.List1.List(ListCount)
C.List1.List(List1.ListCount-1) D.List1.List(ListCount-1)
10.在用菜单编辑器设计菜单时,必须输入的项是
A.标题 B.快捷键
C.索引 D.名称
二、判断题(本大题共10小题,每小题1分,共10分)
判断下列各题,在答题纸相应位置正确的涂“A”,错误的涂“B”。
11.类用于指一组相似的对象,对象是某种类的一个具体实例。
12.变量名只能由字母、数字和下划线组成。
13.在Visual Basic中,当需要对程序设置断点时,一般通过stop语句实现。
14.图片框的Image属性用来返回或设置控件要加载的图形。
15.Visual Basic缺省的数组下标的下界为0,但通过Option Base语句可以修改缺省值。
16.直线控件的BorderWidth属性决定直线控件所绘制的几何图形的宽度。
17.调用Sub过程要返回一个值,因此可以像内部函数一样在表达式中使用。
18.当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作将被禁止。
19.驱动器列表框的Drive属性可以通过属性窗口设置。
20.当用户单击命令按钮时,就触发了按钮的Click事件。
三、程序填空题(本大题共3小题,共22分)
阅读下列各程序,根据程序说明在每小题提供的若干可选答案中挑选一个正确答案。
21.【程序说明】生成n个200到300之间的随机整数,输出其中能被3整除的数并求出它们的和。
【程序】
Private Sub Commandl_C1ick()
Dim n , x, S As Integer
n = Val(InputBox(″″))
For i= (1)
x= (2)
If (3) =0 Then
Print x
S=S+ (4)
End If
Next i
Print “Sum=”;S
End Sub
【供选择的答案】
(1)A.1 To n B.n To 1
C.0 To n D.n To 0
(2)A.Int(Rnd *200+100) B.Int(Rnd *100+200)
C.Int(Rnd *100)+200 D.Int(Rnd *200)+100
(3)A.x \ 3 B.n \ 3
C.x Mod 3 D.n Mod 3
(4)A.x \ 3 B.x
C.n D.i
22.【程序说明】用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中元素的最大值。
【程序】
Option Base 1
Private Sub Command1_Click()
Dim Max as Integer
Dim arr1(8) as Integer
For i = (1)
arr1(i) = Val (InputBox(″请输入一个整数″))
Next i
(2)
For i = 1 To 8
If (3) Then (4)
Next i
Print ″最大值是: ″; Max
End Sub
【供选择的答案】
(1)A.i = 0 To 7 B.i = 7 To 0 step -1
C.i = 8 To 1 step -1 D.i = 0 To 8
(2)A.Max= arr1(0) B.Max= arr1(1)
C.Max= arr1(8) D.Max= arr1(7)
(3)A.arr1(i) < Max B.arr1(i) > Max
C.arr1(i) < > Max D.arr1(i) = Max
(4)A.Max = arr1(i) B.arr1(i)=Max
C.Max = arr1(i-1) D.arr1(i-1)=Max
23.【程序说明】在窗体上画一个列表框、一个命令按钮和一个标签,其名称分别为List1、Command1和Label1,通过属性窗口把列表框中的项目设置为:″第一个项目″、″第二个项目″、″第三个项目″、″第四个项目″。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表框当前的项目数,运行情况如图所示(选择″第三个项目″的情况)。
【程序】
Private Sub Command1_Click()
If List1.ListIndex >= (1) Then
List1.RemoveItem (2)
Label1.Caption = (3)
Else
MsgBox ″请选择要删除的项目″
End If
End Sub
【供选择的答案】
(1)A.-1 B.0
C.1 D.List1.ListCount
(2)A.List1.List(0) B.List1.ListIndex
C.List1.ListCount D.List1.Selected
(3)A.List1.Text B.List1.ListCount
C.List1.ListIndex D.List1.Selected
四、程序阅读题(本大题共3小题,共22分)
阅读下列各程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。
24.【程序】
Private Sub Command1_Click()
Dim x As Integer
Static y As Integer
x=10
y=5
Call f1(x,y)
Print x,y
End Sub
Private Sub f1(ByRef x1 As Integer, y1 As Integer)
x1=x1+2
y1=y1+2
End Sub
【问题与供选择的答案】
(1) 程序运行后,单击命令按钮,输出结果为
A.10 5 B.12 5
C.10 7 D.12 7
(2)第二次单击命令按钮,输出结果为
A.10 5 B.12 5
C.12 7 D.12 9
(3)如果把Static y As Integer改为Dim y As Integer,则单击命令按钮,输出结果为
A.10 5 B.10 7
C.12 5 D.12 7
(4)如果把f1的参数定义改为:ByVal x1 As Integer, y1 As Integer,则单击命令按钮,输出结果为
A.10 5 B.12 5
C.10 7 D.12 7
25.【程序】
Private Sub Command1_Click()
Dim inData As String
Text1.Text = ″ ″
Open ″.\ smtext1.dat″ for input As #1
Input #1, inData
Print inData
Close #1
End Sub
【问题与供选择的答案】
(1)这段程序的作用是
A.把当前目录下的顺序文件smtext1.dat的内容读入内存
B.把inData中的数据写入当前目录下的顺序文件smtext1.dat
C.把当前目录下的顺序文件smtext1.dat的内容读入内存,并显示在窗体上
D.把当前目录下的顺序文件smtext1.dat的内容读入内存,并在文本框Text1中显示出来
(2) 如果smtext1.dat文件中的内容如下图所示,则单击命令按钮Command1时,显示的结果为
A.张三 B.张三 85 75
C.张三 85 75 D.张三 85 75 李四 78 90
李四 78 90
(3)如果smtext1.dat文件中的内容如下图所示,则单击命令按钮Command1时,显示的结果为
A.张三 B.张三 85 75
C.张三 85 75 D.张三 85 75 李四 78 90
李四 78 90
(4)如果smtext1.dat文件中的内容如题(3)图所示,并且将程序中“Input #1, inData”语句改为“Line Input #1, inData”,则单击命令按钮Command1时,显示的结果为
A.张三 B.“张三”,85,75
C.“张三”,85,75 D.“张三”,85,75 “李四”,78,90
“李四”,78,90
26.【程序】
Private Sub Form_Load ()
List1.AddItem ″357″
List1.AddItem ″246″
List1.AddItem ″123″
Listl.AddItem ″456″
Text1.Text=″″
End Sub
Private Sub List1_Click()
Dim a as String
a =List1.Text
Print a + Text1.Text
End Sub
【问题与供选择的答案】
(1)程序运行后,在文本框中输入“789”,然后单击列表框中的″456″,则输出结果为
A.456789 B.789456
C.456 D.789
(2)如果每次单击列表框后,所选中的选项将同时删除,则需要List1_Click事件过程中加入的语句为
A.If List1.ListIndex >= 0 Then List1.RemoveItem List1.Selected
B.If List1.ListIndex >= 0 Then List1.RemoveItem List1.ListIndex
C.If List1.ListIndex >= -1 Then List1.RemoveItem List1.Selected
D.If List1.ListIndex >= -1 Then List1.RemoveItem List1.ListIndex
(3)如果需要查看当前列表框中的项数,应该通过下面哪条语句?
A.Print List1.ListIndex B.Print List1.ListCount
C.Print List1.Columns D.Print List1.Text
五、程序设计题(本大题共2小题,每小题13分,共26分)
27.按照要求编写程序
设计一个求阶乘(n!)的用户自定义函数Factorial
单击窗体,利用Factorial函数,求解表达式S=1/2!+2/4!+...+n/(2n)!的值,要求加到和式中的最后一项的值小于0.0001(注:这项包括在和式中),并将S的结果打印到窗体中。
28.单击窗体由键盘输入20个实数,单击“求最大最小”命令按钮在图形框(Picture1)中输出这些数的最大、最小值;单击“排序”命令按钮,在图形框(Picture2)中输出这些数的升序。
下载试题: