C语言知识点总结07-函数01

1.函数的基本概念

数是一种可重复使用的代码块,用于执行特定的任务或操作。函数允许我们将代码逻辑组织成独立的单元,从而提高了代码的可读性、可维护性和重用性。一个C程序可以由一个或多个源文件构成(C文件扩展名是“.c”),一个源文件是一个编译单位。一个源文件可以由若干个函数构成,函数之间可以相互调用。也就是说,函数是C程序基本的组成单位。

1.1函数的作用

封装功能,将一个完整的功能封装成函数,提高代码的结构化和复用性。

代码模块化,将程序按照功能拆分成若干模块单元,有助于降低复杂度。

增强可维护性,如果需要修改某项功能,只需要调整对应的函数代码。

隔离细节,通过函数调用可以隐藏实现细节,只关心输入输出。

1.2函数的分类
(1)库函数,也称为标准函数,是由C系统提供的,用户不必自己定义,可直接使用它们,使用库函数,必须包含 #include 对应的头文件。
(2)自定义函数,解决具体需求而自己定义的函数,需先定义再使用。
1.3函数的基本语法

返回类型 函数名(参数列表)

{

    函数体语句1;

    函数体语句2;

    … 函数体语句n;

    return 返回值;

1.3.1函数语法的组成部分

函数名:函数被调用时使用的名字,函数名要符合标识符规范。

函数体:函数中所包含的代码块,用于实现函数的具体功能和操作。

参数:用于接收调用函数时传递进来的值。

返回值:函数执行完毕后,从函数传回到调用点的值,返回值的类型要与函数名前面的返回类型对应,如果没有返回值,返回类型可以写 void。

1.3.2示例
#include <stdio.h>

// 声明函数
void func()
{
    printf("hello func\n");
}

// 实现两个数字相减
int minus(int m, int n)
{
    return m - n;
}

// 取两个数字中的最大值
int max(int a, int b)
{
    int c;
    c = a > b ? a : b;
    return c;
}
int main()
{
    return 0;
}
1.3.3函数不能嵌套声明

C程序中的所有函数都是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套声明。

//错误演示

int func1(int a,int b) //第1个函数的定义

{  

    ...

    int func2(int c,int d)  //第2个函数的定义

    {  

       ...

    }

    ...

}

1.4调用函数

函数名后面加上圆括号即是函数的调用,参数写在小括号中,函数每调用一次,函数体语句都会执行一遍。

#include <stdio.h>

// 声明函数
void func()
{
    printf("hello func\n");
}

// 实现两个数字相减
int minus(int m, int n)
{
    return m - n;
}

// 取两个数字中的最大值
int max(int a, int b)
{
    int c;
    c = a > b ? a : b;
    return c;
}

// 主函数
int main()
{
    // 函数的调用
    func();
    func();

    printf("17-90的结果:%d\n", minus(17, 90));
    printf("21-180的结果:%d\n", minus(21, 180));
    printf("12和16之间较大的是:%d\n", max(12, 16));
    printf("45和31之间较大的是:%d\n", max(45, 31));

    return 0;
}
/*
输出结果:
hello func
hello func
17-90的结果:-73
21-180的结果:-159
12和16之间较大的是:16*/
1.5函数的返回值

函数调用后数能得到一个确定的值,这就是函数的返回值,返回值常常是一个计算的结果,或是用来作为判断函数执行状态的标记。

函数返回值分为以下三种情况:

(1)无返回值类型:针对函数无返回值或明确不需返回值的情况,使用void(即空类型)表示。

(2)有返回值类型:指明具体的类型,比如,int、float、char等。

(3)需要在函数体内与return语句搭配使用。如果返回值类型不是void,但函数中没有return语句,则函数会返回一个不确定的值。

1.6函数的参数

函数的参数分为形参与实参:

  • 形参:在定义函数时,函数名后面括号()中声明的变量称为形式参数,简称形参。
  • 实参: 在调用函数时,函数名后面括号()中的使用的常量、变量、表达式称为实际参数,简称实参。

注意:实参的数量要与形参的数量一致,否则报错。

#include <stdio.h>

// x 和 y 即为形参
int func(int x, int y)
{
    return x + y;
}

int main()
{
    // 3 和 5 即为实参
    int sum = func(3, 5);
    printf("%d \n", sum); // 8;

    // 如果实参数量如形参不一致 会报错
    // func(100, 299, 300);
    // func(100);

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值