C语言笔记之函数1
1. 函数是什么?
函数是一块代码,一组一起执行一个任务的语句。函数接受零个或多个参数,计算完成返回零个或一个值。
函数的作用:重复使用代码
2. 函数怎么用?
2.1 调用函数
在数学中有很多的函数,可以直接在C语言中使用,例如:sin()
、cos()
。这些函数的使用方法与数学使用方法是一致的。使用函数通常称为调用函数。函数调用语法如下:
函数名(参数值);
说明:调用函数要按照函数定义,按照顺序给出正确数量、正确类型的参数。
传递给函数的参数值是表达式的结果,这包含:字面量、变量、函数的返回值、计算结果。
- 说明
像printf()
一样,sin()
、cos()
都是C语言使用标准库定义的函数,这类函数称为标准函数。使用标准函数通常要添加标准函数所在的头文件。常用的函数还有sqrt()
、pow()
、fabs()
等。
注意使用
sin()
、cos()
、sqrt()
、pow()
、fabs()
等数学函数在代码中,需要加入头文件math.h
;在编译时加上链接库-lm
。
2.2 定义函数
除了使用标准库定义的函数,我们也可自己定义函数,称为自定义函数。定义格式如下:
返回类型 函数名(参数列表){
语句1;
语句2;
语句3;
…………;
}
2.3 函数细节
2.3.1 函数的构成
- 函数头
返回类型
函数名
参数列表 - 函数体
根据有无参数列表,函数分为:无参函数和有参函数。
根据有无返回类型,函数分为:无返回值函数和有返回值函数。
2.3.2 从函数中返回值
return
语句
return
表示停止函数执行
return;
return
可以在停止函数执行同时返回一个值。
return 表达式;
在一个函数中可以有多个return
语句。
- 返回值
返回值可以传递给变量。
返回值可以传递给函数。
返回值可以丢弃。
2.3.3 没有返回值的函数
- 语法
void 函数(参数列表)
- 特点
不能使用带值的return
可以没有return
调用时没有返回值
2.3.3 其他说明
- main()是一个特殊的自定义函数。
- 定义函数不会执行函数体代码,只有调用函数时,才是真正执行。
- 函数名也是标识符,也要遵守与变量一样的命名规则。
- 函数没有参数时,参数列表可以为空,也写入关键字
void
表示为空。
函数没有返回值时,返回类型必须写void
。
3.小项目:BMI体重测评器
- 原理
身体质量指数BMI(Body Mass Index)是一个量度人是否肥胖参考值。是世界公认的一种评定肥胖程度的分级方法。 - BMI计算公式
- BMI判断标准(成人的BMI)
No. | 级别 | BMI值 |
---|---|---|
1 | 过轻 | 18.5< |
2 | 正常 | 18.5~23.9 |
3 | 超重 | 24~27 |
4 | 肥胖 | 28~32 |
5 | 非常肥胖 | >32 |
-
功能
1.分别提示输入体重和身高
2.计算BMI
3.根据BMI输出体重级别
4.如果不在正常范围内输出需要增肥/减肥的最小值。
#include <stdio.h>
#include<math.h>
#define PI 3.14
float BMI(float tz,float sg)
{
return tz/(sg*sg);
}
void BMIGRADE(float a,float b)
{
float bmi=BMI(a,b);
printf("你的BMI值为:%.2f\n",bmi);
printf("你的BMI体重级别属于");
if(bmi < 18.5)
{
printf("过轻\n");
}
else if(bmi>=18.5&&bmi<=23.9)
{
printf("正常\n");
}
else if(bmi>=24&&bmi<=27.9)
{
printf("超重\n");
}
else if(bmi>=28&&bmi<32)
{
printf("肥胖\n");
}
else if(bmi>32)
{
printf("非常肥胖\n");
}
if(bmi<18.5)
{
printf("你的体重太轻了距离正常体重至少增肥%.2fKG\n",18.5*b*b-a);
}
if(bmi>23.9)
{
printf("你的体重超重了距离正常体重至少减肥%.2fKG\n",a-23.9*b*b);
}
}
int main() {
float tz,sg;
float yourbmi;
// printf("请输入你的体重(KG)和身高(m):");
scanf("%f%f",&tz,&sg);
BMIGRADE(tz,sg);
return 0;
}