一、 什么是函数
任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。所以,你可以说C语言程序是由函数构成的。
函数就是用来实现某个功能的程序段,每一个函数都有自己的功能。
二、 函数的定义
1. 定义函数的目的
将一个常用的功能封装起来,方便以后调用
2. 定义函数的步骤
函数名:函数叫什么名字,函数 名必须按照标识符命名规则。
函数体:函数是做什么的,里面包含了什么代码。
3. 格式
固定格式(很多语言的函数都是这么写的)
返回值类型 函数名(形式参数列表)
{
函数体
}
举例
定义一个函数,计算两个整数的和
int sum(int a, int b)
{
int c = a + b;
return c;
}
三、 函数调用
sum(10, 11); 引出返回值
说明函数的调用过程
函数被调用了,就会分配存储空间给形式参数列表中的所有参数;
10、11称为“实际参数”,它们将分别赋值给变量a、变量b;
既然调用了sum函数,就会按顺序执行sum函数中的代码;
变量a、b、c都只有在调用sum函数时,才会分配存储空间,当sum函数执行完毕后,变量a、b、c就会被释放存储空间。因此,它们的作用域仅限于sum函数内部。
简述return的作用
return关键字后面跟着的数值称为“返回值”,返回值的数据类型应该跟“返回值类型”保持一致。
四、 函数的参数
1. 形参和实参的基本概念
1> 形式参数:在定义函数时,函数名后面的小括号()中定义的变量称为形式参数,简称形参
2> 实际参数:在调用函数时传入的值称为实际参数,简称实参
2. 形参个数和实参个数必须保持一致
3. 当使用基本数据类型作为实参是,参数的传递是值传递,修改形参的值并不会影响到实参
4. 参数名不能跟函数内的局部变量同名
5. 函数可以没有参数
五、 函数的返回值
1. 返回值的基本概念、return的作用
返回值就是函数调用完后,返回给函数调用者的结果,用return关键字进行返回。定义函数时,要指明函数的返回值类型
2. void
一个函数可以没有返回值,如果没有返回值,应该用void表示返回值类型
3. return
1> 如果一个函数没有返回值,最后面的return语句可以省略
2> 如果一个函数没有明确写出返回值类型,那么代表这个函数的返回值类型是int
3> return语句可以在函数内部返回一个值给函数调用者
4> 一个函数内部可以多次使用return语句,使用了return语句后,函数就会马上停止执行,return语句后面的代码就不再被执行
5> return后面不能有其他语句
4. 函数的弱语法
如果没有写返回值类型,默认是int
如果写了返回值,可以不返回
调用一个没有定义过的函数
六、 定义函数的步骤
1. 明确函数作用,起一个有意义的函数名称
2. 明确函数的参数和返回值
七、 函数注意
不能嵌套定义函数
死循环调用,自己调用自己
不能重复定义、可以重复声明
八、 函数的补充
1. main函数
返回值:0,正常退出;1,异常退出
2. printf函数
#include
返回值:字符串的长度
九、 函数的声明
1. 函数的定义顺序
2. 函数的声明作用:声明和定义,类似于身份证和人的关系,编译买机票、链接登机
3. 只有函数声明、没有定义,编译警告、链接报错