07. 函数

函数(Function) ★★★★★★★

 

函数是指能够实现某种功能的一段代码

 

一、函数的定义语法

1、返回值类型  int  float  double  char

2、函数名(形参类型  行参变量名1,形参类型  行参变量名2)

3、{

    函数体语句;

    }  

★★

定义形参变量时,每个形参变量名前必须出现形参类型

 

1、库函数:类库

2、用户自定义函数

★★★

一个C程序无论包含了多少函数,在正常情况下总是从 main() 函数开始执行,main() 函数结束。

 

 

二、函数调用

1. 有返回值的函数的定义

函数定义:

#include<stdio.h>

//函数定义
int jiecheng(int n)    //形参:函数定义时的参数 n, 参数传递:形参 = 实参   n = 5
{
    int sum = 1, i = 1;    //sum:累乘积5  i:每个乘数

    for(i=1; i<=n; i++)
    {
        sum = sum*i;
    }

    return sum;    //给 jiecheng() 函数设置一个返回值 sum,当函数执行到第一条 return,会自动返回到调用语句的地方

}                 



函数调用:

int main()
{
    int k;

    //函数调用
    k = jiecheng(5);    //实参:函数调用时的参数 5

    printf("%d\n", k);

    return 0;

}

注意:return 只能返回一个值,不能同时返回多个值

 

2. 无返回值的函数的定义

函数定义:

#include<stdio.h>

//函数定义
void jiecheng(int n)    //void 声明该函数无返回值
{
    int sum = 1, i = 1;    //sum:累乘积5  i:每个乘数

    for(i=1; i<=n; i++)
    {
        sum = sum*i;
    }

    printf("%d\n", sum);

}                

函数调用:

int main()
{
    //函数调用 
    jiecheng(4);    //无返回值的函数的调用语法:   函数名(实参)

    return 0;

}

 

注意:只有将函数的定义语句放在调用语句之后时,才需要在函数调用之前书写函数声明

#include<stdio.h>

void jiecheng(int n);    //函数声明
//或者 void jiecheng(int )  只能省略函数的形参变量名

//主函数
int main()    
{
    jiecheng(4);    //函数调用语句

    return 0;

}


//函数定义
void jiecheng(int n)
{
    int i = 1, sum = 1;

    for(i=1; i<=n; i++)
    {
        sum = sum*i;
    }

    printf("%d\n", sum);

}

 

★★★★

注意事项:

1、函数名前的返回值类型必须与 return 后的类型保持一致

2、函数的每个形参类型与每个实参的类型保持一致,形参的个数必须与实参的个数保持一致

3、实参可以使任意的常量、变量、表达式

 

示例:

1、z = 1 + 1/3 + (1*2)/(3*5) + (1*2*3)/(3*5*7) + ……,直到最后一个分数的值小于 0.0005 为止,求 2z 的值

#include<stdio.h>

int main()
{
    double sum = 1, fz = 1, fm = 1, i = 1, j = 3;    //i:每个分子中的乘数   j:每个分母中的乘数

    while(fz/fm>=0.0005)
    {
        fz = fz*i;    //计算分子大小
        fm = fm*j;    //计算分母

        sum = sum + fz/fm;    //计算 sum

        i++;    //i自增1
        j+=2;    //j自增2  
    }                          

    printf("%f\n", 2*sum);

    return 0;           

}

 

2、输出 Fibonacci 数列 0 ,1, 1,2,3,5,8,13,21……,直到最后一项的值刚好大于或等于1000为止

#include<stdio.h>

int main()
{
    int f1 = 0, f2 = 1, f =f1 + f2;

    printf("%d %d %d ", f1, f2, f);

    while(f<1000)
    {
        f1 = f2;
        f2 = f;
        f = f1 + f2;

        printf("%d\n", f);
    }

    return 0;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值