关于vb的编程,二级考题2

来源:百度知道 编辑:UC知道 时间:2024/05/21 08:53:02
private sub command1_click()
static x as integer
cls
for i=1 to 2
y=y+x
x=x+2
Next
Print x,y
end sub
程序运行后,连续三次单击command1后,窗体上显示是什么?

我static的用法搞不清,答案说他有数值储存功能,那时不是就意味着等于传址的意思。cls是什么意思。
这个程序究竟内部是怎么运行的呢?答案为什么是12 18?
static是定义静态变量的`````他和dim是对立的 我还是没搞懂,是不是x这个值因为是静态了,所以随便怎么+ -* / x的结果都为原来的值?

static 是表明 x 是静态的变量。
cls 是 清屏。
因为 x 是静态的 所以可以保留值。
按第一次 循环2次
y=0;x=0 => y=0;x=2 => y=2;x=4
答案是 4 2;
按第二次 循环2次
y=0;x=4 => y=4;x=6 => y=10;x=8
答案是 8 10
按第三次 循环2次
y=0;x=8 => y=8;x=10 => y=12;x=18
答案是 12 18

结果窗体是显示12 18.
用窗体级的普通变量和用过程级的静态变量,在同一个过程中,效果一样的。像这样:
Dim x As Integer
Private Sub command1_click()
Cls
For i = 1 To 2
y = y + x
x = x + 2
Next
Print x, y
End Sub

在窗体中用Dim声明变量,此变量在整个窗体内任何时刻的过程及函数都可用;在过程中用Dim声明,即声明过程级的普通变量,在过程或函数结束后便消失。

而Static声明的静态变量只能在过程或函数中使用,这个函数的值都可以被保留即使过程或函数已经结束。这个变量只能为这个过程服务,其他过程或函数无法调用它。

变量嘛,当然会变的,只要用传址方式改动了,就不会说自动恢复到原始值的。

static是定义静态变量的`````而dim是定义普通变量,静态变量的值会继续保留,直到退出,而普通变量是这次运算完后就变会原值
cls是清除的意思~