- 4
- 0
- 约1.61千字
- 约 18页
- 2017-01-12 发布于湖北
- 举报
参数的传递解析
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 主程序 过程 这两段程序必须放在同一文件下
您可能关注的文档
最近下载
- 山桐子种植加工、旅游项目可行性研究报告商业计划书.docx VIP
- 山桐子种植及种苗培育种植加工可行性研究报告申请备案.doc VIP
- 和田地区2026年度地直机关公开遴选公务员、事业单位公开选聘工作人员备考题库及完整答案详解1套.docx VIP
- 山桐子合作种植协议合同.docx VIP
- 2025年香氛未来趋势报告-英敏特.docx VIP
- 报告正文2014年太阳绿宝.pdf VIP
- 2025年高考:云南物理--试题及答案.pdf VIP
- 广东省深圳市宝安区2025-2026学年五年级上学期期末学业质量评估语文试卷.docx VIP
- (2025)山桐子产业开发生产建设项目可行性研究报告(一).docx VIP
- 2024-2025学年广东省东莞市统编版三年级上册期末考试语文试卷.pdf VIP
原创力文档

文档评论(0)