VB第七章自测题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章自测题及其参考答案
7.1一维数组
自测题
一.单项选择题(共30分,每小题10分)
1.下列一维数组说明语句错误的是()。
a)Dim b(100) AS Double
b)Dim b(-5 To 0) AS Byte
c)Dim b(-10To –20) AS Integer
d)Dim b(5 To 5) AS String
2.若有数组说明语句为:Dim a(-3 To 8) 则数组a包含元素的个数是()。
a)5 b)8 c)11 d)12
3.设有数组说明语句:Dim c(1 To 10),则下面表示数组c的元素选项中()是错误的。
a)c(i-1) b)c(5+0.5) c)c(0) d)c(10)
二.写出下面事件过程的执行结果(共30分,每小题15分)
1.
Private Sub Command1_Click()
Dim s(1 To 6) As Integer
For i = 1 To 6
s(i) = i
Next i
For i = 1 To 3
For j = 4 To 6
t = s(i)
s(i) = s(j)
s(j) = t
Next j
Next i
For i = 1 To 6
Print s(i);
Next i
End Sub
2.
Private Sub Command1_Click()
Dim f(10) As Integer
f(0) = 1: f(1) = 1
For i = 2 To 10
f(i) = f(i - 2) + f(i - 1)
Next i
For i = 0 To 9
If i Mod 4 = 0 Then Print
Print f(i),
Next i
End Sub
三.程序填空题(共40分,每空10分)
1.下面事件过程的功能是从键盘上输入20个数,统计其中非负个数和计算所有非负数之和,在横线上填上适当内容。
Private Sub Command1_Click()
Dim a(3) As Single, s As Single, count%
For i = 1 To 3
a(i) = InputBox("a(" & Str(i) & ")=")
Next i
s = 0: count = 0
For i = 1 To 3
If (1) Then
GoTo L
Else
(2)
count = count + 1
End If
L: Next i
Print "count="; count
Print "s="; s
End Sub
2.下面事件过程的功能是:用随机函数产生10个10到100之间的随机整数存放到一维数组a中,并求a中的最小值及最小值在数组a中的位置,在横线上填上适当内容。Private Sub Command1_Click()
Dim a(10) As Integer, i%, max%, index%
Randomize
For i = 1 To 10
a(i) = Int(91 * Rnd + 10)
Print a(i);
Next i
max = a(1): index = 1
For i = 2 To 10
If (3) Then max = a(i): (4)
Next i
Print "数组a中的最小值为:"; max
Print "最小值所在位置为:"; index
End Sub
参考答案
一.单项选择题
1.c 2. d 3. c
二.写出下面事件过程的执行结果
1.6 5 4 3 2 1
2.1 1 2 3
5 8 13 21
34 55
三.程序填空题
1.(1)a(i) < 0 (2)s = s + a(i)
2.(3)a(i) < max (4)index = i
7.2二维数组
自测题
一.单项选择题(共30分,每小题10分)
1.下列数组说明语句中正确的是()。
a)Dim a(-1 To 5,8)AS String
b)Dim a(n,n)AS Integer
c)Dim a(0 To 8,5 To –1)AS Single
d)Dim a(10,-10)AS Donble
2.设有数组说明语句:Dim b(-1To2,-2To2),则数组b中元素的个数是()。
a) 12 b) 15 c) 16 d) 20
3.设有数组说明语句:Dim c(-1To1,1To5),则下列表示数组c的元素选项中()是正确的。
a)c(i+j) b)c(i)(j) c)c(i+1,i-1) d)c(1,0)
二.阅读下列事件过程写出执行结果(共30分,每小题15分)
1.
Private Sub Command1_Click()
Dim a(1 To 9) As Integer
Dim b(1 To 3, 1 To 3) As Integer
Dim i%, j%
For i = 1 To 9
a(i) = i
Next i
For i = 1 To 3
For j = 1 To 3
b(i, j) = a(i * j)
If j <= i Then Print b(i, j),
Next j
Next i
End Sub
2.
Private Sub Command1_Click()