c语言-第7章-用函数实现模块化程序设计

c语言-第7章-用函数实现模块化程序设计

ID:31191789

大小:74.50 KB

页数:6页

时间:2019-01-07

c语言-第7章-用函数实现模块化程序设计_第1页
c语言-第7章-用函数实现模块化程序设计_第2页
c语言-第7章-用函数实现模块化程序设计_第3页
c语言-第7章-用函数实现模块化程序设计_第4页
c语言-第7章-用函数实现模块化程序设计_第5页
资源描述:

《c语言-第7章-用函数实现模块化程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第7章用函数实现模块化程序设计为什么要用函数怎样定义函数为什么要定义函数■c语言要求,在程序屮用到的所有函数,必须“先定义,后使用”■指定函数名字、函数返回值类型、函数实现的功能以及参数的个数与类型,将这些信息通知编译系统。定义函数的方法1.定义无参函数类型名函数名(){函数体}2定义有参函数定义有参函数的一般形式为:类型名函数名(形式参数表列){函数体}3.定义空函数定义空函数的一般形式为:类型名函数名(){}调用函数函数调用的形式■函数调用的一般形式为:函数名(实参表列)函数调用的形式■按函数调用在程序中出现的形式和位置來分,可以有以下3种函数调用方式:1.函数调用语

2、句■把函数调用单独作为一个语句如printf_star();■这吋不要亲函数带回值,只要求函数完成一定的操作2.函数表达式■函数调用出现在另一个表达式屮女nc=max(a,b);■这时要求函数带回一个确定的值以参加表达式的运算3.函数参数■函数调用作为另一函数调用时的实参如m=max(a,max(b,c));■其屮max(b,c)是一次函数调用,它的值作为max另一次调用的实参函数调用时的数据传递1•形式参数和实际参数□在调用有参函数时,主调函数和被调用函数之间有数据传递关系□定义函数时函数名后面的变量名称为“形式参数”(简称“形参”)口主调函数中调用一个函数时,函数名后

3、而参数称为“实际参数”(简称“实参”)□实际参数可以是常量、变量或表达式1.实参和形参间的数据传递□在调用函数过程中,系统会把实参的值传递给被调用函数的形参口或者说,形参从实参得到一个值□该值在函数调用期间有效,可以参加被调函数屮的运算对被调用函数的声明和函数原型■在一个函数中调用另一个函数需要具备如下条件:(1)被调用函数必须是C经定义的函数(是库函数或用户自C定义的函数)(2)如果使用库函数,应该在本文件开头加相应的#include指令(3)如果使用自己定义的函数,而该函数的位置在调用它的函数之前,可以不声明函数的嵌套调用函数的递归调用■在调用一个函数的过程中又出现直

4、接或间接地调用该函数本身,称为函数的递归调用。■C语言的特点之一就在于允许函数的递归调用。数组作为函数参数数组元素作函数实参数组名作函数参数■用数组名作函数实参时,向形参传递的是数组首元素的地址数组名作函数参数多维数组名作函数参数局部变量和全局变量局部变量■在函数内部或复合语句内部定义的变量称为“局部变量”全局变量■而在函数之外定义的变量称为外部变量■全局变量可以为本文件屮其他函数所共用■有效范围为从定义变量的位置开始到木源文件结束变量的存储方式和生存期动态存储方式与静态存储方式□静态存储方式是指在程序运行期间由系统分配固定的存储空间的方式□动态存储方式是在程序运行期间根

5、据需要进行动态的分配存储空间的方式局部变量的存储类别1•自动变量(auto变量)□是动态地分配存储空间的2静态局部变量(static局部变量)■希望函数中的局部变量在函数调用结束后不消失而继续保留原值,即其占用的存储单元不释放,在下一次再调用该函数吋,该变量已有值(就是上一次函数调用结束时的值),这时就应该指定该局部变量为“静态局部变量”,用关键字static进行声明3.寄存器变量(register变量)全局变量的存储类别■全局变量都是存放在静态存储区屮的。因此它们的生存期是固定的,存在于程序的整个运行过程1.在一个文件内扩展外部变量的作用域■外部变量有效的作用范围只限于

6、定义处到本文件结束。■如果用关键字extern对某变量作彷卜部变量声明”,则可以从“声明”处起,合法地使用该外部变量2.将外部变量的作用域扩展到其他文件用extern3•将外部变量的作用域限制在本文件中■有时在程序设计中希望某些外部变量只限于被本文件引用。这时可以在定义外部变量时加一个static声明。用static声明一个变量的作用是:(1)对局部变量用static声明,把它分配在静态存储区,该变量在整个程序执行期间不释放,其所分配的空间始终存在。⑵对全局变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。内部函数■如果一个函数只能被本文件中其

7、他函数所调用,它称为内部函数。■在定义内部函数吋,在函数名和函数类型的前面加static,即:static类型名函数名(形参表)■内部函数又称静态函数,因为它是用static声明的■通常把只能由本文件使用的函数和外部变量放在文件的开头,前面都冠以static使之局部化,其他文件不能引用外部函数■如果在定义函数时,在函数首部的最左端加关键字extern,则此函数是外部函数,可供其他文件调用。■如函数首部可以为externintfun(inta,intb)■如果在定义函数时省略extern,则默认为外部函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。