内容正文:
2025-2026学年第二学期 高二期中试题
Visual Basic程序设计
一、选择题(每题2分,共50分)
1、Visual Basic提供了结构化程序设计的三种基本结构,它们是( )。
A.递归结构、选择结构、循环结构 B.过程结构、输入/输出结构、转向结构
C.顺序结构、选择结构、循环结构 D.选择结构、过程结构、顺序结构
2、运行如下程序,其输出结果是( )。
Private Sub Form_Click()
a = 4
If a < = 3 Then
b = a
End If
If a < = 4 Then
b = a + 1
End If
If a < = 5 Then
b = a + 2
End If
Print a;b
End Sub
A.4 4 B.4 5 C.4 6 D.4 7
3、把a、b之中的最大值存放于max,下列语句中书写正确的是( )。
A.If a > b Then max=a Else max=b End If
B.If a > b Then max=a Else max=b
End If
C.If a > b Then
max=a
Else
max=b
D.If a > b Then
max=a
Else
max=b
End If
4、运行下列程序后,s的值为( )。
Private Sub Form_Click()
a=2:b=4:c=6
If a < b Then
s=10
ElseIf b < c Then
s=20
Else
s=30
End If
End Sub
A.0 B.10 C.20 D.30
5、当a=1,b=3,c=5,d=4时,运行下面这段程序后,X的值为( )。
If a < b Then
If c < d Then
X=1
Else
X=2
End If
Else
If c < d Then
X=3
Else
X=4
End If
End If
A.1 B.2 C.3 D.4
6、若要退出For循环,可使用的语句为( )。
A.Exit B.Exit Do C.Time D.Exit For
7、下列程序的循环次数是( )次。
Private Sub Form_Click()
For j = 8 To 35 Step 3
Print j;
Next j
End Sub
A.10 B.9 C.27 D.28
8、执行下面的程序代码后,变量S的值为( )。
S=0
For i = 3 To 8 Step 1.5
S = S + 1
Next i
A.3 B.4 C.5 D.6
9、执行下面的程序代码后,窗体输出( )。
S = 0
For i = 10 To 1 Step -2
S = S + 1
Next i
Print i
A.30 B.5 C.0 D.10
10、在窗体上添加一个名称为Command1的命令按钮,编写如下事件代码:
x = 0: n = 0
Do While x < 50
x = (x + 2) * (x + 3)
n = n + 1
Loop
Print n; x
程序运行后,单击命令按钮,n和x的值分别为( )。
A. 1和0 B. 2和72 C. 3和50 D. 4和168
11、在窗体上添加一个命令按钮,编写如下事件代码:
x = 5: a = 0: b = 0
Do
a = a + b - x
a = Val(InputBox("请输入a的值"))
b = Val(InputBox("请输入b的值"))
x = Val(InputBox("请输入x的值"))
Loop Until x = -1
Print a
程序运行后,单击命令按钮,依次输入4、3、2、1、0、-1,输出结果为( )。
A. 0 B. 1 C. -1 D. 2
12、下列程序代码的运行结果是( )。
Private Sub Form_Click()
Dim num As Integer, a As Integer, b As Integer
a = 36: b = 24
Do
While b <> 0
num = a Mod b
a = b
b = num
Wend
Print a
Loop
End Sub
A.3 B.24 C.1 D.12
13、下列程序代码的运行结果是( )。
Private Sub Command1_Click()
For x = 1 To 2
s = 20
For y = 1 To x
s = s + 10
Next y
Next x
Print s
End Sub
A.10 B.20 C.30 D.40
14、有如下程序代码:
Private Sub Command1_Click()
a = 0
For i = 1 To 3
For j = 1 To i
For k = j To 3
a = a + 1
Next k
Next j
Next i
End Sub
执行上面代码中的三重循环后,a的值为( )。
A.3 B.9 C.14 D.21
15、在下列程序中,s=s+j 语句共执行了( )次。
Dim s As Integer
Dim i As Integer, j As Integer
For i=1 To 10 Step 2
For j=1 To 5 Step 2
s=s+j
Next j
Next i
Print s
A.10 B.15 C.20 D.25
16、以下程序运行后,变量 x 的值为( )。
x=0
For i=1 To 5
For j=1 To 5
x=x+1
Next j
Next i
Print x
A.15 B.20 C.25 D.30
17、以下程序的运行结果是( )。
For x=1 To 2
a=0
For y=1 To x+1
a=a+1
Next y
Print a;
Next x
A.1 1 B.0 0 C.1 2 D.2 3
18、以下程序的运行结果是( )。
n=0
For i=0 To 1
For j=0 To 1
n=n+1
Next j
Next i
Print n
A.4 B.2 C.1 D.0
19、以下程序的运行结果是( )。
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
20、以下程序的运行结果是( )。
Private Sub Command1_Click()
m=1
n=1
Do
m = m * n
n = n + 1
Loop Until n > 4
Print m
End Sub
A.25 B.45 C.55 D.24
21、阅读下面的程序:
For i=1 To 3
For j=1 To 3
For k=1 To 3
a=a+1
Next k
Next j
Next i
运行上面的三重循环后,a的值为( )。
A.9 B.12 C.21 D.27
22、想要向列表框添加列表项,可使用的方法是( )。
A.Add B.Remove C.Clear D.AddItem
23、将组合框的Style属性设置为0,其表现形式为( )。
A.下拉列表框 B.下拉组合框 C.简单组合框图 D.文本框
24、Timer控件的Interval属性以( )为单位指定Timer事件之间的时间间隔。
A.分 B.秒 C.毫秒 D.微秒
25、下列控件中没有Caption属性的是( )。
A.框架 B.列表框 C.复选框 D.单选按钮
二、填空题(每空1分,共30分)
26、要使下列For语句循环执行20次,循环变量的初值应当是 。
For k = _____ To -10 Step -2
27、下列程序代码的运行结果中会显示 个 * 。
For i=1 To 3
For j=1 To i
Print ″*″
Next j
Next i
28、下列程序代码的功能是:生成30个50—100内的随机整数,输出其中能被7整除的数并求出它们的和。请将以下程序代码补充完整。
Private Sub Command1_Click()
Sum = 0
For i = 1 To 30
x =
If = 0 Then
Print x;
End If
Next i
End Sub
29、在窗体上添加两个名称分别为Text1、Text2的文本框和一个名称为Command1的命令按钮,编写如下事件代码:
Private Sub Command1_Click()
Dim x As Integer, n As Integer
x = 1
n = 0
Do While x < 20
x = x * 3
n = n + 1
Loop
Text1.Text = Str(x)
Text2.Text = Str(n)
End Sub
单击命令按钮,文本框Text1和文本框Text2显示的内容分别是 和 。
30、下列程序代码的功能是:搬砖问题。36块砖36人搬,男人搬4块,女人搬3块,2个未成年人抬一块,要求1次全部搬完,求需男人、女人、未成年人各多少人。请将以下程序代码补充完整。
Private Sub Command1_Click()
For x=1 To 9
For y=1 To 12
For z=2 To 36 Step 2
If x + y + z = 36 And Then
Print x, y, z
End If
Next z
Next y
Next x
End Sub
31、编写程序,根据上网时间计算上网费用,计算方法如下:
费用:50 元, 上网时长 < 10 小时
每小时6元,上网时长 11~59 小时
每小时4元,上网时长 ≥ 60 小时
每月收费最多不超过 200 元。
请完善程序:
Dim n%
Private Sub Form_Load()
n=InputBox("请输入上网小时数")
Select Case
Case Is< 10
s=50
Case Is<60
Case Else
s=4*n
End Select
If Then s=200
Print "上网费用为"; s; "元"
End Sub
32、以下程序的功能:在文本框 Text1 中输入任意一个字符串,将按相反的次序显示在文本框 Text2 中。请完善程序。
Private Sub Command1_Click()
Dim N As String, C As String , D As String
N = Text1.text
M =
For i=M To 1 Step -1
C=Mid (N,i,1)
D=D &
Next i
= D
End Sub
33、计算 1+(1+2)+(1+2+3)+…+(1+2+3+…+100)。请完善下列程序。
Private Sub Form_Click()
Dim I As Integer, S as Long, Sum as
S=0:Sum=0
For i=1 to 100
S=
Sum=
Next
Print
End Sub
34、求 S=2!+3!+…+20!,请将下列程序补充完整。
S=0
For i=2 To 20
For j=1 To
T=
S=
Next i
Print"结果是:" & S
35、下列程序代码的功能是:在文本框 Text1 中输入一个数据,如果该数据满足 “能被 4 整除并且除以 6 余 2” 这个条件,则在窗体上输出这个数据;否则,清除文本框中的内容,并将焦点定位在文本框中。
Private Sub Command1_Click()
Dim x As Integer
x =
If Then
Print x
Else
Text1.Text = ""
End If
End Sub
36、下列程序的功能:当 x<50 时,y=0.8×x;当 50≤x≤100 时,y=0.7×x;当 x>100 时,没有意义。请填空。
Private Sub Command1_Click()
Dim x As Single
x = InputBox("输入 x 的值")
Case Is < 50
y = 0.8 * x
Case 50 To 100
y = 0.7 * x
Print "输入的数据出界!"
End Select
Print x, y
End Sub
37、辨别变量X是否大于0,若大于0,则累加到变量S1中,否则累加到变量S2中,使用的单行结构条件语句为 。
38、Visual Basic中有三种不同类型的组合框,可通过其 属性设置。
三、编程题(每题5分,共20分)
39、随机生成10个[100,200]的数,求最大值。
40、从键盘输入任意3个数,A、B、C,找出其中最大的数。
41、若S=1+2+3+...+n,编写程序求S > 1000时n的最小值。
42、所谓“水仙花数”,是指一个3位数,其个位数的立方和等于该数,如153=1³+5³+3³,编写程序输出100-999之间的所有“水仙花数”。
答案
一、选择题(每题2分,共50分)
1-5:C C D B B
6-10:D A B C B
11-15:B D D C B
16-20:C D A A D
21-25:D D B C B
二、填空题(每空1分,共30分)
26、28
27、6
28、Int( Rnd * 51 ) + 50 x Mod 7 = 0 Sum = Sum + x
29、27 3
30、4 * x + 3 * y + z / 2 = 36
31、n s = 6 * n s > 200
32、Len( N ) C Text2.Text
33、Long s + i Sum + s Sum
34、T = 1 i T * j Next j S + T
35、Val(Text1.Text) x Mod 4 = 0 And x Mod 6 = 2 Text1.SetFocus
36、Select Case x Case Else
37、If X > 0 Then S1=S1+X Else S2=S2+X
38、Style
三、编程题(每题5分,共20分)
39、Dim i as Integer,x as Integer,Max as integer
Randomize
Print"本次生成的10个随机数为:"
For i = 1 to 10
x = Int (Rnd * 101) + 100
Print x;"";
If x > Max Then
Max = x
End If
Next i
Print
Print "10个数中最大值为:" & Max
40、Dim A as Single,B as Single,C as Single,Max as Single
A = Val(InputBox("请输入A:"))
B = Val(InputBox("请输入B:"))
C = Val(InputBox("请输入C:"))
If A > B And A > C Then
Max = A
ElseIf B > A And B > C Then
Max = B
Else
Max = C
End If
Print "最大的数是:" & Max
41、Dim n as Long,s as long
n = 0 : s = 0
Do While s < = 1000
n = n + 1
s = s + n
Loop
Print "满足s > 1000的最小值n为:" & n
Print "此时s = " & s
42、Dim i As Integer, a As Integer, b As Integer, c As Integer,s As String
For i = 100 To 999
a = Int(i \ 100 )
b = Int((i Mod 100) \ 10 )
c = Int(i Mod 10)
If a ^ 3 + b ^ 3 + c ^ 3 = i Then
s = s & i & " "
End If
Next i
Print "水仙花数有:"; s
学科网(北京)股份有限公司
$