网站大量收购闲置独家精品文档,联系QQ:2885784924

7.2 过程调用与参数传递..ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.2 过程调用与参数传递.

上节课复习 知识要点 7.3 过程调用 7.3.1 事件过程的调用 7.3.2 调用Sub过程 7.3.3 调用Function过程 7.3.4 调用其它模块中的公有过程 Sub子过程的调用 (1) 用Call语句调用Sub过程 语法:Call 过程名(实在参数表) 实在参数的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号分隔。如果被调用的过程是一个无参过程,则括号可以省略. 例: 例7-2 编写一个找出任意一个正整数的因子的程序 (2)把过程名作为一个语句来用    语法:过程名 [实参1[,实参2……]]    它与(1)的不同点是:去掉了关键字call和实参列表的括号 课堂练习 课堂练习 课堂练习 7.4 参数的传递(重点、难点) 参数传递是按对应“位置”结合而不是按名字结合,即第一个实参与第一形参结合,第二个实参与第二个形参结合,依此类推。 说明:(1)形参表和实参表中的对应变量名可以不必相同。 分析下列程序的值 Private Sub Command1_Click() Dim M As Integer, N As Integer M = 15: N = 20 Call Value_Change(M,N) Print M, N End Sub 分析下列程序的值 Private Sub Command1_Click() Dim M As Integer, N As Integer M = 15: N = 20 Call Value_Change(M,N) Print M, N End Sub Private Sub Value_Change(X As Integer, by value Y As Integer) X=X+20 Y=X+Y Print “X=“;X,”Y=“;Y End Sub 编写程序计算5!+4!+3!+2!+1!的值 参数数据类型转换的例子 Private Sub Form_Click() Dim S as Single S=125.5 Call Convert((S),”12”+”.5”) End Sub Private Sub Form_Click() Dim v1 As Integer, v2 As Integer, v3 As Integer v1 = 2: v2 = 3: v3 = 4 Print v1 + v2 + v3 * f(v1, v2, v3) End Sub Public Function f(a As Integer, b As Integer, c As Integer) a = a + 10 b = b + 10 c = c + 10 f = a + b + c End Function 因为在print语句中,计算表达式时,优先执行函数调用。调用结束时f=39,而v1,v2,v3的值也变了, 如果修改成: 结论:函数调用的优先级是不确定的,与诸多因素有关。编程时尽量不把按地址传递的实参变量放在函数调用的前面,可能会使算术表达式的值难以预料。 对数组作形参作几点说明: 1)如果形参数组的类型是变长字符串型,则对应的实参数组的类型也必须是变长字符串型。 3)调用过程时,只要把传递的数组名放在实参表中即可,数组名后面不跟圆括号。 4)在过程中不可以用dim语句对形参数组进行声明,否则将产生“重复声明”的错误 ,但是使用动态数组时,可以用redim语句改变形参数组的维界,重新定义数组的大小。当控制返回调用程序时,对应参数的维界也跟着发生变化。 Private sub form_click() Dim array() as integer,i as integer Redim array(5) Print “调用前数组上界:”;ubound(array) Call changedim(array) Print “调用后数组上界:”;ubound(array) Print “数组各元素的值为:” For i=1 to ubound(array) print array(i); Next I End sub 15 20 返回地址 1000(地址) 20 M N X Y

文档评论(0)

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

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

1亿VIP精品文档

相关文档