4、(1)UBound(a)、(2)n=n+1、(3)b() 5、(1)k、(2)Lcase、(3)97
四、程序改错题(每个错误点3分,共15分)
Option Base 1 Dim x(10) As Integer
Private Sub Command1_Click()
List1.Remove (1)修改为:list1.clear For i = 1 To 10
x(i) = (2) 修改为:x(i) = Int(Rnd * 100 + 1) List1.AddItem x(i); (3)修改为:List1.AddItem x(i) Next i End Sub
Private Sub Command2_Click() Dim sum As Integer sum = 0 For i = 1 To 10
If Then (4)修改为:If x(i) Mod 5 = 0 Then Print x(i) sum = sum + x(i)
(5)修改为:End If Next i
Print \End Sub
09级期末考试(B)
一、单项选择题(1分/小题,共10分)
1、标签的()属性设置为True时,标签控件的大小随标题文字自动调整. (A)AutoSize(B)Caption(C)Alignment(D)BackStyle 2、CLS可清除窗体或图形框中的内容是( )
(A)Picture属性设置的背景图案 (B)在设计时放置的控件 (C)程序运行时产生的图形和文字 (D)以上A~C全部
3、RGB 函数通过红.绿.蓝三基色混合产生某种颜色,某语法为RGB(红.绿.蓝),括号中红、绿、蓝三基色的成分使用0~255之间的整数.若使用三个滚动条分别
11
输入三种基色,为保证输入数值有效,则应设置( )属性. (A)Max和Min (B)Smallchange和 LargeChange (C)Scroll和Change (D)Value
4、要定义一个变量为全局变量,应使用( )关键字. (A)Static(B)Public(C)Private(D)Sub 5、下列程序段的运行结果( ) Private Sub Form_Click() Dim Msg Hide
Msg=\选择'确定'按钮\ MsgBox Msg Show End Sub
(A)隐藏窗体,按'确定'按钮使窗体重现 (B)隐藏窗体
(C)显示窗体,按'确定'按钮使窗体隐藏 (D)显示窗体
6、在窗体上添加一个命令按钮,编写如下代码:
Private Sub Command1_Click
Dim Arr1(10) as Integer ,Arr2(10) As Integer N=3
For i=1 to 5 Arr1(i)=i Arr2(n)=2*n+i Next i
Print Arr2(n), Arr1(n)
End Sub
程序运行后,单击命令按钮,输出结果是( ) (A)11 3(B)3 11(C)13 3 (D)3 13
7、假设变量BOOLVAR是一个布尔型变量,则下面正确的赋值语句是( ). (A)BOOLVAR='TRUE' (B)BOOLVAR=.TRUE. (C)BOOLVAR=#TRUE# (D)BOOLVAR=3<4 8、执行下面程序段后,变量a的值为( ). For I=1 To 3
12
For j=1 To I For k=j To 3 a=a+1 Next k Next j Next I
(A)3(B)9(C)14(D)21 9、下面选项中( )是算术运算符. (A)%(B)And(C)&&(D)Mod
10、以下正确的描述是:在Visual Basic 应用程序中( ) (A)过程的定义可以嵌套,但过程的调用不能嵌套 (B)过程的定义不可以嵌套,但过程的调用能嵌套 (C)过程的定义过程的调用均可以嵌套 (D)过程的定义过程的调用均不可以嵌套 三、程序填空(2分/空,30分)
1、下面的程序用\冒泡\法将数组a中的10个整数按从小到大排列,请将程序补充完整。 Option Base 1
Private Sub Command1_Click() Dim a
a = Array(-2, 5, 24, 58, 43, -10, 87, 75, 27, 83) For i = 10 To 2 Step -1 For 【①】 If 【②】 Then a1 = a(j + 1) a(j + 1) = a(j) a(j) = a1 End If Next j
【③】 For i = 1 To 10 Print a(i) Next i End Sub
13
2、程序运行结果如图所示,请将程序补充完整。
Private Sub Form_Click()
Dim I As Integer, j As Integer Dim star As String star = \★\ For I = 1 To 6
Form1.Print Tab(14 - I * 2); For j = 1 To 【①】 Form1.Print star; Next j Form1.Print Next I
For I = 1 To 5
Form1.Print Tab(【②】);
For j = 1 To (6 - I) * 2 【③】 Form1.Print star; Next j Form1.Print Next I End Sub
3、本程序功能为,单击窗体,Form1的输出结果为 A1=10 B1=20 A2=20 B2=10
Public Sub Swap1【①】 x As Integer, ByVal y As Integer) Dim t As Integer t = x x = y y = t End Sub
Public Sub Swap2(x As Integer, y As Integer) Dim t As Integer t = x x = y
14
y = t End Sub
Private Sub Form_Click()
Dim a As Integer, b As Integer a = 10 b = 20 【②】 a, b
Form1.Print \ a = 10 b = 20 【③】 a, b
Form1.Print \End Sub
4、下面的程序段,用于实现在一个nXm的矩阵中,找出值最大的元素所在的行和列,并输出其值及行号和列号。 Private Sub Form_Click() Dim mat() As Integer
Dim n as integer, m As Integer n = Val(InputBox(\请输入矩阵的行数\m = Val(InputBox(\请输入矩阵的列数\【①】
For i = 1 To n For j = 1 To m
mat(i, j) = InputBox(\请输入数组元素值\ mat(i, j) = Val(mat(i, j)) Next j Next i
Print \所建立的矩阵为\For i = 1 To n For j = 1 To m Print mat(i, j); Next j Print Next i
15