第8章 画数 7
第8章 函数
81概述 82函数的定义 83函数的调用 84函数的嵌套及递归调用 8.5局部变量和全局变量 8.6变量的存储类别 8.7函数举例 7
8.1 概 述 8.2 函数的定义 8.3 函数的调用 8.4 函数的嵌套及递归调用 8.5 局部变量和全局变量 8.6 变量的存储类别 8.7 函 数 举 例
8.1概述 811模块化程序设计思想 面对一项复杂任务,通常采取模块化的解 决方法。首先,分解该复杂任务成几个大的功 能模块,根据需要还可以继续细分,直到分解 成一个个功能独立的模块为止。分解的结果可 以描述为一棵倒立的大树,如图8.所示。 7
8.1 概 述 8.1.1 模块化程序设计思想 面对一项复杂任务,通常采取模块化的解 决方法。首先,分解该复杂任务成几个大的功 能模块,根据需要还可以继续细分,直到分解 成一个个功能独立的模块为止。分解的结果可 以描述为一棵倒立的大树,如图8.1所示
大任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 7 图81模块化程序设计
图8.1 模块化程序设计 大任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务 小任务
812C语言程序结构 函数是构成C语言程序的基本功能模块 它完成一项相对独立的任务。一个C语言程序 是若干函数构成的,在构成C程序的诸多函数 中有而且只有一个主函数。函数是程序的最小 所有函数之间的关系是平行的,没有从属 的概念。函数的平行关系使得函数的编写相对 独立,便于模块化程序设计的实现。 C程序的执行总是从主函数开始,又从主函数 结束,其他函数只有通过调用关系发生作用。 7
8.1.2 C语言程序结构 函数是构成C语言程序的基本功能模块, 它完成一项相对独立的任务。一个C语言程序 是若干函数构成的,在构成C程序的诸多函数 中有而且只有一个主函数。函数是程序的最小 组成单位。 所有函数之间的关系是平行的,没有从属 的概念。函数的平行关系使得函数的编写相对 独立,便于模块化程序设计的实现。 C程序的执行总是从主函数开始,又从主函数 结束,其他函数只有通过调用关系发生作用
8.14函数的分类 从用户角度分 从用户角度,函数可分为以下两类。 (1)库函数 (2)自定义函数 ①定义函数; ②声明函数; ③调用函数。 具体使用方法将在本章中详细介绍。 7
8.1.4 函数的分类 1.从用户角度分 从用户角度,函数可分为以下两类。 (1)库函数 (2)自定义函数 ① 定义函数; ② 声明函数; ③ 调用函数。 具体使用方法将在本章中详细介绍
2.从函数形式分 从函数形式角度,函数可分为以下两类。 (1)无参函数,函数不带参数。 (2)有参函数,函数带有至少一个参数。 7
2.从函数形式分 从函数形式角度,函数可分为以下两类。 (1)无参函数,函数不带参数。 (2)有参函数,函数带有至少一个参数
3.从函数的返回值分 从函数是否有返回值,函数可分为以下两类。 (1)有值函数,调用该函数后可以得到返回x 值 (2)无值函数,调用该函数后没有返回值。 无值函数类似于其他高级语言中的过程。 7
3.从函数的返回值分 从函数是否有返回值,函数可分为以下两类。 (1)有值函数,调用该函数后可以得到返回 值。 (2)无值函数,调用该函数后没有返回值。 无值函数类似于其他高级语言中的过程
82函数的定义 函数由两部分构成:函数头和函数体。 函数头给出函数相关信息(类似“黑盒 子”中的入口和出口),而函数体具体实现 函数的功能。 7
8.2 函数的定义 函数由两部分构成:函数头和函数体。 函数头给出函数相关信息(类似“黑盒 子”中的入口和出口),而函数体具体实现 函数的功能
821函数的定义形式 函数定义的一般形式是: 类型标识符函数名(形式参数表列) 形式参数类型说明 数据描述部分 算法实现部分 前两行是函数头。形式参数(又简称形参 表列和形式参数类型说明部分体现的是一个 7 函数的入口参数的个数及其类型
8.2.1 函数的定义形式 函数定义的一般形式是: [类型标识符] 函数名(形式参数表列) 形式参数类型说明 { 数据描述部分 算法实现部分 } 前两行是函数头。形式参数(又简称形参 )表列和形式参数类型说明部分体现的是一个 函数的入口参数的个数及其类型