19 函数之函数的定义与调用

在上一篇中,我们深入探讨了控制结构中的循环结构(forwhiledo-while),这些结构让我们的程序能够在一定条件下执行特定代码。今天,我们将继续学习函数的定义与调用,函数是C语言中组织代码的基本单位,能够帮助我们更好地进行代码的模块化与重用。

函数的定义

在C语言中,函数是执行特定任务的一段代码块。定义一个函数的基本语法为:

1
2
3
4
5
返回类型 函数名(参数类型1 参数名1, 参数类型2 参数名2, ...) {
// 函数体
// 执行特定任务的代码
return 返回值; // 可选
}

示例:定义一个简单的求和函数

下面,我们通过定义一个简单的函数来求两个整数之和:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>

// 函数定义
int add(int a, int b) {
return a + b;
}

int main() {
int x = 5;
int y = 10;

// 调用函数
int result = add(x, y);
printf("The sum of %d and %d is %d\n", x, y, result);

return 0;
}

在上述代码中,add函数接受两个整数参数 ab,并返回它们的和。我们在main函数中调用add函数,并将结果输出。

函数的调用

函数的调用是让程序跳转到函数定义的位置,执行函数体内的代码,并返回到调用位置。函数的调用有两种基本方式:

  1. 普通调用:直接在代码中调用。
  2. 递归调用:函数在其内部调用自身。

普通调用

如上述示例,通过int result = add(x, y);我们可以看到add函数的调用。result变量将存储add函数返回的结果。

递归调用

递归函数是指在函数内部调用自身,通常需要设定基准条件以避免无限递归。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>

// 函数定义
int factorial(int n) {
if (n == 0) {
return 1; // 基础条件
} else {
return n * factorial(n - 1); // 递归调用
}
}

int main() {
int num = 5;

// 调用递归函数
int result = factorial(num);
printf("Factorial of %d is %d\n", num, result);

return 0;
}

在这个例子中,factorial函数计算一个整数的阶乘。factorial函数在内部调用自身,这便是递归调用,且基础条件 n == 0 防止了无限递归。

小结

通过定义与调用函数,C语言有效地实现了代码的复用与清晰的逻辑结构。我们定义的函数可以在程序中被多次调用,使得代码更加简洁,也降低了错误发生的几率。在下一篇中,我们将探讨函数的参数传递,深入了解如何在函数之间传递数据。希望本篇文章能够帮助大家理解函数的基本概念与用法,为进一步学习打下基础!

19 函数之函数的定义与调用

https://zglg.work/cplusplus-zero/19/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论