计算机技术基础习题集
a(i+1)=m 新数据找到插入位置,插入到数组中 4.t=a(j)
a(j)=a(j+1) Tag=True t=a(j)
a(j)=a(j+1)
Not Tag Then Exit For 5.m*int(Rnd*11)
m+1 从下一个元素开始比较是否有相同元素值 i To n-1 n=n-1
Preserve a(1 To n) 5.3 编程题 1.Dim a%()
Dim b%(1 To 6)
Private Sub Command1_Click() Dim max%, aver%
ReDim a(1 To 5, 1 To 6) As Integer For i = 1 To 5 For j = 1 To 6
a(i, j) = Int(Rnd * 100 + 1) Next j, i
ReDim Preserve a(1 To 5, 1 To 7) '打印第一行行标题 For i = 1 To 6
Print Tab(5 + i * 5); i; Next i
Print Tab(5 + i * 5); \最高分\ '打印具体行内容 For i = 1 To 5 max = a(i, 1)
Print \第 \位\ For j = 1 To 6
If a(i, j) > max Then max = a(i, j) Print Tab(5 + j * 5); a(i, j); Next j
a(i, 7) = max
Print Tab(5 + j * 5); a(i, 7) Next i
Print \平均分\
36
计算机技术基础习题集
For j = 1 To 6 '求平均分 aver = 0
For i = 1 To 5
aver = aver + a(i, j) Next i
b(j) = aver / 5
Print Tab(5 + j * 5); b(j); Next j End Sub
2.Private Sub Command1_Click() Dim a(5, 5) As Integer, sum For i = 1 To 5 For j = 1 To 5
a(i, j) = Int(Rnd * 9 + 1) Print a(i, j);
If i = 1 Or i = 5 Or j = 1 Or j = 5 Then sum = sum + a(i, j) End If Next j Print Next i Print sum End Sub
37
计算机技术基础习题集
习 题 六
6.1选择题
1. VB中使用的过程不包括以下( )。
(A)子程序过程 (B)调用过程 (C)函数过程 (D)属性过程 2. 中途退出子过程的执行,应该使用的语句是( )。
(A)Exit Property (B)Exit Function (C)End (D)Exit Sub 3. VB中过程被调用,在该过程代码执行结束时,都会有以下( )关键词。 (A)End (B)Exit (C) Break (D)Continue
4. 在过程定义中用( )表示形参为传值形式。
(A)Var (B)ByDef (C)ByVal (D)Value 5. 在定义过程中用( )表示形参为传址形式。
(A)Var (B)ByDef (C)ByVal (D)Value 6. 以下哪个为定义静态变量的关键字( )。
(A)Dim (B)Public (C)Static (D)Const
7. 在编写过程时,如果形参为数组名,则参数的传递形式应该是( )。 (A)传值 (B)传址 (C)二者均可 (D)以上均不对 8. 某过程Fun中形参是一个数组,编写过程Fun的代码时,如果想知道该数
组的下界,应该使用( )函数。
(A)UCase (B)Bound (C)LBound (D)UBound
9. 若已编写了一个Sort子过程,在该工程中有多个窗体,为了方便地调用
Sort子过程,应该将过程放在( )中。
(A)窗体模块 (B)标准模块 (C)类模块 (D)工程
10. 在过程中定义的变量,若希望在离开该过程后,还能保存过程中局部变量
的值,则应使用( )关键字在过程中定义局部变量。
(A)Dim (B)Private (C)Public (D)Static 11. 设有如下说明:
Public Sub Fun(n%) ?
n=3*n+4 ? End Sub
Private Sub Command1_Click() Dim n%,m% n=3
38
计算机技术基础习题集
m=4
'调用Fun语句 ? End Sub
则在Command1_Click事件中有效的调用语句是( )。
(A)Fun n+m (B)Fun m (C)Fun 5 (D)Fun m+5 12. 下面子过程语句说明合法的是( )。
(A)Sub ff(ByVal n%()) (B)Sub ff(n%)As Integer (C)Function ff%(ff%) (D)Function ff(ByVal n%)
13. 要想从子过程调用后返回两个结果,下面子过程语句说明合法的是
( )。
(A)Sub f1(ByVal n%,ByVal m%) (B)Sub fl(n%,ByVal m%) (C)Sub f1(n%,m%)
(D)Sub fl(ByVal n%,m%)
14. 下面过程运行后,点击Command1一次显示的结果是( )。
Public Sub Fun(n%, ByVal m%) n = n Mod 10 m = m \\ 10 End Sub
Private Sub Command1_Click() Dim x%, y%
x = 12: y = 34 Call Fun(x, y) Print x, y End Sub
(A)2 34 (B)12 34 (C)2 3 (D)12 3 15. 如下程序,运行的结果是( )。
Private Sub Command1_Click() Print jsVal(3, 7) End Sub
Public Function jsVal!(x!, n%) If n = 0 Then jsVal = 1 Else
If n Mod 2 = 1 Then
jsVal = x * jsVal(x, n \\ 2) Else
jsVal = jsVal(x, n \\ 2) \\ x
39
计算机技术基础习题集
End If End If End Function
(A)18 (B)7 (C)14 (D)27
16. 如下程序,单击Command1后的运行结果是( )。
Dim a%, b%, c%
Public Sub p1(x%, y%) Dim c%
x = 2 * x: y = y + 2: c = x + y End Sub
Public Sub p2(x%, ByVal y%) Dim c%
x = 2 * x: y = y + 2: c = x + y End Sub
Private Sub Command1_Click() a = 2: b = 4: c = 6 Call p1(a, b)
Print \ Call p2(a, b)
Print \End Sub
(A)a=2 b=4 c=6 (B)a=4 b=6 c=10 a=4 b=6 c=10 a=8 b=8 c=16 (C)a=4 b=6 c=6 (D)a=4 b=6 c=14 a=8 b=6 c=6 a=8 b=8 c=6 17. 如下程序,运行的结果是( )。
Public Sub Proc(a%()) Static i% Do
a(i) = a(i) + a(i + 1) i = i + 1 Loop While i < 2 End Sub
Private Sub Command1_Click() Dim m%, i%, x%(10) For i = 0 To 4 x(i) = i + 1 Next i
For i = 1 To 2
40