一、函数是什么
维基百科:函数是子程序
子程序是一个大型程序的某部分代码,有一个或多个语句构成。它负责某项特定任务,与其他代码相比,它具备独特性。
二、库函数(C语言本身提供给我们使用的函数)
常用函数总结:
IO函数:输入输出函数,printf,scanf,getchar
字符串操作函数(库):strlen、strcmp
内存操作函数:memcpy、memcmp
时间、日期函数:Sleep(100)
数字函数:pow(2,3)————>2的三次方
使用库函数的时候,一定一定要包含相应的头文件
三、自定义函数
自定义函数的组成:
函数的返回类型 函数的名称(参数1,参数2……)
{
函数语句
}
e.g.:
int Add(int x,int y,int z)
{
return x+y+z;
}
可以有多个return,但return只执行一次。
四、函数的参数
1、实际参数(实参):Swap(a,b)————>a,b为实参
真实传给函数的参数,叫实参
实参的形式:变量(a,b),常量(1,2),表达式(2+3,3+4)
无论实际参数是何种类型的变量,在函数调用,都必须要有确定的值,以便传给形参
2、形式参数(形参):void Swap2(int x,int y)————>x,y为实参
函数名括号中的变量,因为形参只有在函数被调用的时候,才会实例化,所以叫形参
形参当函数被调用完成之后,会自动销毁,即生命周期结束
五、函数的嵌套调用和链式访问
链式访问
把一个函数的返回值作为另一个函数的参数
int main()
{
printf("%d",printf("%d",printf("%d",43)));
return 0;
}输出——>4321
printf的返回值:如果函数执行成功,则返回所打印的字符总数,如果函数执行失败,则返回一个负数。
六、函数的声明和定义
.c文件的主要功能:定义函数
.h文件的主要功能:声明函数
七、函数的递归
递归:一个过程或者一个函数在其定义或者说明中直接或间接调用自身的一种方法
作用:把一个大型复杂的问题层层转化为一个与原问题显示的规模较小的问题,来解决。
&&两个必要的条件:
1、存在限制条件,但满足这个条件的时候,递归不再继续
2、每次递归调用之后,越来越接近这个限制条件
注意的两点:
1、不能出现死递归,必须要有跳出条件,且每次递归后需逼近跳出条件
2、递归的层数不能太深