c语言程序设计第6章.pptx
《c语言程序设计第6章.pptx》由会员分享,可在线阅读,更多相关《c语言程序设计第6章.pptx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6.1 子过程(Sub)的定义与调用6.1.1 子过程的定义Private|定义子过程的一般格式如下:Public|FriendStatic Sub 过程名(参数列表)语句块 Exit sub 语句块 End Sub第1页/共49页说明:(1)子过程以Sub开头,以End Sub结束,而在Sub和End Sub之间的语句块,称为“过程体”或“子过程体”,它决定着子过程的功能;(2)Private表示只有在包含其声明的模块中的其他过程可以访问该Sub过程;(3)Public表示Sub过程是公有过程,可以在程序的任何地方调用。缺省 Private|Public 时,系统默认为 Public;(4)
2、Friend只能在类模块中使用;6.1 子过程的定义与调用第2页/共49页(5)Static表示在调用期间保留Sub过程的局部变量的值。Static属性对在Sub外声明的变量不会产生影响,即使过程中也使用了这些变量。(6)过程名的命名规则与变量命名规则相同,在同一个模块中,同一符号名不得既用作Sub过程名,又用作Function过程名。(7)参数列表中的参数称为形式参数(简称形参),它可以是变量名或数组名,也可以是简单变量,但不能是常量、数组元素、表达式;若有多个参数时,各参数之间用逗号分隔,形参没有具体的值。6.1 子过程的定义与调用第3页/共49页形式参数格式为:ByVal 变量名()As
3、 数据类型(8)Exit Sub语句可以提前结束过程调用,使执行立即从一个Sub过程中退出。(9)Sub 过程不能嵌套定义,但可以嵌套调用。6.1 子过程的定义与调用第4页/共49页6.1.2 建立Sub过程建立一个子过程有如下两种方法。1.利用菜单“工具”|“添加过程”命令定义具体方法如下:(1)进入代码窗口,在左侧显示对象名的下拉框中选择“通用”,在右侧显示过程的下拉框中选择“声明”,然后键入Sub及子程序名。(2)按Enter键后,Visual Basic系统会自动加上End Sub与子程序名后的一对括号,此时便可输入子程序语句。6.1 子过程的定义与调用第5页/共49页2.利用代码窗口
4、直接定义6.1 子过程的定义与调用第6页/共49页【例6-2】打印一个平行四边形。Private Sub triangle(Str As String,n As Integer)Dim i%,j%For i=1 To n print spc(6-i);For j=1 To n Print Spc(1);Str;Next j PrintNext iEnd Sub 6.1 子过程的定义与调用第7页/共49页6.1.3 调用Sub过程 1.用Call语句调用Sub过程语法:Call 过程名(实际参数表)说明:(1)实际参数的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号分隔
5、。(2)如果子程序不带参数,Call语句中子程序名后的一对括号可以省去,例如:Call Add1 这是允许的。6.1 子过程的定义与调用第8页/共49页【例6-3】编写一个名为MyDay过程输入,用户输入一个06的数字,在窗体上显示对应的星期。程序运行效果如图6-1-3所示。6.1 子过程的定义与调用查看代码第9页/共49页【例6-4】利用过程编写求任意三角形面积的程序。(1)界面设计6.1 子过程的定义与调用第10页/共49页Private Sub area(X!,Y!,z!,s!)Dim p!p=(X+Y+z)/2 s=Sqr(p*(p-X)*(p-Y)*(p-z)End Sub6.1 子
6、过程的定义与调用Private Sub cmdJs_Click()Dim a!,b!,c!,w!a=Val(txtA.Text)b=Val(txtB.Text)c=Val(txtC.Text)If a b+c Or b a+c Or c a+b Then MsgBox 输入的三条边不能构成一个三角形!Else Call area(a,b,c,w)txtMj.Text=Str(w)End IfEnd Sub第11页/共49页2.把过程名作为一个语句来用语法:过程名 实参1,实参2它与Call语句的不同点是:去掉了Call关键字和实参列表的括号。如上例中可以改成:area a,b,c,w6.1 子
7、过程的定义与调用第12页/共49页6.2.1 函数过程的定义定义函数过程的语法格式如下:Public|PrivateStaticFunction 函数名()As函数名=返回值Exit Function函数名=返回值End Function6.2 函数过程的定义与调用第13页/共49页说明:(1)函数过程以Function开头,以End Function结束,两者之间是描述函数操作的语句块为“函数体”。(2)函数名命名规则与变量名规则相同。但不能与系统的内部函数或其他通用子过程同名,也不能与已定义的全局变量和本模块中模块级变量同名。(3)在函数体内,函数名可以当变量使用,函数的返回值就是通过对函
8、数名的赋值语句来实现的。6.2 函数过程的定义与调用第14页/共49页(4)如果函数体内没有给函数名赋值,则返回对应类型的缺省值,数值函数返回0,字符串函数返回空字符串,变体型函数返回Empty。(5)As类型:是指函数返回值的类型,若省略,则函数返回变体类型值(Variant)。(6)Exit Function:表示退出函数过程,常常是与选择结构(If或Select Case语句)联用,即当满足一定条件时,退出函数过程。(7)形参数列表:形参的定义与子过程完全相同。(8)函数过程内部不得再定义Sub过程或Function过程。6.2 函数过程的定义与调用第15页/共49页6.2.2 建立函数
9、过程1.用代码窗口直接定义其步骤如下:(1)打开代码窗口,在“对象”列表框中选择“通用”选项。(2)在“过程”列表框中选择“声明”选项。(3)输入Function和函数名。(4)按Enter键后,Visual Basic系统会自动加上End Function与函数名后的一对括号,此时便可输入函数语句。6.2 函数过程的定义与调用第16页/共49页2.利用菜单“工具”|“添加过程”命令定义其步骤如下:(1)打开代码窗口,选择菜单“工具”|“添加过程”栏命令。打开“添加过程”对话框。(2)在“名称”文本框中输入函数名;在“类型”栏中选取“函数”定义函数过程;在“范围”栏中若选取“公有的”则定义一个
10、公共级全局函数;若选取“私有的”,则定义一个标准模块板/窗体板的局部函数。(3)单击“确定”按钮后,系统自动建立一个函数模板,之后就可以在其中编写函数代码。6.2 函数过程的定义与调用第17页/共49页6.2.3 调用函数过程 函数过程返回一个值,这是与子过程的主要区别,其调用方式与标准函数调用一样,作为表达式中的一个部分被引用。语法:函数名(实参列表)注意:必须给参数加上括号,即使没有参数也不可省略括号;实际参数和形式参数对应关系的要求与子过程相同。6.2 函数过程的定义与调用第18页/共49页【例6-5】编写一个程序,对输入的成绩进行评定,要求程序的评定在函数中完成,评定结果(字符串)为函
11、数的返回值。6.2 函数过程的定义与调用第19页/共49页Private Function Appraise(ByVal score%)As String Select Case score Case 0 To 59 Appraise=重修 Case 60 To 100 Appraise=通过 Case Else Appraise=数据超出范围!End Select End Function Private Sub Command1_Click()Text2=Appraise(Val(Text1)End Sub 6.2 函数过程的定义与调用第20页/共49页【例6-6】编写计算阶乘的函数过程,
12、当用户单击窗体时,利用下列近似公式计算(直到最后一项小于10-7为止)。6.2 函数过程的定义与调用Private Sub Form_Click()Dim n!s=1:n=1:t=1 Do t=1/Fact(n)s=s+t n=n+1 Loop While t=10 -7 Print sEnd Sub调用函数Fact的程序代码如下:Private Function Fact(x!)Dim p!p=1 For n=1 To x p=p*n Next Fact=pEnd Function第21页/共49页6.3.1 模块概述 Visual Basic应用程序通常由3种模块组成,即窗体模块(Form
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计
限制150内