内容正文:
2025-2026学年第二学期 高二期末试题
Visual Basic程序设计
一、选择题(本大题共25题,每小题2分,共50分)
1、窗体上有1个名称为Command1的命令按钮,在设计模式下,双击Command1,将打开( )。
A. 属性窗口 B. 代码窗口 C. 工程资源管理器窗口 D. 工具箱窗口
2、与传统的程序设计语言相比,Visual Basic最突出的特点是( )。
A.结构化程序设计 B.程序开发环境 C.事件驱动编程机制 D.程序调试技术
3、VB表达式2*3^2+2*8/4+3^2的值为( )。
A. 64 B. 31 C. 49 D. 22
4、下列关于变体数据类型的叙述中正确的是( )。
A.变体是一种没有类型的数据
B.给变体变量赋某一种类型数值后,就不能再赋给另一种类型数值
C.一个变量没有定义就赋值,该变量即为变体类型
D.变体的空值就表示该变体值为0
5、文本框没有( )属性
A.Enabled B.Visible C.BackColor D.Caption
6、要使某控件在运行时不可显示,应对( )进行设置
A.Enabled B.Visible C.BackColor D.Caption
7、VB控件中能够存放组合框的所有项目内容的属性是( )。
A.Caption B.Text C.List D.Selected
8、窗体中存在命令按钮Command1,其Click事件代码如下:
Private Sub Command1_Click()
X = 2
Y = 1
If X * Y < 1 Then Y = Y - 1 Else Y = -1
Print Y - X > 0
End Sub
程序运行后,单击命令按钮,输出结果为( )。
A. True B. False C.-1 D.1
9、在窗体上画一个名称为Text1的文本框,一个名称为Command1的命令按钮,并编写如下事件过程:
Private Sub Command1_Click()
Dim array1(5, 5) As Integer
Dim i As Integer, j As Integer
For i = 1 To 4
For j = 1 To 4
array1(i, j) = i * 10 + j
Next j
Next i
Text1.Text = array1(2, 1) + array1(3, 2)
End Sub
程序运行后,单击命令按钮,在文本框中显示的结果是( )。
A. 54 B. 53 C. 55 D. 56
10、有如下程序:
Do
循环体
Loop While <条件>
则以下叙述中错误的是( )。
A.若“条件”是一个为0 的常数,则一次也不执行循环体
B.“条件”可以是关系表达式、逻辑表达式或常数
C.循环体中可以使用Exit Do语句
D.如果“条件”总是为True,则不停地执行循环体
11、在过程定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则应使用( )关键字在过程中定义局部变量。
A. Dim B. Private C. Public D. Static
12、在标准模块过程中用 Public 语句声明的变量的作用域是( )。
A. 整个应用程序 B. 某窗体中的所有程序
C. 仅限于标准模块中的某个程序 D. 仅限于标准模块中
13、执行完下面的程序段后,循环将执行( )次。
For I=1.7 To 5.9 Step 0.9
A = a + 1
Print a
Next I
A. 3 B. 4 C. 5 D. 6
14、下面的程序段,显示的结果是( )。
Dim x
x= Int(Rnd) + 5
Select Case x
Case 5
Print “优秀”
Case 4
Print “良好”
Case 3
Print “及格”
Case Else
Print “不及格”
End Select
A.不及格 B.良好 C.及格 D.优秀
15、有如下程序段,该程序执行后,变量a的值为( )。
For I = 1 To 2
For J = I To 2
For K = 1 To J
a = a + 2
Next K
Next J
Next I
A.2 B.8 C.10 D.20
16、下列程序段的执行结果为( )。
N = 0:J = 1
Do Until N > 2
N = N + 1
J = J + N * ( N + 1 )
Loop
Print N;J
A.0 1 B.3 7 C.3 21 D.3 13
17、假定有如下的Sub过程:
Sub S(x As Single, ByVal y as Single)
t = x
x = t / y
y = t Mod y
End Sub
在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:
Private Sub Command1_Click()
Dim a As Single, b As Single
a = 5 : b = 4
S a,b
Print a,b
End Sub
程序运行后,单击命令按钮,输出结果为( )。
A. 5 4 B. 1 1 C. 1.25 4 D. 1.25 1
18、在Visual Basic中定义变量时,变量的类型可以用类型说明符标识。下列类型说明符表述错误的是( )。
A.$表示字符串型 B. #表示单精度型 C. @表示货币型 D. %表示整型
19、在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim i As Integer,n As Integer
For i = 0 To 50
i = i + 3
n = n + 1
If i > 10 Then Exit For
Next
Text1.Text=Str(n)
End Sub
程序运行后,单击命令按钮,在文本框中显示的值是( )。
A.2 B.3 C.4 D.5
20、窗体上有名称为Command1的命令按钮,名称分别为List1、List2的列表框,其中List1的MultiSelect属性设置为1(Simple),并有如下事件过程:
Private Sub Command1_Click()
For i = 0 To List1.ListCount - 1
If List1.Selected(i)=True Then
List2.AddItem Text
End If
Next
End Sub
上述事件过程的功能是将List1中被选中的列表项添加到List2中。运行程序时,发现不能达到预期目的,应做修改,下列修改中正确的是( )。
A.将For循环的终值改为List1.ListCount
B.将List1.Selected(i)=True 改为List1.List(i).Selected=True
C.将List2.AddItem Text 改为List2.AddItem List1.List(i)
D.将List2.AddItem Text 改为List2.AddItem List1.ListIndex
21、如有以下程序代码:
Option Base 1
Private Sub Command1_Click(index As Integer)
Dim arr1(12) As Integer, arr2(3) As Integer
Dim sum As Integer
sum = 2
For i = 1 To 12
arr1(i) = i
Next i
For i = 1 To 3
arr2(i) = arr1(i * i)
Next i
For i = 1 To 3
sum = sum + arr2(i)
Next i
Print sum
End Sub
运行程序后,在窗体上输出的内容为( )。
A.16 B.24 C.32 D.36
22、在窗体上创建一个命令按钮 Command1,并编写如下代码:
Private Sub Command1_Click()
Dim a(4, 4)
For i = 1 To 4
For j = 1 To 4
a(i, j)=( i - 1 ) * 3 + j
Next j
Next i
For i = 3 To 4
For j = 3 To 4
Print a(j, i);
Next j
Print
Next i
End Sub
程序运行后,单击命令按钮,其输出结果是( )。
A.6 9 B.7 10 C.8 11 D.9 12
7 10 8 11 9 12 10 13
23、以下程序输出的结果是( )。
Option Base 1
Private Sub Command1_Click()
Dim a%(3, 3)
For i = 1 To 3
For j = 1 To 3
a(i,j) = i * j
Print a(i,j);
Next j
Print
Next i
End Sub
A.1 2 3 B.1 2 3 C.1 2 3 D.1 1 1
2 3 1 1 2 3 2 4 6 2 2 2
3 2 3 1 2 3 3 6 9 3 3 3
24、以下程序的作用是( )。
m = 0 : n = 0
For i = 1 To 10
x = Val(InputBox("请输入x的值:"))
If x > 0 Then
m = m + x
ElseIf x < 0 Then
n = n + 1
End If
Next i
Print m,n
A. 计算从键盘输入的数据之和,并统计输入数据的数目
B. 分别计算从键盘输入的正数之和与负数之和
C. 分别计算从键盘输入的正数和负数的个数
D. 计算从键盘输入的正数之和,并统计负数的个数
25、以下程序的运行结果是( )。
For i = 1 To 4
x = 2
For j = 1 To 3
x = 1
For k = 1 To 2
x = x + 3
Next k
Next j
Next i
Print x
A. 7 B. 6 C. 56 D. 72
二、填空题(本大题共14题,每空2分,共50分)
26、VB有三种工作模式,它们分别是 模式、设计模式和 模式。
27、VB逻辑数据类型只有True与False两个值。当逻辑数据转换成整型数据时,True 转换为 ,False转换为 。
28、在VB中事件过程名由 和 构成。
29、文本框 Text1 的内容被改变时触发的事件是 ,按下单个字符键时触发的事件是 。
30、程序功能:利用随机函数生成一个4×4的矩阵,范围是[20,50]内的整数,输出每行中的最大值和下标。
Dim a%(3, 3), i%, j%, imax%
Private Sub Command1_Click()
For i = 0 To 3
For j = 0 To 3
a(i, j) = Int(Rnd * 31 + 20)
Picture1.Print a(i, j); "";
Next j
Picture1.Print
Next i
imax = 0
For i = 0 To 3
For j = 0 To 3
If Then
imax = j
End If
Next j
Picture1.Print "第"; i + 1; "行"; "最大值为"; ; "下标为"; "("; i; imax; ")"
Next i
End Sub
31、下面的程序功能为:用于根据文本框X中输入的内容进行以下处理:若X为2、4、6,则打印"X的值为2、4、6";若X在11到15之间,则打印"X的值为大于等于11小于等于15";若X大于20,则打印"X的值大于20";否则,打印"X不在范围内"。
Private Sub Command1_Click()
Select Case Val(Text1.Text)
Case
Print "X的值为2,4,6"
Case
Print "X的值为大于等于11小于等于15"
Case Is > 20
Print "X的值大于20"
Case Else
Print "X不在范围内"
End Select
End Sub
32、Option Base 1
Dim arr() As Integer
Private Sub Form_Click()
Dim i As Integer , j As Integer
ReDim arr(3,2)
For i = 1 To 3
For j = 1 To 2
arr(i,j)= i * 2 + j
Next j
Next i
ReDim Preserve arr(3,4)
For j = 3 To 4
arr(3,j)= j + 9
Next j
Print arr(3,2)+arr(3,4)
End Sub
程序运行后,单击窗体,输出结果为 。
33、Option Base 1
Private Sub Command1_Click()
Dim c As Integer , d As Integer
d = 0
c = 6
x=Array(2,4,6,8,10,12)
For i = 1 To 6
If x(i) > c Then
d = d + x(i)
c = x(i)
Else
d = d - c
End If
Next i
Print d
End Sub
程序运行后,如果单击命令按钮,则在窗体上输出的内容为 。
34、Function fun(ByVal num As Long) As Long
Dim k As Long
k = 1
num = Abs(num)
Do While num
k = k * (num Mod 10)
num = num \ 10
Loop
fun = k
End Function
Private Sub Command1_Click()
Dim n As Long , r As Long
n = InputBox("请输入一个数")
n = CLng(n) : r = fun(n)
Print r
End Sub
程序运行后,单击命令按钮,在输入对话框中输入 "345",输出结果为 。
35、下列程序运行后,当 x 的输入值分别为 2、3、4 和 15 时,其输出结果分别为 。
Private Sub Command1_Click()
Dim x%, y%
x = InputBox("请输入x的值:")
Select Case x
Case 1, 3, 5
y = x + 1
Case 2, 4
y = 2 * x
Case Is > 10
y = x * x + 1
End Select
Print "x="; x, "y="; y
End Sub
36、利用随机函数生成 10 个 [0,100] 的随机整数,并按从小到大的顺序输出。请将程序补充完整。
Private Sub Command1_Click()
Randomize()
Dim xx(10) As Integer
For i = 1 To 10
xx(i) = Int(Rnd * 101)
Next
For i = 1 To
For j = 1 To
If xx(j) > xx(j+1) Then
T = xx(j) : xx(j) = xx(j+1) : xx(j+1) = T
End If
Next j,i
For i = 1 To 10
Print xx(i);
Next i
End Sub
37、下面的程序运行后,生成一个主对角线上元素值为 1、其他元素值为 0 的 6×6 阶矩阵。请将程序补充完整。
Private Sub Command1_Click()
Dim s(6,6)
For i = 1 To 6
For j = 1 To 6
If Then
s(i,j) = 1
Else
s(i,j) = 0
End If
Print s(i,j);
Next j
Next i
End Sub
38、窗体、控件、菜单等统称为 ,而对象的外观特征用 描述,对象能完成的动作叫 ,对象对外界操作的响应叫 。
39、要定义一个过程可以在程序的任何地方调用它,应使用 关键字来定义该过程。
答案
一、选择题
1-5:B C B C D
6-10:B C B B A
11-15:A A C D C
16-20:C C B B C
21-25:A D C D A
二、填空题
26、 运行 中断
27、 -1 0
28、 控件名 事件名
29、 Change KeyPress
30、 a(i, imax) < a(i, j) a(i, imax)
31、 2, 4, 6 11 To 15
32、 21
33、 12
34、 60
35、 x=2 y=4
x=3 y=4
x=4 y=8
x=15 y=226
36、 9 10-i
37、 i=j Print
38、 对象 属性 方法 事件
39、 Public
学科网(北京)股份有限公司
$