导图社区 C语言第八章自定义函数
这是一篇关于C语言第八章自定义函数的思维导图,主要内容包括:自定义函数,意简单变量作为形参,函数的嵌套调用,变量的存储类别。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
C语言第八章自定义函数
自定义函数
定义
C语言所提供的标准函数有限,有时不能满足实际问题的求解,这时就需要用户定义新的函数,这就是用户自定义函数。
格式:
【类型标识符】 函数名(【形式参数表】) { 【函数体】 }
注:(1)类型标识符定义了函数返回值的数据类型,当函数的返回值是int型或char型时,类型标识符可以省略。 (2)当函数无返回值时,类型标识符用void字样,表明该函数无返回值。(即无return) (3)形式参数的一般形式为:(形参1,形参2,形参3,......)
自定义函数的返回值return
一般格式:
return 表达式;或 return (表达式);
语义:
当函数执行到return 语句时,程序的流程立刻返回到调用该函数的地方,并通过return语句返回函数值。return语句中表达式的值就是函数值。
注:(1)函数有返回值,这个值就有一个确定的数据类型,所以在定义函数首部时,应指定函数值的数据类型。 (2)函数值类型决定了返回值的类型。 (3)在同一个函数内,可以根据需要在多处设置return 语句,程序执行过程中遇到任何一个return都将立即返回到调用该函数的地方。 (4)如果函数中无return,程序的执行流程将一直执行到“}”处,然后返回到调用该函数的地方,并且返回一个不确定的、无用的函数值。
自定义函数的调用
函数名(【实参表】)
注意:实参值是按照位置一一对应“单向”传递给形参
自定义函数的声明
(1)被调函数必须是已经存在的函数(标准函数或用户自定义函数) (2)如果调用的是自定义函数,则一般还需要在主调函数中对被调函数返回值的类型及形式参数的类型和个数做声明
类型标识符 被调函数的函数名 (类型标识符 形参1,类型标识符 形参2,.......);或类型标识符 被调函数函数名 (类型标识符1,类型标识符2,......);
注:
如果被调函数位于主调函数之前,或者被调函数的返回值类型是int型或char型时,则被调函数的声明可以省略
意简单变量作为形参
实参 : 可以是常量、有确定值的变量或下标变量(数组元素)、有确定值的表达式
形参: 与实参同类型的简单变量名
函数的嵌套调用
嵌套调用
C语言中函数都是相互平行、独立的。C语言不允许嵌套定义函数(即在定义函数体时,不能在一个函数体内再定义另一个函数)。但是允许嵌套调用函数,即在调用一个函数体的过程中,被调函数又可以调用另一个函数。
递归调用
定义:
当一个函数直接或间接地调用它本身时,称为函数的递归调用
分类
直接递归
间接递归
应用的递归条件
(1)能够把要解决的问题转化为一个新问题,而这个新问题的解决方法又与原来的解决方法相同,只是所处理的对象有规律地递增或递减; (2)能够应用这个转化过程使问题得到解决; (3)必须有一个结束递归过程的条件
变量的存储类别
自动auto
静态static
寄存器regisdter
外部extern
局部变量
定义:定义在函数内部的变量,包括形参
存储类别
每执行一次都将赋一次初值。作用域为函数内部
只在第一次调用时赋初值。静态局部变量的值是上一次调用结束时的值。作用域为函数内部
全局变量
定义:定义在一个函数之外的变量称为全局变量
作用域:定义的位置到文件末尾
注:C语言规定,在局部变量的作用域内,同名的全局变量不起作用
extern
static