笔记1:函数的概述与递归函数

来源:互联网 发布:淘宝品牌代理加盟 编辑:程序博客网 时间:2024/06/05 00:15

1、函数的概述

函数(Function)是一段可以重复使用的代码,除了C语言自带的函数,我们也可以编写自己的函数,称为自定义函数。

函数三要素: ①返回值:由关键字 return 进行返回;

                       ②函数名;由数字、字母、下划线组成,不能以数字开头;

                  ③函数参数。放在括号 () 内,每一个参数之间用逗号隔开,调用函数时,在内存中开辟一个新的空间,调用结束时,将空间释放。

函数返回值有固定的数据类型(int、char、float等),用来接收返回值的变量类型要一致。


2、递归函数

一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层。
注意:递归函数的定义,不应出现无终止的递归调用。而应定义为有限次数、有终止的递归调用函数。 对于一个问题,只要能够知道递归定义式,及边界条件(即递归终止的条件),就可以编写一个递归函数。

分享两个典型例题:(1)n的阶乘 (2)求斐波那契数列中第n个数的值
#include <stdio.h>// 阶乘函数,求n的阶乘int func(int n){if (n == 1)return 1;int res = n * func(n-1);return res;}/*求斐波那契数列中第n个数的值:以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)*/int feibo(int n){if (n == 0 || n == 1)return n;int res = feibo(n-1) + feibo(n-2);return res;}int main(){int n;scanf ("%d", &n);int j = func(n);printf ("n的阶乘为:%d\n", j);int b = feibo(n);printf ("斐波那契数列的第n个数为:%d\n", b);return 0;}


原创粉丝点击