过程与函数的相关知识

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、过程

过程的定义:是实现一个特定功能的指令序列。

过程的分类:事件和通用过程

子过程与函数

补充知识:所谓事件是指对象所能识别的动作

所谓方法是指对象所做出的活动。

对象事件名的组成:对象名_事件名

事件可以由用户来定义其过程,也可以由系统来定义2、子过程的定义格式

private sub 子过程名(形参列表)

过程体

[exit sub]

end sub

说明:过程定义不能嵌套,但可以嵌套调用,即在一个过程中可以调用另外一个过程。

例如:

private sub max(x as integer,y as integer)

if x>y then

print x

else

print y

endif

end sub

private sub fun()

a=2

b=4

max a,b

end sub

3、函数的定义

格式:

private function函数名(形参列表) as 返回值类型函数过程体

[exit function]

end function

说明:函数过程定义不能嵌套,但可以嵌套调用,即在一个函数过程中可以调用另外一个函数过程;函数过程可以

通过函数名返回一个值即:函数名=返回值。

子过程与函数过程的最大区别是:函数过程可以有返回值。

例如:private function max(x as integer,y as integer) as integer if x>y then

z=x

else

z=y

endif

max=z说明:此处通过函数名返回最大值。

end function

4、过程的调动方法

(1) call 过程名(实参列表)

(2) 过程名 实参列表

(3)变量名=函数过程名(实参列表)

call 过程名 实参列表 (错误的调用方法)

过程名(实参列表) (错误的调用方法)

注:函数调用可以出现在表达式中,而子过程调用不能出现在表达式中。因为子过程没有返回值,而函数有返回值。

5、参数传递

(1)实参和形参:

实参:是指出现在过程调用中的参数。

形参:是指出现在过程定义中的参数。

(2)参数的传递方式

传值方式(byval ):是一种传值的方式,即只是将实参的值传递给形参,此时实参与形参各自分配有不同的空间,故改变形参不影响实参的值。

reference

传地址方式(又称引用方式 byref ):是一种传地址方式,即将实参的地址传递给形参,此时形参与实参指向同一空间,故改变形参会改变实参的值。默认情况下,即没有给出传递方式的情况下,是传地址方式。

传值

例如:

…function max(byval x as integer,byref y as integer,z as integer ) as integer

其中:x是传值方式,y 被显式地说明为传地址方式,而z则被默认设置为传地址方式。

……..

end function

(3)数组参数的传递

a)数组作为过程的实参或形参时,必须在数组名后加上括号。

b)为了把数组的全部元素传递给被调过程,应将数组名分别放入实参表和形参表中,并略去数组的上下界,但括号不能省。注:该情况是传地址方式,不能是传值方式。

c)如果只是把数组元素作为实参,则与普通变量用法相同。

例如:

dim a(10) as integer

定义时:function max( a() as integer ) as integer

……..

end function

调用时:max(a()) 此时,将把整个a数组传递给max函数。

相关文档
最新文档