主要内容:函数(重要,要求掌握)

一、函数的定义

        什么是函数:函数就是具有特定功能的代码块

        通俗的说就是:一连串语句组合在一起的代码块的封装,然后给它们起了一个名字

        好处:节省开发效率,省去重复代码块的编写,大大的简化了程序

函数分为:

库函数:系统提供好的函数(如标准的输入输出函数)

自定义函数:程序员自己编写的执行特定功能的函数

函数的定义:

返回值类型  函数名(参数)// 返回值类型有: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语言允许函数实现体内再次调用函数本身,这种调用方式成为递归调用,这个函数称为递归函数

阶乘

就是运用递归函数

注意:递归函数一定要有出口

五、变量的作用域

即变量的有效范围

分为

全局变量:定义在函数体外的变量

局部变量:定义在函数体内部的变量