VB关于子过程(Sub)和函数过程(Function),说法正确的是( )
B:子过程可以单独出现,函数过程只能出现在表达式或语句中
C:必须要给子过程定义过程类型
D:子过程和函数过程都能够在过程体中给过程名赋值
顺便解释下每句话错在哪里吧=、= 展开
推荐于2016-02-16
A:sub语句过程的调用是一条独立的语句,可用Call或省略Call直接以过程名调用,function过程尽管可以用Call调用(但会失去函数的意义)
C:function过程名要返回值,所以有类型声明;sub过程名无需类型声明。
D:function过程名兼做结果变量,因此在函数过程体内至少对function过程名赋值一次;sub过程名在函数过程体内不能赋值。
子过程可以单独出现的意思是指
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End Sub
这样子的句子可以单独出现,不需要像函数那样在段落中写出 xxx()吗?
(1) function过程的调用形式如下:
函数名(实参表)
实参表中的实参是传递给被调用过程的变量或表达式,函数过程名将有一个返回值,因此函数是特殊的表达式不能最为单独语句使用,而是必须给变量赋值或与命令一起使用的形式。
(2)过程有两种调用格式:
过程名 参数 2.CALL 过程名(实参)
当程序运行到调运语句时系统将控制权交给被调用的过程,由sub开始依次执行其中所有语句,当执行到End sub语句时返回到主程序调用语句的下一条语句继续执行(没有返回值,每次相互独立)
而sub过程是独立的一段子程序,以过程名标识被其他过程直接调用。
你所举例的:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
.......
End Sub
调用时只需用 Call sub 即可(sub作为过程名标识)作为一条独立语句,直接调用执行此段代码,无需像函数那样先给变量赋值或与命令一起使用的形式在进行函数过程的调用(函数过程本生不能独立存在,需要通过函数调用(赋值或表达式的形式)语句才有意义)。