《VB程序设计》作业(二)
客观题部分:
选择题(每题1分,共15题)
1. 当VB执行下面语句后,A的值为(A )。
A=1IF A>0 THEN A=A+1IF A>1 THEN A=0
A)0 B)1 C)2 D)3
2. 当VB执行下面语句后,输出的结果是(B )。
Private Sub Form_Click()
score = Int(Rnd * 10) + 30Select Case scoreCase Is < 10A$ = "F"Case 10 To 19A$ = "D"
Case 20 To 29A$ = "C"Case 30 To 39A$ = "B"Case ElseA$ = "A"End SelectPrint A$End Sub
A)AB)B C)C D)D
3. 执行下面的程序段后,x 的值为( C )。
x=2For i=1 To 10Step 3x=x+i\2Next i
A) 2 B) 4 C) 7 D) 9
4. 假定有以下循环结构:
Do Until 条件循环体Loop
则正确的描述是( D )。
A) 如果“条件”是一个为0的常数,则一次循环体也不执行
B) 如果“条件”是一个为0的常数,则至少执行一次循环体
C) 如果“条件”是一个不为0的常数,则至少执行一次循环体
D) 不论“条件”是否为“真”,至少要执行一次循环体
5. 假定有以下程序段:
For i= 1 To 3For j= 5 To 1 Step -1Print i *jNextj , i
则语句“Print i *j”的执行次数是( C )。
A)20B)24 C)15 D)18
6. 以下程序段的输出结果为( D )。
x = 2y = 8Do Until y>8x = x * yy = y +1LoopPrint x
A)2B)9 C)10 D)16
7. 用下面的语句所定义的数组的元素个数是(D )。
Dim A(-3 To 5)As Integer
A)6 B)7C)8D)9
8. 阅读下面的程序段:
For i=1 To 2For j=1 To IFor k=j To 2x=x+1Next kNext jNext i
执行上面的三重循环后,x的值为( C )。
A) 3 B) 4 C) 5 D) 6
9.在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
For i=1 To 3x=2For j =1 To 2x=4For k=1 To 3x=x+5Next kNext jNext i
Print xEnd Sub
程序运行后,单击命令按钮,输出结果是( B )。
A) 11 B) 19 C) 57 D) 63
10. 在窗体上画两个文本框Text1和Text2,一个命令按钮Command1,然后编写如下事件过程:
Private Sub Command1_Click()
x=1Do While x<50x=(x+1)*(x+2)n=n+1LoopText1.Text=Str(n)Text2.Text=Str(x)End Sub
程序运行后,单击命令按钮,在两个文本框中显示的值分别为( B )。
A) 1和0 B) 2和56
C) 3和 70 D) 4和168 11. 以下正确的叙述是( C )。
A ) Select Case 语句中的测试表达式可以是任何形式的表达式
B ) Select Case 语句中的测试表达式只能是数值表达式或字符串表达式
C ) 在执行Select Case 语句时,所有Case 子句均按出现的次序被顺序执行
D ) 如下Select Case 语句中的Case 表达式是错误的:
Select Case xCase 1 to 10…… End Select
12. 在窗体上绘制一个命令按钮Command1,然后编写如下程序:
Option Base 1Private Sub Command1_Click()Dim a
a = Array(1, 2, 3, 4, 5) j = 1
For i = 5 To 1 Step -1 s = s + a(i) * j
j = j * 10 Next i Print sEnd Sub
运行程序,单击命令按钮,输出结果为( B )。
A )54321 B)12345 C)1234 D)4321
13. 在窗体上绘制一个命令按钮Commandl ,编写以下事件过程:
Private Sub Commandl_C1ick() Dim bb =Array(1,2,3,4,5) ……End Sub
此过程的功能是把数组b 中的5个数逆序存放。
为了实现此功能,省略号处的程序段应该是( C )。
A) For i =0 To 5-1\2 tmp =b(i) b(i)=b(5-i-1) b(5-i-1)=tmp Next i
B) For i =0 To 5 tmp=b(i) b(i)=b(5-i-1) b(5-i-1)=tmp Next i
C) For i =0 To 5\2 tmp =b(i) b(i)=b(5-i-1) b(5-i-1)=tmp Next i
D) For i =1 To 5\2 b(5-i-1)=tmp tmp=b(i) b(i)=b(5-i-1) Next i
14. 在窗体上绘制一个命令按钮Commandl ,编写以下事件过程:
Option Base 1
Private Sub Command1_Click()
Dim a(3, 3) As Integer
For i = 1 To 3 For j = 1 To 3 a(i, j) = 2 * i + j Next j Next i For i = 2 To 3 For j = 2 To 3 Print a(j, i) Next j Next iEnd Sub
程序运行后,单击命令按钮,输出的结果是( C )。
A ) 5
B )6 C) 6 D )5
6 7 8 7
7 8 7 6 8 9 9 8
15. 设有函数y =⎪⎩
⎪⎨⎧<=>)0()0(0
)0(*x x x x x x ,下面不能正确求得函数值的程序段是( D )。
A ) Select Case x
Case Is < 0
y=x Case 0 y=0
Case Is > 0
y=x*x
End Select B ) If x>0 Theny=x*x End If
If x=0 Then y=0 End If
If x<0 Then y=x End If
C)If x < 0 Theny = xElse
If x > 0 Then y = y * x Else y = 0 End IfEnd If D)If x<=0 Theny=x End If
If x>0 Then y=x*x Else y=0 End If
主观题部分:
编程题(每题15分,共1题)
编程实现一个窗体Form的click事件,单击该窗体后从键盘接收变量n的数值然后计算并打印1+2+...+n 的值,如果和已经大于1000则停止计算。
Private Sub Command1_Click()
Dim i As Integer
Dim n As Integer
Dim s As Integer
i = 0
s = 0
n = InputBox("请输入整数n")
Do While (s <= 1000)
i = i + 1
s = s + i
Loop Until i >= n
Print "1+2+3+...+n=" & s
End Sub。