C函数与递归函数01

2019-08-17  本文已影响0人  今天Martin学习了吗

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

分类

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

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

执行代码块;

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);

上一篇 下一篇

猜你喜欢

热点阅读