高级语言程序的设计第六章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 过 程 内容提要 引言 编写一个通用的函数过程,使其可以求任意整形数的阶乘,即n!,并利用这个函数过程解决5!+6!+7!的问题。 将例6-1改用子程序过程求解。 函数(Function)过程 编写一个函数过程,统计一串字符中某个字符的出现次数,并在事件过程中调用它,以得到结果。 子程序(Sub)过程 编写两个Sub子过程,Sub子过程daying1,打印一行“-”信息,Sub子过程daying2,打印两个“|”,这两个Sub子过程不需要参数,因此参数表为空,在窗体单击事件 过程中,分别调用这 两个子过程,以打印 一个图形。 将例6-3的例子改为用一个子过程实现。 将例6-2的例子改为用一个子过程实现。 参数的传递 验证实例一。 验证实例二。修改例6-7中的程序,将子过程的参数前说明传递方式的关键字byval删除。 求数组中元素的最大值。 数组的排序问题。 变量与过程的作用域 设计两个窗体,编写两段程序代码,验证全局级过程与窗体级过程的不同。 模块级变量与局部变量应用实例。 静态变量应用实例。 Shell函数的应用       过程的作用域分为两级: 模块级(文件级):只能在本模块或本文件中被调用。这类过程定义时在Sub或Function之前加上Private关键字。 全局级(工程级):在整个工程内均能被调用。这类过程定义时在Sub或Function之前加上Public关键字(或什么也不加,系统默认为全局级)。 过程的作用域 变量与过程的作用域 例6-11 变量与过程的作用域 不同作用范围的过程定义及调用规则 变量与过程的作用域 窗体 标准模块 作用范围 模块级 全局级 窗体 标准模块 定义方式 过程名前加Private 过程名前加Public或缺省 能否被本模块调用 能 能 能 能 能否被其它模块调用 不能 不能 能,但必须在过程名前加窗体名 能,但过程名必须唯一,否则要加标准模块名 变量的作用域分为三级: 过程级(局部变量):指在过程内部定义,只能在过程内使用的变量。定义方式:Dim,Static。局部变量随过程的调用而分配存储单元,一旦该过程结束,变量的内容自动消失,占用的存储单元被释放。 窗体/模块级:指在窗体/模块文件之内,在所有过程之外定义的变量。定义方式:在“通用声明”段中用Dim或Private声明。该变量可被本窗体/模块的任何过程访问,但不能被其他模块文件中的过程访问。 全局级(工程级)(全局变量):指只能在标准模块的任何过程外,即在“通用声明”段中用Public声明的变量,可被应用程序的任何过程访问。全局变量的值在整个应用程序中始终不会消失和重新初始化,只有当整个应用程序执行结束时才会消失。 变量的作用域 变量与过程的作用域 不同作用范围的变量声明及使用规则 变量与过程的作用域 作用范围 局部变量 窗体/模块级变量 全局变量 窗体 标准模块 声明方式 Dim, Static Dim,Private Public 声明位置 过程中 窗体/模块“通用声明”段 标准模块的“通用声明”段 能否被本模块其他过程访问 不能 能 能 能否被其它模块访问 不能 不能 能,但须在过程名前加窗体名 能 例6-12 变量与过程的作用域 结论: 在同一模块不同过程中定义的变量可以同名。这些变量占用不同的存储单元,互不相干。 在同一模块不同级别中定义的变量可以同名。此时,系统优先访问作用域小的变量名,作用域大的变量被“屏蔽”。也就是说,在过程中直接引用的变量是同名变量中作用域最小的那个变量。若想访问作用域大的变量,则必须在作用域大的变量名前加模块名。 在不同模块中定义的全局变量可以同名。如果在窗体模块的“通用声明”段用Public关键字定义全局变量,则该变量的作用域仅限于窗体模块,只有在标准模块的“通用声明”段用Public关键字定义的全局变量,其作用域才是整个应用程序。 变量与过程的作用域 从变量的作用空间来说,变量有作用域;从变量的作用时间来说,变量有生存期。当程序运行进入过程内部时,要分配给其中的变量内存单元,当程序退出过程后,变量占有的内存单元是释放还是保留,根据变量在程序运行期间的生存期,把变量分为静态变量和非静态变量。 非静态变量:用Dim关键字在过程内部声明的局部变量。这种变量在程序进入变量所在过程时,才分配该变量的内存单元,经过处理退出该过程后,变量占有的内存单元自动释放,其值消失。每一次重新执行过程时,变量重新声明(重新开辟存储单元并初始化)。 静态变量(数组):用Static关键字在过程内部或过程起始

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档