- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
参数的传递讲解
Visual Foxpro 数据库与程序设计 6.4 过程与自定义函数---带参数的过程调用 一、复习 过程文件的产生原因。 过程文件的分类:内部过程、外部过程。 外部过程文件的建立、打开、关闭。 注意事项: 1、过程的书写格式(procedure…endproc)成对出现; 注意事项: 2、过程文件的追加additive选项的添加。 3、一定要关闭过程,可以和《网页制作》层叠样式表作比较。 二、新课 1、参数产生 由于程序模块的相关性,需要从主程序向过程(子程序)传递数据,而过程(子程序)有时也需要将处理结果回传给主程序,这些数据被称为参数。 2、参数的分类 根据参数的不同性质,参数分为实在参数和形式参数。 实在参数(简称实参)是指调用过程(子程序)时所给定的参数,它用于向过程(子程序)传递过程(子程序)所需的参数。 形式参数(简称形参)是指过程(子程序)从主程序处接受的参数。 3、参数的调用 在主程序调用子程序时,完成实在参数和形式参数的结合,即将实在参数的值传给形式参数,形式参数以接受的值完成子程序的功能。 因此,实在参数和形式参数的个数相同,类型和位置一一对应。 4、参数调用的方法 定义带参数的过程: Procedure过程名 parameters 参数表 命令序列 return Endproc 调用带参数的过程: Do 过程名 with 参数表 注意 若实参个数少于形参个数,多余的形参值取逻辑假。 若实参个数多于形参个数,系统提示错误信息。 示例 5、参数传递的类型 参数传递有以下两种形式: 值传递(Call by Value)--用括号括住 调用程序将实参的值传给形参,实参和形参使用不同的内存地址,对形参进行的变化不影响实参的值。 引用传递—系统默认传递方式 (地址传递 Call by Reference/Address) 调用程序将实参在内存中的地址传给形参,使实参和形参共用同一地址。当形参的值发生变化时,实参的值也随之发生改变。 也就是说使用引用传递时,形参的值能返回给实参。 传递数组的应用 clear dimension a(5) for i=1 to 5 a(i)=i endfor s=0 do p1 with a, s for i=1 to 5 ??a(i), space(2) endfor ?s=, s return 三、小结 作业 * * 形参表:必须为常量 实参表:可为常量、已赋值的变量、表达式等 例:用主程序与子程序方式求长方形的面积,请用传参数方式编写。 x=0 y=0 s=0 input 输入长: to x input 输入宽: to y do CZ2 with x, y, s ?s=, s return CZ2.prg parameters a, b, c c=a*b return 主程序 子程序 实参 形参 x=0 y=0 s=0 input 输入长: to x input 输入宽: to y do CZ2 with (x), (y), (s) ?s=, s return CZ2.prg parameters a, b, c c=a*b return 主程序 子程序 实参 形参 x y s a b c 变量x的值复制一份给变量a 变量y的值复制一份给变量b 变量s的值复制一份给变量c 最终s的 值是多少 x y s 最终s的 值是多少 a b c 变量a的地址指向变量x 变量b的地址指向变量y 变量c的地址指向变量s proceudre p1 parameters b, s for i=1 to 5 b(i)=2*b(i) s=s+b(i) endfor return 主程序 过程 这两段程序必须放在同一文件下
文档评论(0)