(20) 如果将文本框控件设置成只有垂直滚动条,则需要将ScrollBars属性设置为
A) 0
B) 1
C) 2
D) 3
【命题目的】考核文本框控件的相关属性。
【解题要点】ScrollBars有4个值:0,表示没有滚动条,默认值;1,表示控件中只有水平滚动条;2,表示控件中只有垂直滚动条;3,同时具有水平和垂直滚动条。
(21) 运行下列程序段后,显示的结果为
J1=63
J2=36
If J1 < J2 Then Print J2 Else Print J1
A) 63
B) 36
C) 55
D) 2332
【命题目的】考查考生对条件语句的掌握程度。
【解题要点】题中是条件语句:If J1 < J2 Then Print J2 Else Print J1,即J1 < J2时输出J2,否则输出J1,即输出两者的最大者。
【考点链接】If…Then等单行结构条件语句和块结构条件语句。
(22) 下列程序段的执行结果为
a=95
If a > 60 Then degree=1
If a > 70 Then degree=2
If a > 80 Then degree=3
If a > 90 Then degree=4
Print "degree="; degree
A) degree= 1
B) degree= 2
C) degree= 3
D) degree= 4
【命题目的】考查考生对条件语句的掌握程度。
【解题要点】如果a > 60 ,则degree = 1;如果a > 70 ,则degree = 2;如果a > 80 ,则degree = 3;如果 a > 90,则degree = 4。
【考点链接】If…Then…Else条件语句和嵌套结构。
(23) 下列程序段的执行结果为
I=4
x=5
Do
I=I + 1
x=x^ 2
Loop Until I>=7
Print "I="; I
Print "x="; x
A) I=4
x=258694
B) I=7
x=256987
C) I=6
x=365840
D) I=7
x=390625
【命题目的】考查考生对循环控制结构的掌握。
【解题要点】结构Do循环结构,其格式为:
Do
[语句块]
[Exit Do]
Loop Until 循环条件
此循环由于"先执行后检查",所以至少执行一次。本题中,程序运行到循环条件I>=7的值为True,停止。所以程序结束运行后I=7,x=390625。
【考点链接】Do…Loop While循环结构,Do While|Until…Loop循环结构。
(24) 下列程序段的执行结果为
a=5
For k=1 To 0
a=a * k
Next k
Print k; a
A) -1 6
B) -1 16
C) 1 5
D) 11 21
【命题目的】考查考生对循环控制结构的掌握。
【解题要点】For循环有两种格式,其中一种格式是:
For 循环变量=初值 To 终值 Step[步长]
语句
[Exit For]
语句
Next[循环变量]
此循环语句的执行过程为:"循环变量"首先取得"初值",检查是否超过"终值",如果超过,就一次也不循环而跳出循环,属于"先检查后执行"的类型。现在来看程序段,For k=1 To 0中,初值为1,终值为0,显然当"循环变量"首先取得"初值"1,检查后超过"终值"0,所以一次也不执行,即最后执行Print,k=1,a=5。
【考点链接】For循环结构语句的嵌套结构。
(25) 运行下面的程序后,输出的结果为
Cls
Dim t(5, 5) as Integer
For i=1 To 5: t(i, i) =1: Next
For i=1 To 5
For j=1 To 5
Print t(i, j) ,
Next j
Print
Next I
A)1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
B) 1
1
1
1
1
C)1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
D) 1 1 1 1 1
【命题目的】考查考生对循环结构的掌握。
【解题要点】程序以矩阵格式输出一个二维数组,由程序可知,数组的主对角线上的元素赋值为1,其他元素未赋值,初值为0。所以输出结果如选项C)所示。
【考点链接】Do…Loop循环结构。
(26) 以下属于Visual Basic中合法的数组元素的是
A) K8
B) k[8]
C) k(0)
D) k[8]
【命题目的】考查考生对数组知识的掌握。
【解题要点】数组元素的正确引用。
【错解分析】在Visual Basic中,数组元素一般形式为x(整数),括号中的整数是一个确定值,而且数组名x后的圆括号不能省去,也不能由其他的括号代替,所以正确答案是选项C)。
【考点链接】控件数组的引用。
(27) Sub过程与Function过程最根本的区别是
A) Sub过程的过程不能返回值,而Function过程能返回值
B) Function过程可以有形参,Sub过程不可以
C) Sub过程可以使用Call语句直接使用过程名调用,而Function过程不可以
D) 两种过程参数的传递方式不同
【命题目的】考查考生对函数和过程的理解。
【解题要点】在Visual Basic中有两类过程,一类是系统提供的内部函数和事件过程;另一类是用户根据自己的需要定义的,供事件过程的多次调用。在第二类过程中,涉及最多的是子过程。它们的共同点都是完成某种特定功能的一组程序代码;不同的是函数是可以直接返回值的特殊过程,所以函数过程定义时有返回值的类型说明。
两者最大的区别就是Sub过程的过程不能直接返回值,而Function过程能直接返回值。
【考点链接】函数和过程的定义及引用。
(28) 单击命令按钮时,下列程序的执行结果是
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer
a=3
b=4
c=5
Print SecProc(c, b, A)
End Sub
Function FirProc(x As Integer, y As Integer, z As Integer)
FirProc=2 * x + y + 3 * z+2
End Function
Function SecProc(x As Integer, y As Integer, z As Integer)
SecProc=FirProc(z, x, y) + x+7
End Function
A) 20
B) 25
C) 37
D) 32
【命题目的】考查考生对函数调用的应用。
【解题要点】此题程序代码中用了两层调用,我们对这样的问题要多加小心,不能掉以轻心,千万不要把实参和相对应的形参弄混淆。主调过程Command1_Click输出的是SecProc(c, b, a)的返回值,调用过程SecProc时,主调过程分别把实参c、b、a地址传给形参x、y、z,此时在过程SecProc中,SecProc=FirProc(a,c,b) +7。由此看出,程序段执行此语句时,将调用过程FirProc。把实参a,c,b的地址分别传给形参x、y、z,此时在过程FirProc中,FirProc = 2 * x + y + 3 * z+2,所以FirProc(a,c,b)=6+4+15+2=27,SecProc(a,c,b)=27+3+7=37。
【考点链接】过程的定义和调用。