主要内容:函数(重要,要求掌握)
一、函数的定义
什么是函数:函数就是具有特定功能的代码块
通俗的说就是:一连串语句组合在一起的代码块的封装,然后给它们起了一个名字
好处:节省开发效率,省去重复代码块的编写,大大的简化了程序
函数分为:
库函数:系统提供好的函数(如标准的输入输出函数)
自定义函数:程序员自己编写的执行特定功能的函数
函数的定义:
返回值类型 函数名(参数)// 返回值类型有:void、int、char、float...
{
语句
return 返回值
}
根据返回值类型可以分为:
void hello(void) / / 无参数无返回值
{
printf(" Hello,My name is ");
}
void hello (void)/ / 无参数有返回值
{
return 33;
}
根据参数类型可以分为:
int max(int a, int b)/ / 有参数有返回值
{
return a > b ? a : b ;
}
void printNumber(int x)/ / 有参数无返回值
{
printf(" number = : %d " , x );
}
函数的返回值成为函数的值,只能通过return返回给主调函数
一个函数只能有一个返回值
函数即使没有返回值也可以使用return结束函数的执行,return后面的语句不再执行
形参、实参
形参:出现在函数定义中的参数
实参:出现在函数调用中的参数
注意:函数调用中,形参会拷贝实参内容,传递到函数中经过函数体的执行后,返回值到main函数中
二、函数的声明
一个严格的函数通常包括三个部分
1:函数的声明:意思就是告诉计算机我定义了一个函数(如果函数的定义在主调函数之前可省略不写,如果 在后面,必须写函数的声明,否则程序无法运行)
2:函数的定义:编写函数体
3:函数的调用:在main函数中调用函数
规范的按照顺序编写函数
函数的声明与定义一般写在源文件的xxx.h、xxx.m文件中
xxx.h(头文件):主要存放函数的声明
xxx.m(实现文件):主要存放函数的实现(实现函数功能的代码块)
使用时要再源文件的入口函数(main函数)之前写上 # import " 头文件(xxx.h) "
三、函数中,数组作为参数
数组元素作为参数时与普通变量一样
数组作为参数,把数组名传入(即数组的首地址)此时形参和实参的内存地址是同一段
四、函数的嵌套使用
C语言不允许函数嵌套定义,但是允许函数嵌套使用
递归函数
C语言允许函数实现体内再次调用函数本身,这种调用方式成为递归调用,这个函数称为递归函数
阶乘
就是运用递归函数
注意:递归函数一定要有出口
五、变量的作用域
即变量的有效范围
分为
全局变量:定义在函数体外的变量
局部变量:定义在函数体内部的变量