问题 填空题

在窗体上画一个名称为Command1的命令按钮和3个名称为Label1、Label2、Label3的标签,然后编写如下程序段:
Public x As Integer
Private Sub Command1_Click()
Static y As Integer
Dim z As Integer
n=5
x=x+n
y=y+n
z=z+n
Label1.Caption=x
Label2.Caption=y
Label3.Caption=z
End Sub
运行程序,连续3次单击命令按钮后,则3个标签中显示的内容分别是______。

答案

参考答案:15 15 5

解析: 本题考查变量作用域的知识。在VBA中变量的作用域有3个层次:在模块过程内部用Dim或Private定义的变量为局部变量;在标准模块的变量定义区域用Dim或Private定义的变量为模块变量;在标准模块的变量定义区域用Public定义的变量为全局变量。这种变量不同于局部变量,每次调用过程的时候不会重新声明和初始化该变量,变量中仍然保留上次调用结束时的值。在本题中,第一次调用时x的值变为5,y的值变为5,z的值也变为5;第二次调用时x这个全局变量的值变为5+5=10,y这个静态变量的值变为5+5=10,z这个局部变量的值被重新定义只能变为5;以此类推第三次调用后,x的值变为15,y的值变为15,z的值是5。

多项选择题
单项选择题