C语言-函数的概念和使用

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;
}
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值