还剩26页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
子程序和函数VB子程序和函数是代码组织和重用的一种重要机制它们将一组相关语句封装VB在一起,实现特定功能子程序和函数都是代码块,但它们在功能和调用方式上有所区别子程序用于执行特定任务,而函数用于计算并返回一个值课程目标理解子程序和函数的掌握子程序和函数的
11.
22.概念语法掌握子程序和函数的定义、作学会如何声明、调用和使用子用和区别程序和函数理解参数传递机制掌握子程序和函数的
33.
44.应用学习传值、传引用、可选参数和参数数组等参数传递方式能够将子程序和函数应用于实际的编程场景什么是子程序代码块子程序是一段可重复使用的代码,它执行特定任务模块化代码子程序可以将程序分解成更小的、可管理的块代码重用子程序可以多次调用,避免重复代码子程序的作用代码复用代码组织团队协作简化调试子程序可以重复使用,避免重子程序将程序分解成多个模块不同的开发人员可以独立开发子程序可以独立调试,提高程复编写相同代码,提高代码可读性和维护性子程序,提高团队开发效率序调试效率声明子程序关键字Sub1使用关键字声明子程序,并用括号包含参数列表Sub子程序名称2为子程序指定一个描述性的名称,例如或CalculateSum参数列表DisplayGreeting3定义子程序接受的参数,包括类型和名称,用逗号分隔调用子程序子程序是程序中可以重复使用的代码块在需要执行子程序的代码处,使用语句调用子程序`Call`语句Call1启动子程序执行子程序名称2标识要执行的代码块参数3传递数据到子程序调用子程序后,程序会跳转到子程序代码块执行执行完子程序代码后,程序会返回到调用子程序的代码处继续执行子程序的参数参数的作用参数传递方式子程序参数就像一个桥梁,连接子程序内部的代码与外部调用它参数传递方式是指将参数传递给子程序的方法,有两种主要方式的代码通过参数,可以传递数据给子程序,让它根据这些数据传值和传引用进行操作传值是将参数的值复制一份传递给子程序,子程序对参数的操作参数可以是数值、字符串、变量等,让子程序更加灵活,能够处不会影响原始数据传引用是将参数的地址传递给子程序,子程理不同的数据序可以直接访问原始数据,修改它会影响原始数据参数传递方式按值传递按引用传递将实际参数的值复制到形式参数将实际参数的地址传递给形式参,改变形式参数的值不会影响实数,改变形式参数的值会影响实际参数的值际参数的值参数传递示例传值1将变量副本传递给子程序传引用2传递变量的内存地址示例3通过示例代码演示两种传递方式传值和传引用是两种常见的参数传递方式传值只传递变量的副本,不会影响原变量的值;而传引用则传递变量的内存地址,子程序可以修改原变量的值通过实际代码示例,更直观地理解两种传递方式的区别函数的定义函数结构函数由关键字、函数名称、参数列表、返回值类型和函Function数体构成参数列表定义函数接收的输入值,返回值类型指明函数返回的值的类型函数体包含执行特定操作的代码块,并最终返回一个值函数的返回值函数的结果数据类型
1.
2.12函数执行后,返回一个值,代函数返回值的类型需要与函数表函数的执行结果,可用于后声明时的类型一致,例如,若续操作函数声明返回值为整数,则返回值也必须为整数语句提升代码效率
33.Return
44.使用语句将返回值传函数返回值可以有效地将函数Return递给调用函数,并将函数执行的执行结果传递给调用函数,流程返回到调用函数处提高代码可读性和维护性函数的应用模块化代码复用代码函数可将代码分解成更小的、可重用的部分,提高代码的可读性和只需定义一次函数,即可在程序中的多个位置调用,减少重复代码可维护性,提高效率简化逻辑增强可读性函数将复杂的功能封装成一个简单的调用,简化代码逻辑,提高代函数可以将代码分解成更小的、可重用的部分,提高代码的可读性码的可读性和可维护性函数和子程序的区别返回值调用方式用途子程序没有返回值,函数有返回值调用子子程序通常使用关键字调用,函数通常子程序主要用于完成特定的任务,函数主要Call程序时不返回值,而调用函数时会返回一个直接使用函数名进行调用用于计算并返回结果值函数和子程序的何时选择子程序可以重复使用,避免代码重复函数可以返回结果,用于计算或操作子程序和函数可以增强代码可读性和组织性命名规范命名规范避免使用缩写变量名、函数名、子程序名要有意义、易于理解、方便记忆除非缩写是行业通用的建议使用描述性的命名方式,例如例如,使用代替,使用“calculateArea”“calcArea”代替“displayWelcomeMessage”“dsplyWelcmMsg”计算面积•显示欢迎信息•读取文件数据•单行语句子程序单行语句子程序单行语句子程序是指在代码中只包含一个语句,通常用于简短的操作或执行简单的逻辑语法单行语句子程序通常以关键字开始,后面紧跟着子程序的名称,并以结束`Sub``End Sub`示例例如,以下代码展示了一个简单的单行语句子程序,该程序将一个消息框显示在屏幕上Sub ShowMessageMsgBoxHello,World!End Sub适用场景单行语句子程序通常适用于简短的操作,例如显示消息框、设置变量值或调用其他子程序多行语句子程序代码块1使用标记`...`代码段2分行书写解释3解释代码含义多行语句子程序以标记开头和结尾代码块中的代码段分行书写,方便阅读和理解每个代码段后通常会添加解释,说明代码的`...`作用和功能递归子程序循环调用条件控制递归子程序是指在自身内部调用递归程序通常需要使用条件语句自身的程序来控制递归的深度应用场景递归子程序适用于解决树形结构、分治算法、数学问题等问题静态和动态局部变量静态局部变量动态局部变量
11.
22.在子程序或函数中声明为的变量每次子程序或函数被在子程序或函数中声明为的变量每次子程序或函数被调Static Dim调用时,这些变量的值不会被清除,而是在它们上次调用时存储用时,这些变量的值都会被初始化为默认值,例如数字、字符0的值串为空存储方式使用场景
33.
44.静态局部变量存储在内存中的静态存储区,而动态局部变量存储静态局部变量用于存储子程序或函数执行过程中需要保留的值,在堆栈中而动态局部变量用于临时存储值模块级变量模块级变量作用域生命周期在模块中声明的变量,可以被该模块中的所模块级变量的作用域仅限于该模块模块级变量的生命周期与模块相同,在模块有子程序和函数访问加载时创建,在模块卸载时销毁传值和传引用传值传引用副本参数,修改子程序中的参数不会影响原始直接使用原始参数,修改子程序中的参数会影值响原始值可选参数可选参数使用可选参数示例代码传递可选参数可选参数允许您定义函数或子在定义函数或子程序时,使用例如,可以使用关键在调用函数时Optional MyFunction程序时,可以传递一些参数,关键字声明可选参数字声明一个名为,可以传递可选参数Optional也可以不传递这些参数是可在调用函数或子程序时,可的函数,该函,也可以不传递MyFunction Param1选的当调用时,如果未提供以传递可选参数,也可以不传数具有一个可选参数名为如果不传递,则使用默认值可选参数,则使用默认值递Param1DefaultValue参数数组传递多个参数灵活性和可扩展性使用参数数组可以将多个参数传参数数组允许子程序或函数在不递给子程序或函数它可以接受知道传递参数数量的情况下处理任意数量的参数它们,增加了灵活性简化代码使用方法参数数组可以简化代码,减少重使用关键字声明参ParamArray复代码,并提高代码可读性数数组参数数组必须是最后一个参数变量作用域作用域定义局部变量全局变量变量的作用域是指程序中变量可访问的范围只在声明它的子程序或函数内部可用在模块级别声明,可在整个模块中使用变量生存期局部变量模块级变量仅在声明它们的子程序或函数中可用它们在子程序或函数执行在整个模块中可用它们在程序开始时创建,在程序结束时被销开始时创建,在执行结束时被销毁毁它们也可以在模块中的任何子程序或函数中访问子程序和函数的好处代码复用代码组织
1.
2.12子程序和函数可以重复使用,将代码模块化,使代码更清晰避免重复编写代码易读代码维护代码调试
3.
4.34修改代码时,只需要修改子程子程序和函数可以独立调试,序或函数,无需修改所有代码方便定位问题课程小结子程序和函数参数传递变量作用域提高代码可读性和可重用性通过参数传递数据给子程序和函数理解变量在不同代码块中的可见性课后练习练习一1编写一个子程序,计算两个数的和并返回结果练习二2编写一个函数,将一个字符串转换为大写字母练习三3编写一个递归子程序,计算一个整数的阶乘。
个人认证
优秀文档
获得点赞 0