目标
- 了解函数的递归调用和嵌套调用的概念和用法。
- 学习如何使用递归实现复杂的算法或数据结构。
- 掌握如何在函数内部调用其他函数来协同实现任务。
课程内容
- 函数嵌套调用
- 概念:在一个函数内部调用另一个函数,可以实现代码的模块化和组合。
- 作用:提高程序的可读性和可维护性。
- 函数递归调用
- 概念:函数递归调用是指函数内部直接或间接地调用自身。
- 作用:用于实现复杂的算法或数据结构,如递归求解、分治、回溯等。
- 递归调用的基本原理
- 递归调用必须有一个终止条件,否则会产生无限循环。
- 每次递归调用都必须趋近于终止条件,否则会形成无限递归。
示例代码
#include <stdio.h>
void printHello() {
printf("Hello ");
}
void printWorld() {
printf("World!\n");
}
int main() {
printHello();
printWorld();
return 0;
}
递归调用示例:
#include <stdio.h>
int factorial(int n) {
if (n == 1) {
return 1; // 终止条件
} else {
return n * factorial(n - 1); // 递归调用
}
}
int main() {
int n = 5;
int result = factorial(n);
printf("%d! = %d\n", n, result);
return 0;
}