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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值