(函数p2) C语言从入门到入土(入门篇)(二)

简介: 5. 函数的嵌套调用和链式访问 5.1 嵌套调用 5.2 链式访问 6. 函数的声明和定义 6.1 函数声明: 6.2 函数定义: 7. 函数递归 7.1 什么是递归? 7.2 递归的两个必要条件 7.2.1 练习1: 7.2.2 练习2: 7.3 递归与迭代 7.3.1 练习3: 7.3.2 练习4:

7. 函数递归


7.1 什么是递归?


程序调用自身的编程技巧称为递归( recursion )。

递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接

调用自身的

一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,

递归策略

只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。

递归的主要思考方式在于:把大事化小

0.png1.png

7.2 递归的两个必要条件

  1. 存在限制条件,当满足这个限制条件的时候,递归便不再继续。
  2. 每次递归调用之后越来越接近这个限制条件。


7.2.1 练习1:


接受一个整型值(无符号),按照顺序打印它的每一位。

例如:

输入: 1234 ,输出 1 2 3 4



7.png8.png9.png


绿色的箭头回去的时候(归)就依次打印1 2 3


//这个线看起来有点懵但是仔细理解其实也不难,就是一直调用自己同时判断,然后一个一个出函数。


7.2.2 练习2:


编写函数不允许创建临时变量,求字符串的长度。

2.png3.png4.png5.png6.png

相关文章
TU^
|
3天前
|
C语言
C语言内存函数和字符串函数模拟实现
C语言内存函数和字符串函数模拟实现
TU^
9 0
|
2天前
|
存储 C语言
C语言中的输入输出函数技术详解
C语言中的输入输出函数技术详解
|
2天前
|
存储 Serverless C语言
C语言中的函数:深入理解与应用
C语言中的函数:深入理解与应用
|
2天前
|
机器学习/深度学习 算法 编译器
【C语言】函数 ---- 函数的嵌套调用和链式访问、函数的声明和定义、变量的声明和定义、函数递归与迭代、递归时的栈溢出问题
【C语言】函数 ---- 函数的嵌套调用和链式访问、函数的声明和定义、变量的声明和定义、函数递归与迭代、递归时的栈溢出问题
9 0
|
2天前
|
程序员 C语言
【C语言】函数----函数的分类、库函数详解(strcpy、memset)、自定义函数的实现(找较大值、交换两个数)
【C语言】函数----函数的分类、库函数详解(strcpy、memset)、自定义函数的实现(找较大值、交换两个数)
9 0
|
2天前
|
编译器 C语言 C++
【C语言】分支和循环 ---- if、switch、while、for、goto语句, 理解getchar和putchar函数
【C语言】分支和循环 ---- if、switch、while、for、goto语句, 理解getchar和putchar函数
10 0
|
2天前
|
C语言
【C语言入门小游戏】扫雷
【C语言入门小游戏】扫雷
9 1
|
2天前
|
编译器 C语言
【C语言入门小游戏】三子棋
【C语言入门小游戏】三子棋
5 0
【C语言入门小游戏】三子棋
|
4天前
|
C语言 存储
C语言—部分库函数的模拟实现
C语言—部分库函数的模拟实现
|
5天前
|
编译器 C语言 C++
c语言常见字符函数、内存函数(详讲)
c语言常见字符函数、内存函数(详讲)