C函数与递归函数01

一个源文件,有多个函数组成,

分类

(通常可以分成标准库函数,自定义函数【按函数类型分类】有参函数,无参函数【按是否含有参数分类】)

函数参数的一般形式:【数据类型】 函数名(【参数】){

执行代码块;

return 表达式;

}

函数调用:

函数名(【参数】)

有两种情况:值调用:仅仅是将实参的值赋予形参,此时形参的值发生改变而实参的值不变

地址调用:函数的形参与实参共享同一存储单元(空间),形参或是参发生变化时,该百年的是存储空间的值。对应的参数值会跟着改变。

-----------------值调用,代码:

值调用代码

地址调用代码:


地址调用

无论是形参还是实参发生变化,对应的参数都会发生变化

C函数的嵌套调用,C语言不允许嵌套定义,但允许嵌套调用

嵌套调用:在一个函数执行的过程中,调用另一个函数;


函数的直接调用

在函数f运行的过程中直接调用f函数

函数的间接调用: 函数f1在运行时调用f2;但此时函数f2在运行过程中调用函数f1

重点是递归调用应该是有终止的递归使用if 控制函数的调用次数

即条件成立的时候执行调用函数,否则退出;

递归函数的组成:边界条件(if语句、递归前进段、递归返回段)

当边界条件不满足时,递归前进,当边界条件满足时,递归返回

实例:斐波那契数列

第一第二个数都为1后面每个数都是前两个数的和

f(n) = 1  (n = 1) ; f(n) = 1 (n = 2); f(n) = f(n-1) + f(n-2);


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 函数只定义一次,但可能被执行或调用任意次。JS函数是参数化的,函数的定义会包括一个称为形参的标识符列表,这些参数在...
    PySong阅读 3,627评论 0 0
  • 函数只定义一次,但可能被执行或调用任意次。JS函数是参数化的,函数的定义会包括一个称为形参的标识符列表,这些参数在...
    PySong阅读 2,642评论 0 0
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,748评论 0 38
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,815评论 0 2
  • 函数只定义一次,但可能被执行或调用任意次。JS函数是参数化的,函数的定义会包括一个称为形参的标识符列表,这些参数在...
    PySong阅读 4,302评论 0 0