- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]C语言_函数
C 语言程序设计函数 周闻钧 朱宏明 本讲内容 基本函数概念 函数的递归 局部变量和全局变量 变量的存储类别 函数的分类 main函数是系统定义的。所有函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一函数,即函数不能嵌套定义(这是和PASCAL不同的),但可以互相调用,但不能调用main函数 从用户使用的角度看,函数有两种: 标准函数,即库函数。这是由系统提供的,用户不必自己定义这些函数,可以直接使用它们。应该说明,每个系统提供的库函数的数量和功能不同,当然有一些基本的函数是共同的 用户自己定义的函数,以解决用户的专门需要 从函数的形式看,函数分两类 无参函数。在调用无参函数时,主调函数并不将数据传送给被调用函数,一般用来执行指定的一组操作。无参函数可以带回或不带回函数值,但一般以不带回函数值的居多 有参函数。在调用函数时,在主调函数和被调用函数之间有参数传递,也就是说,主调函数可以将数据传给被调用函数使用,被调用函数中的数据也可以带回来供主调函数使用。 编写和使用一个简单的函数 编写和使用一个简单的函数 Starbar标识符在不同的位置被使用了3次: 函数原型(function prototype):告知编译器starbar()的函数类型 函数调用(function call):导致该函数的执行 函数定义(function definition):确切的指定了该函数的具体功能 编写和使用一个简单的函数 函数和变量一样有多种类型。任何程序在使用函数之前都需要声明该函数的类型 下面是Ansi C风格的原型 void starbar(void); ()表明starbar是一个函数名。 第一个void指的是函数返回值类型,它的意思是该函数没有返回值 第二个void(位于圆括号内)表明该函数不接受任何参数 分号表示该语句是进行函数的声明而不是定义 编写和使用一个简单的函数 程序通过在main()中使用函数名后跟圆括号和分号的格式调用函数starbar() 程序把starbar()和main()包含在同一个文件中,也可以把它们放在不同的两个文件中,这种方式下必须在文件种加入#define或者#include指令 编写和使用一个简单的函数 带参数的函数 定义带参数的函数(形式参数) 函数定义以下面的ANSI C函数头开始 ANSI C也接受ANSI之前的形式,但将其视为废弃不用的形式 调用带参数的函数(实际参数) 使用实际参数对形式参数赋值 实际参数可以是常量、变量或一个复杂的表达式 调用带参数的函数(实际参数) 实际参数传递给形式参数是单向值传递 形式参数和实际参数 形式参数和实际参数 在调用函数时,大多数情况下,主调函数和被调用函数之间有数据传递关系 在定义函数时函数名后面括弧中的变量名称为形参 int func(int x, int y) {…} 在调用函数时,函数名后面括弧中的表达式称为实际参数(简称实参) {… int x=1, y=0; func(x,y); func(x+y,y-x); } 形式参数和实际参数 关于形参和实参的说明 在定义函数中指定的形参变量,在未出现函数调用时,它们并不占内存中的存储单元。只有在发生函数调用时函数max中的形参才被分配内存单元。在调用结束后,形参所占的内存单元也被释放 实参可以是常量、变量或表达式,但要求它们有确定的值。在调用时将实参的值赋给形参变量(如果形参是数组名,则传递的是数组首地址,而不是变量的值) 在被定义的函数中,必须指定形参的类型 实参与形参的类型应一致。如果实参为整型,形参为实型,或者相反,则发生“类型不匹配”的错误。字符型与整型可以互相通用 使用return从函数中返回一个值 使用return从函数中返回一个值 关键字return指明了其后的表达式的数值即是该函数的返回值。 因为min的类型是int,所以函数imin()的类型也是int 返回值不仅可以被赋给一个变量,也可以被用作表达式的一部分 使用return从函数中返回一个值 Return语句的另一个作用是终止程序的执行,把程序的控制权返回给调用函数的下一个语句 函数的类型 函数应该进行类型申明,同时其类型应和返回值类型相同 早期的c语言中,如果函数没有进行类型申明,则该函数具有默认的函数类型int。C99标准不再支持函数的int类型的默认设置 本讲内容 基本函数概念 函数的递归 局部变量和全局变量 变量的存储类别 函数的递归 一个函数调用其本身,这种调用过程被称为递归 递归的基本原理 每一级的函数调用都有自己的变量 每一次函数调用都会有一次返回 递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序 递归函数中,位于递归调用后的语句的执行顺序和各个被调函数的顺
文档评论(0)