函数(上)
目录
函数的特性及定义
函数的调用
为什么要将代码封装成函数
函数返回
1.函数的特性及定义
在编程语言中,你可以把函数看做一个盒子,这个盒子有如下几个特性:
例如:我们想要计算两个数a和b相加的结果,可以将其写作一个函数:
1.这个函数输入 a,b
2.这个函数返回它们的和
部分代码如下:
int add(int aint b)
{
return a+b;
}
这一段代码被称之为add函数的函数定义
这个函数输入了 int a,int b ,并用 return 返回了a与b的和
注意每个输入参数必须指明其变量类型,不能省略变量类型
int add(int a, int b) // 正确
int add(int a, b) // 错误
我们把函数名取名为add,当然自定义函数的函数名可以按照自己的喜好来写,就算写成aaaaa也行。不过,为了函数名拥有语义化,方便人阅读理解,我们一般使用英文来作为函数名
2.函数的调用
函数需要被另一个函数调用才能执行
例如:我们用 main 函数来调用add函数
#include <stdio.h>
int add(int a, int b)
{
return a + b;
}
int main()
{
int result;
result = add(2, 3); // 函数调用
printf("%d", result);
return 0;
}
main被称作主调函数,add被称作被调函数
在main中,将 2,3 两个参数传入了add函数,并调用add函数。在add函数头中,标明了函数的返回值类型为int,说明这个函数被调用后将返回一个int类型的结果。所以,我们使用int类型的result变量存放add函数的返回值
3. 为什么要将代码封装成函数?
如果程序需要多次完成某项任务,那么我们有两种方法:
1.将同样的代码复制多份
2.将代码封装为一个函数,在需要的地方调用这个函数
第二种方法显然更有利
下面我们来举一个例子:如何求判断三条边是否能构成三角形,并求出三角形的面积
首先我们应当判断三边能否构成一个三角形
if (a + b > c && a + c > b && b + c > a)
{
printf