第11章过程与函数全解.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * 一个变量被定义后并不是在任何地方都能被引用的,每一个变量都有它的作用域。变量的有效范围就是变量的作用域。由于变量的有效范围不同,所以也就有了不同级别的变量之分。为了更好地说明作用域,首先我们应该了解一个应用程序包括哪些部分。 * * 1.局部变量 在一个过程内部(例如Command1_Click)定义的变量称为局部变量。这个变量只能在定义它的过程内使用。我们知道一个窗体可以包括很多过程,在不同的过程中定义的变量可以同名,因为它们是互相独立互不干扰的。 例如: Private Sub Form1.click() Dim Count As Integer …… End Sub Private Sub Command1.click() Dim Count As Integer Static Sum As Single …… End Sub 在Form1_Click过程中定义了局部变量Count,在Command1.click过程中定义了Sum和Count,两个同名变量Count没有任何联系。 * 2. 窗体和模块级变量 如果一个窗体中的不同过程要使用同一个变量,这就需要在该窗体的过程外面定义一个变量,它在整个窗体内有效,即其作用域为整个窗体,本窗体内的所有过程都能访问它,这就是窗体级变量。 声名窗体变量的步骤: 声名这一变量首先要进入代码程序窗口,单击对象框右端向下的箭头并选择“通用” ,再单击过程框右端向下的箭头选择“声名”,如右图所示。 在窗体的通用声名里声名的变量都属于窗体级变量。这一级的变量只在本窗体内有效,在其它窗体中不能以该变量名来访问它。 如果 在窗体中以Private或Dim声名变量,其它窗体不能引用该变量,如果以Public声名这个变量,则允许在其它窗体中引用它,但必须指出其所在的对象。 如在Form1内定义: Public a As Integer 在其它窗体中必须用: Form1.a * 三、全局变量 全局变量可以被程序中的任何一个模块和窗体访问。在窗体中不能定义全局变量,全局变量要在模块中的声名部分用Global或Public关键字声名。 定义全局变量的格式为: Global 变量名 As 数据类型 或Public 变量名 As 数据类型 定义模块级变量的格式为: Dim 变量名 As 数据类型 或Private 变量名 As 数据类型 * * 在模块1中定义a为全局变量,它在整个程序范围内有效。 在窗体1中过程之外定义b1为窗体级变量,它的作用域为窗体1。 在模块2中用Dim定义b2为模块级变量,它的作用域为模块2。 根据上述有关变量的作用范围,我们从图中可以看出,过程1可以访问变量x、b1、a,过程2可以访问 y、b1、a,过程3可以访问变量sum、b2、a。 * * * * Private Function fac(n As Integer) As Integer If n = 1 Then fac = 1 Else fac = n * fac(n - 1) End If End Function Private Sub Form_Click() Print “fac(4)=”;fac(4) End Sub 程序的递归过程: 说明: 递归处理分递推和回归两个过程,如上图所示。 使用递归算法必须要满足以下的递归条件: (1)存在递归结束条件及结束时的值; (2)能用递归形式表示,且递归向终止条件发展。 根据过程的作用域,过程分为窗体/ 模块级和全局级。 11.6 变量与过程的作用范围 不同作用范围的二种过程定义及调用规则 能 但过程名必须唯一,否则要加标准模块名 能 但必须在过程名前加窗体名 不能 不能 能否被本应用程序其他模块调用 能 能 能 能 能否被本模块其他过程调用 Public 缺省 Private 定义方式 标准模块 窗体 标准模块 窗体 全局级 模块级 作用范围 变量的作用域 VB应用程序 窗体文件 模块文件 声名部分 事件过程 通用过程 全局声名部分 模块层声名部分 通用过程 变量的作用域 根据变量的作用域,变量分为局部(过程级)变量、窗体/ 模块变量和全局变量 局部变量 在过程中用Dim语句定义,只存在于过程中 窗体/ 模块变量 Dim语句或Private语句定义,模块中的所有过程都可使用 全局变量 Public语句定义,可以在所有模块中使用 1. 局部变量 在一个过程内

文档评论(0)

5500046 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档