C语言——函数的使用

无参无返回值

  • 语法格式如下:
// 函数定义
void 函数名() {
    函数体
}

// 函数调用
函数名();
  • 函数名是标识符的一种,需要遵循规则
  • 函数只需要定义一次,反复调用
  • 只定义函数, 不调用函数, 函数永远不会被执行
  • 案例需求:
    • 编写一个函数,里面实现2个数字相加,并打印相加后的结果
    • 示例代码:
#include 

// 函数定义
void my_add() {
    // 实现2个数字相加,并打印相加后的结果
    int res = 1 + 2;
    printf("res = %d\n", res);
}

int main() {
    // 函数调用
    my_add();

    return 0;
}
  • 执行流程
    C语言——函数的使用_第1张图片

有参无返回值

  • 函数参数的作用:增加函数的灵活性
    • 可以根据需求在调用函数时, 通过参数传入不同的数据
  • 语法格式如下:
// 函数定义
void 函数名(形参列表) {
    函数体
}

// 函数调用
函数名(实参列表);
  • 实训和形参的关系:从左往右,一一对应
  • 案例需求:
    • 编写一个函数,实现2个数相加,2个数通过参数传递
  • 示例代码:
#include 

// 函数定义
void my_add(int a, int b) {
    // 实现2个形参相加,并打印相加后的结果
    int res = a + b;
    printf("%d + %d = %d\n", a, b, res);
}

int main() {
    // 函数调用
    my_add(10, 20);

    return 0;
}

●执行流程
C语言——函数的使用_第2张图片

有参有返回值

返回值基本语法

  • 函数返回值的作用:函数外部想使用函数内部的数据
  • 语法格式如下:
// 函数定义
返回类型 函数名(形参列表) {
    函数体

    return 和返回类型一致的数据(或变量);
}

// 函数调用
和返回类型一致的变量 = 函数名(实参列表);
  • return是函数的专属关键字,只能用在函数内容
  • 案例需求:
    • 编写一个函数,实现2个数相加,2个数通过参数传递,返回累加结果给外部使用
  • 示例代码:
#include 

// 函数定义
int my_add(int a, int b) {
    // 实现2个形参相加,并返回累加的结果
    int res = a + b;
    
    return res;
}

int main() {
    // 函数调用
    int temp = my_add(10, 20);
    printf("temp  = %d\n", temp);

    return 0;
}
  • 执行流程
    C语言——函数的使用_第3张图片

返回值注意点

  • return的作用是结束函数
    • 函数内,return后面的代码不会执行
  • 示例代码
#include 

// 函数定义
void func() {
    printf("11111111111111111\n");

    return; // 结束函数,函数内后面代码不会执行

    printf("222222222222222222\n");
}


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

    return 0;
}

函数的声明

  • 如果函数定义代码没有放在函数调用的前面,这时候需要先做函数的声明
  • 所谓函数声明,相当于告诉编译器,函数是有定义的,再别的地方定义,以便使编译能正常进行
  • 注意:一个函数只能被定义一次,但可以声明多次
#include 

// 函数的声明,分号不能省略
// 函数声明的前面可以加extern关键字,也可以不加
// extern int my_add(int a, int b);
int my_add(int a, int b);
// 另一种方式,形参名可以不写
// int my_add(int, int );

int main() {
    // 函数调用
    int temp = my_add(10, 20);
    printf("temp  = %d\n", temp);

    return 0;
}

// 函数定义
int my_add(int a, int b) {
    // 实现2个形参相加,并返回累加的结果
    int res = a + b;

    return res;
}

函数案例

  • 需求:自定义一个函数,返回2个整数的最大值
  • 示例代码:
#include 

// 函数定义
int my_max(int a, int b) {
    if (a > b) {
        return a;
    } else {
        return b;
    }
}

int main() {
    // 函数调用
    int res = my_max(100, 200);
    printf("res = %d\n", res);

    return 0;
}

你可能感兴趣的:(C语言,c语言,开发语言)