内容正文:
第三单元 VB语句
[基础巩固]
1.能表示“如果a,b同时大于0时,执行a←a*b”的VB语句是( A )
A.If a>0 And b>0 Then a=a*b
B.If a>0 Or b>0 Then a=a*b
C.If a*b>0 Then a=a*b
D.If a>0,b>0 Then a=a*b
2.有如下VB程序段:
Private Sub Command1_Click()
Dim x As Integer, y As Integer, ans As Long
x = Val(Text1.Text)
y = Val(Text2.Text)
ans = x
For i = 1 To y
ans = ans + x
Next i
Label1.Caption = Str(ans)
End Sub
程序运行时,在文本框Text1中输入3,在文本框Text2中输入10,单击按钮Command1,则在标签Label1中显示的内容为( B )
A.30 B.33 C.36 D.300
解析:本题主要考查的是VB的循环语句。本程序的功能是求x*(y+1),因此答案为B。
3.有如下VB程序段:
x=25︰y=20
If x>y Then
y=y+20
If y > 50 Then y=y^2
Else
y=y^2
y=x+y
End If
Label1.Caption=Str(y)
该程序段执行后,标签Label1中显示的内容是( D )
A.1600 B.425 C.400 D.40
解析:本题考查对选择语句的理解x为25,y为20,条件“x>y”成立,变量y=y+20=20+20=40,此时y>50不成立,不执行其他操作,所以Label中显示的结果应为40,故选项D正确。
4.某Visual Basic程序如下:
Private Sub Command1_Click()
Dim i As Integer,sum As Integer
sum=0
For i=10 To 2 Step -2
sum=sum+i
Next i
Text1.Text=Str(sum)
End Sub
运行程序,单击命令按钮Command1后弹出如第4题图所示的出错信息提示,此时程序正执行的语句是( D )
A.sum=0 B.For i=10 To 2 Step-2
C.sum=sum+i D.Text1.Text=Str(sum)
解析:本题主要考查的是VB程序的调试。出现“要求对象”的错误提示,主要是在界面上找不到代码中要求的对象。
5.(2021·浙江1月选考)将正整数n分解为两个正整数之和,其中一个能被3整除,另一个能被7整除。统计分解方法共有几种的VB程序段如下:
cnt=0︰i=7
Do While i < n
Loop
Text1.Text=Str(cnt)
方框中的代码由以下三部分组成:
①i=i+7 ②j=n-i ③If j Mod 3=0 Then cnt=cnt+1
下列选项中,代码顺序正确的是( B )
A.①③② B.②③① C.③②① D.①②③
解析:本题主要考查枚举算法的应用。i为n分解后的一个正整数,i的初始值为7(7是7的倍数的最小正整数),另一个正整数j=n-i,如果j为3的倍数,则有一种分解方法,再更新i的值即i=i+7(确保i是7的倍数),继续列举、验证。故选B。
6.(2020·浙江7月选考)下列VB程序段功能为:在文本框Text1中显示整型数组元素a(1)到a(9)中的最小值和最大值。
amin=a(1)︰amax=a(1)
i=2︰j=9
Do While i<=j
If a(i)>a(j) Then
(1)
(2)
Else
(3)
(4)
End If
i=i+1︰j=j-1
Loop
Text1.Text=Str(amin)+","+Str(amax)
上述程序段中方框(1)(2)(3)(4)处可选语句依次为( B )
①If a (j)>amax Then amax=a (j)
②If a(j)<amin Then amin=a (j)
③If a(i)<amin Then amin=a (i)
④If a(i)>amax Then amax=a (i)
A.④③②① B.④②③① C.③②④① D.③①④②
解析:本题主要考查VB选择语句的相关知识。amin记录最小值,amax记录最大值。由If a(i)>a(j) Then语句可知,如果表达式成立,将a(i)和amax比较,a(j)和amin比较,否则a(i)和amin比较,a(j)和amax比较,故选