VB中sub过程与function函数的区别

合集下载

VB过程及其调用

VB过程及其调用

VB过程及其调用VB(Visual Basic,简称VB)是一种基于事件驱动编程的程序设计语言,是Microsoft公司开发的一种高级程序设计语言,常被用于Windows操作系统的应用程序开发。

VB中的过程指的是一系列语句的集合,用于完成特定的任务。

本文将介绍VB中的过程及其调用。

1.过程的定义在VB中,过程可以分为两种类型:Sub过程和Function过程。

Sub过程用于执行一系列操作,没有返回值;而Function过程则返回一个值。

Sub过程的定义格式如下:Sub 过程名(参数列表)'过程主体End SubFunction过程的定义格式如下:Function 过程名(参数列表) As 返回值类型'过程主体End Function其中,参数列表可以包含零个或多个参数,每个参数包含两部分:参数名和参数类型。

返回值类型指的是Function过程的返回值类型,可以是任意VB数据类型。

2.过程的调用在VB中,可以通过过程的名称和参数列表来调用过程。

调用过程时,可以传递参数给过程,如果过程需要返回值,可以将结果保存到一个变量中。

调用Sub过程的语法格式如下:过程名参数列表调用Function过程的语法格式如下:变量名=过程名(参数列表)以下是一个使用Sub过程和Function过程的示例:Sub SayHello(name As String)MsgBox("Hello, " & name & "!")End SubFunction Multiply(a As Integer, b As Integer) As IntegerMultiply = a * bEnd Function调用上述过程的示例代码如下:SayHello("John") '调用Sub过程,显示对话框,输出"Hello,John!"result = Multiply(5, 6) '调用Function过程,将结果保存到变量result中,result的值为303.过程的参数传递在调用过程时,可以传递参数给过程。

10.VB过程练习题

10.VB过程练习题

VB过程练习题一、选择题1.要想在过程调用后返回两个结果,下面过程定义语句中语法正确的是_______。

A. Sub swap(By Val m,By Val n) B. Sub swap(m, By Val n) C. Sub swap(m, n) D. Sub swap(By Val m, n)2.在过程调用中,参数的传递可以分为按值传递和_______两种方式。

A.按参数传递 B.按数值传递 C.按地址传递 D.按位置传递3.Sub过程与Function过程最根本的区别是_______。

A. Sub过程可以直接使用过程名调用,而Function过程不可以B. Function过程可以有参数,而Sub过程不可以C.两种过程参数传递方式不同D. Sub过程的过程名不能返回值,而Function过程能通过过程名返回值4.在参数传递过程中,使用关键字_______来修饰参数,可以使之按值传递。

A. ByVal B. ByRef C. Value D. reference 5.可以执行“工具”菜单中的_______命令来建立通用过程。

A.添加过程 B.通用过程 C.添加模块 D.添加窗体6.假定已定义一个过程Public Sub Cir(a As Single, b As Single),则正确的调用语句是_______。

A,2A. Cir 3,8 B. Call Cir x, yC. Call Cir 2*x, y D. Call Cir (3,8, y)7.在窗体模块的通用声明中声明变量时,不能使用_______关键字。

A. Dim B. Public C. Private D. Static 8. 在窗体上添加一个名称为Command1的命令按钮,再添加两个名称分别为Label1、Label2的标签,然后编写如下程序代码:Private x As IntegerPrivate Sub Command1_Click()a = 6:b = 4Call sub1(a, b)Label1.Caption = aLabel2.Caption = bEnd SubPrivate Sub sub1(ByVal x As Integer, ByVal y As Integer)a = x * xb = y * yEnd Sub程序运行后单击命令按钮,则两个标签中显示的内容分别是_______。

国家计算机二级(VB)86_真题-无答案

国家计算机二级(VB)86_真题-无答案

国家计算机二级(VB)86(总分100,考试时间120分钟)选择题(每小题2分,共70分) 下列各题四个选项中,有一个是正确的,请选择正确答案。

1. 表达式x=Sqr(a^2-5)+sqr(b^2-5)的类型是()。

A. 在Visual Basic 中的对话框分为两种类型:预定义对话框和自定义对话框B. 自定义对话框由用户根据自己需要定义的C. 预定义对话框是用户在设置程序代码后定义的D. MssgBox 函数是用户的自定义对话框的函数2. 在窗体上画一个名为Command1的命令按钮,然后编写以下程序:Private Sub Command1_Click() Dim M(10)As Integer For k=1 To 10 M(k)=12-k Next k x=8 Print M(2+M(x)) End Sub 运行程序,单击命令按钮,在窗体上显示的是A. 6B. 5C. 7D. 83. 单击窗体时,下列程序的执行结果是( )。

Private Sub Invert(By Val xstr As String,ystr As String)Dim tempstr AS String Dim I AS Integer I=Len(xstr) Do While I>=1tempstr=tempstr + Mid(xstr,I,1)I=I - 1Loop yStr=tempStr End Sub Private Sub Form_Click( )Dim s1 As String,s2 As String S1="abcdef"Invert S1,S2Print S2End SubA. blooean isAlive( )B. Thread currentThread( )C. String getName( )D. smtic boolean interrupted( )4. Sub过程与Function过程最根本的区别是()。

vb考试题

vb考试题

章节作业--第1次作业:10题1、, Visual Basic的三种工作模式是。

A) 编辑 B) 编译 C) 设计、运行、中断 D) 连接正确答案是: C 你选择的答案是:C √2、, 在Visual Basic中,以下什么方法可以改变窗体的大小。

A) 设计时在窗体布局窗口中进行调整。

B) 运行时设置窗体的Left属性。

C) 运行时调用窗体的Move方法。

D) 设计时在窗体布局窗口中点鼠标右键,在快捷菜单中进行设置。

正确答案是: C 你选择的答案是:C √3、, 如果要使窗体的最小化按钮变成灰色(不起作用),需设置窗体的()属性。

A) Caption B) Icon C) MaxButton D) MinButton正确答案是: D 你选择的答案是:D √4、, 要使窗体上的所有控件具有相同的字体格式,应首先在属性窗口中对()的Font属性进行设置,然后再添加各控件。

A) 所有控件 B) 窗体 C) 标签控件 D) Fontname正确答案是: B 你选择的答案是:B √5、, 在属性窗口设置命令按钮的DownPicture属性,指定按下时显示的图形文件,但在运行时按下命令按钮却没有效果,原因是()。

A) 命令按钮的Default属性为True B) 命令按钮的Style属性为2-PictureC) 命令按钮的Style属性为0-Standard D) 命令按钮的Style属性为1-Graphics正确答案是: C 你选择的答案是:C √6、, 要在窗体上显示图片,需设置窗体的()属性。

A) Caption B) IconC) Picture D) ControlBo正确答案是: C 你选择的答案是:C √7、, “重复”命令是对()命令的反操作。

A) 撤消 B) 查找C) 复制 D) 剪切正确答案是: A 你选择的答案是:A √8、, 运行时,单击窗体(Form1)将窗体的前景色设置为红色的事件过程是()。

VB6当中自定义过程和函数以及参数类型

VB6当中自定义过程和函数以及参数类型

VB6 当中自定义过程和函数以及的参数类型近日,接连看到有关在VB6中自定义过程和函数中的参数的类型问题,于是产生一种冲动,想写一篇比较全面的相关文章。

文章的名就叫《VB6 当中自定义过程和函数的参数类型》好了。

一.自定义过程和函数:为什么要提供让用户自己定义具有特殊功能的过程和函数呢?我们来看一个例子;在编写一个具体的应用项目的时候,可能需要在多个地方输出打印一行60个符号“*”,即:************************************************************以此作为分隔线。

输出打印的代码如下:Dim i As IntegerFor i = 1 To 60Print “*”;Next iPrint由于在多处地方需要输出这行符号,所以在多个地方会出现完全相同的代码,为了减少代码重复,我们就可以自己编写一个过程,该过程就是能够完成输出一行“*”号的工作;该过程的代码如下:1.编写自定义过程:Private Sub PLine()Dim i As IntegerFor i = 1 To 60Print “*”;Next iPrintEnd Sub从上面的代码中可以体会,过程的格式由;Private Sub Pline() 开始,End Sub 结束。

开始部分由四部分组成;Private ---- 定义该过程的使用范围,类似定义变量前的引导字,定义过程可以用:Private、Public、Friend三种关键字,分别表示在:窗体、模块和类模块中使用。

Sub ---- 表示为过程,相应Function表示为函数。

PLine ---- 是自定义过程的名称。

() ---- 一对括号,括号里列出需要的参数,本例无参数。

即使无参数,括号也不能省。

2.调用自定义过程:调用格式:格式1:Call 过程名(参数列表)格式2:过程名参数列表对应上例的调用语句为:Call Pline() 或者Pline于是,有了这个自定义过程,在代码中凡是需要输出这行符号的地方,就可以简略地用一行语句来完成。

计算机二级(VB)41_真题-无答案

计算机二级(VB)41_真题-无答案

计算机二级(VB)41(总分100,考试时间120分钟)选择题(每小题2分,共70分) 下列各题四个选项中,有一个是正确的,请选择正确答案。

1. 单击命令按钮时,下列程序的执行结果为()。

Private Sub Command1_Click() Dim x As Integer,y As Integer x=50:y=78Call PPP(x,y)Print x;y End Sub Public Sub PPP(ByVal n As Integer,ByValm As Integer)n=n\10 m=m\10End SubA. 0 8B. 50 78C. 4 50D. 78 502. 数据库系统的核心是______。

A. 数据模型B. 数据库管理系统C. 数据库D. 数据库管理员3. Sub过程与Function过程最根本的区别是()。

A. 12 12B. 12 21C. 21 12D. 21 214. 下列程和序段的执行结果为()。

x=Int(Rnd()+9)Select Case X Case 10 Print "excellent"Case 9Print "good"Case 8 Print "pass"Case Else Print "fail"End SelectA. 派生类一般都用公有派生B. 对基类成员的访问必须是无两义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的5. 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()x = -5If Sgn(x) Then y = Sgn(x ^ 2)Else y = Sgn(x)End If Print y End Sub程序运行后,单击命令按钮,窗体上显示的是()。

电子科技大学22春“计算机应用技术”《VB程序设计》期末考试高频考点版(带答案)试卷号1

电子科技大学22春“计算机应用技术”《VB程序设计》期末考试高频考点版(带答案)试卷号1

电子科技大学22春“计算机应用技术”《VB程序设计》期末考试高频考点版(带答案)一.综合考核(共50题)1.设有语句:x=InputBox(“输入数值”,“0”,“示例”)程序运行后,如果从键盘上输入数值10并按回车键,则下列叙述中正确的是()。

A.在box对话框标题栏中显示的是“示例”B.变量x的值是数值10C.变量x的值是字符串“10”D.0是默认值参考答案:C2.将命令按钮设为默认命令按钮,应设置为True的属性是()。

A.ValueB.EnabledC.DefaultD.Cancel参考答案:C3.Sub过程与Function函数的最根本区别是()。

A.两种过程参数的传递方式不同B.Sub过程是语句级调用,可以使用Call或直接使用过程名,但Function过程是在表达式中调用C.Sub过程无返回值,但Function过程有返回值D.Function过程可以有参数,而Sub过程不可以加aopenxu0306优惠参考答案:C4.刚建立一个新的标准工程后,不在工具箱中出现的控件是()。

A.通用对话框B.文本框C.图片框参考答案:B5.定义一个常量PI,可以使用下列语句中的()。

A.Set PI = 3.14159B.PI = 3.14159C.Const PI = 3.14159D.Const PI参考答案:C6.Load事件是在窗体被装入工作区时()触发的事件。

A.用户B.程序员C.手工D.自动参考答案:D7.下列列表框属性中哪一项不是数组()。

A.SelectedB.ListCountC.ListD.Index参考答案:B8.在窗体上有一个文本框控件,名称为TxtTime;一个计时器控件,名称为Timer1,要求每一秒钟在文本框中显示一次当前的时间,程序为 Private Sub Timer1 TxtTime.text=Time End Sub 在横线上应填入的内容是()。

A.VisibleB.TimerC.IntervalD.Enabled9.ADO数据控件的RecordSoure属性是表示()。

计算机二级(VB)37_真题-无答案

计算机二级(VB)37_真题-无答案

计算机二级(VB)37(总分100,考试时间120分钟)选择题(每小题2分,共70分) 下列各题四个选项中,有一个是正确的,请选择正确答案。

1. 根据变量的作用域,可以将变量分为3类,分别为()。

A. 2B. -2C. 0D. +22. 下列程序段的执行结果为( )。

a=75If a >60 Then Score=1If a >70 Then Score=2If a >80 Then Score=3If a >90 Then Score=4Print "Score= ";ScoreA. 对顺序文件中的数据操作只能按一定的顺序操作B. 顺序文件结构简单C. 顺序文件的数据以字符(ASCII码)形式存储D. 能同时对顺序文件进行读写操作3. 下面4个CT函数中是用来判断用户输入的数是否为奇数的,是奇数的返回1,否则返回0,其中正确的是()。

A. Function CT(ByVal a As Integer)If a Mod 2=0 Then Return 0 ElSe Return 1End if End FunctionB. Function CT(ByVal a As Integer)If a Mod 2=0 Then CT=0Else CT=1End if End FunctionC. Function CT(ByVal a As Integer)If a Mod 2=0 Then CT=1Else CT=0End if End FunctionD. Function CT(ByVal a As Integer)If a Mod 2=0 Then Return 1Else Return 0End if End Function4. 语句A=B+C代表的意思是()。

A. ④B. ⑤C. ⑥D. ⑦5. 在窗体上有一个命令按钮,然后编写如下事件过程Private Sub Command1 _ cickc ( ) a=InputBox("enter the first integer")b=InputBox("enter the second integer") Print b + a End Sub程序运行后,单击命令按钮,先后在两个输入框中分别输入“2”和“6”,则输出结果为( )。

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

function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有
function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值。

Sub 过程与Function 过程的区别:
1.Sub 过程定义时无需定义返回值类型,而Function 过程一般需要用“As 数据类型”定义函数返回值类型。

2.Sub 过程中没有对过程名赋值的语句,而Function 过程中一定有对函数名赋值的语句。

3.调用过程:调用Sub 过程与Function 过程不同。

调用Sub 过程的是一个独立的语句,而调用函数过程只是表达式的一部分。

Sub 过程还有一点与函数不一样,它不会用名字返回一个值。

但是,与Function过程一样,Sub 过程也可以修改传递给它们的任何变量的值。

4.调用Sub 过程有两种方法:
以下两个语句都调用了名为MyProc 的Sub 过程。

Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意当使用Call 语法时,参数必须在括号内。

若省略Call 关键字,则也必须省略参数两边的括号。

在VB中,子过程与函数过程只有一处区别(要学好VB一定要记住),区别就是:子过程没有返回值,函数过程有返回值。

子过程用于编写一些代码的集合,函数过程用于建立函数。

我兴个例吧。

例如,我要做多处要做如下事件,我只要编写一个子过程,在其它事件下,我只要把子过程的名称写下就行了。

Private Sub ABC(A As Integer, B As Integer, C As Integer)
A = 1
B = 1
C = 1
End Sub
Private Sub Command1_Click()
ABC '按扭一就调用了该子过程了,而不用再写子过程的代码。

End Sub
Private Sub Command2_Click()
ABC '按扭二就调用了该子过程了,而不用再写子过程的代码。

End Sub
Private Sub Command3_Click()
ABC '按扭三就调用了该子过程了,而不用再写子过程的代码。

End Sub
函数例子:
如我要多处运用C=A+B这个算法,我可以编写这个函数:Private Function C (A As Integer, B As Integer) As Integer
C = A + B
End Function
Private Sub Command1_Click()
Text1.Text = C(5, 3) '这里就运用了函数C来计算5+3了。

End Sub
Private Sub Command2_Click()
Text1.Text = C(4, 2) '这里就运用了函数C来计算4+2了。

End Sub
完毕。

相关文档
最新文档