
第9章 函数 2025年4月2日
2025年4月2日 第 9 章 函 数

第9章函数 目录 概述 2 标准库函数 3 函数的定义调用和声明 函数的嵌套调用和递归调用 5 变量的作用域和存储类别 6 C程序文件结构 网✉D
第9章 函数 目 录 4 函数的嵌套调用和递归调用 概 述 1 2 标准库函数 3 函数的定义调用和声明 6 C程序文件结构 5 变量的作用域 和存储类别

第9章函数 概述 模块化程序设计 基本思想:将一个大的程序按功能 分割成一些小模块 开发方法: 自上向下,逐步分解, 分而治之
第9章 函数 模块化程序设计 ▪ 基本思想:将一个大的程序按功能 分割成一些小模块 ▪ 开发方法: 自上向下,逐步分解, 分而治之 概 述 1

第9章函数 模块化的优点 模块各司其职 >每个模块只负责一件事情,它可以更专心 >便于进行单个模块的设计、开发、调试、测试和维护等工作 >一个模块一个模块地完成,最后再将它们集成 ■开发人员各司其职 >按模块分配任务,职责明确 >并行开发,缩短开发时间 ■分而治之(Virth,1971) 信息隐藏(Parnas,1972) D
第9章 函数 模块化的优点 ◼ 模块各司其职 ➢每个模块只负责一件事情,它可以更专心 ➢便于进行单个模块的设计、开发、调试、测试和维护等工作 ➢一个模块一个模块地完成,最后再将它们集成 ◼ 开发人员各司其职 ➢按模块分配任务,职责明确 ➢并行开发,缩短开发时间 ◼ 分而治之(Wirth, 1971 ) 信息隐藏(Parnas, 1972)

第9章☒数 函数(function,)和模块 (module) ■函数是C语言中模块化编程的最小单位 >可以把每个函数看作一个模块 ■ 若干相关的函数可以合并作一个“模块” mainO mainO printf() scanf() stdio: mymdl: putchar( getchar0 printf() power( scanf( putcharO power( getchar0
第9章 函数 函数(function)和模块(module) ◼ 函数是C语言中模块化编程的最小单位 ➢可以把每个函数看作一个模块 ◼ 若干相关的函数可以合并作一个“模块” main() printf() scanf() power() putchar() getchar() main() stdio: printf() scanf() putchar() getchar() mymdl: power()

第9章函数 概述 C程序结构 C程序 源程序文件1 源程序文件i 源程序文件n 预编译命令 函数1 函数n 说明部分 执行部分 国☒D
第 9 章 函数 源程序文件1 预编译命令 说明部分 执行部分 函数1 函数n 源程序文件i 源程序文件n C程序结构 C程序 概 述 1

第9章函数 概述 函数的特点 >函数是程序的基本组成单位 >必须有且只能有一个名为main的主函数 >C程序的执行总是从main函数开始,在main中结束 >函数与函数之间是平行的独立的,不能嵌套定义, 但可以嵌套调用,main函数可以调用任意其他函数, 其他函数(除main函数外)之间可相互调用
第9章 函数 函数的特点 ➢ 函数是程序的基本组成单位 ➢ 必须有且只能有一个名为main的主函数 ➢ C程序的执行总是从main函数开始,在main中结束 ➢ 函数与函数之间是平行的独立的,不能嵌套定义, 但可以嵌套调用,main函数可以调用任意其他函数, 其他函数(除main函数外)之间可相互调用 概 述 1

第9章函数 概述 函数的分类 -从用户角度(函数定义) ·标准函数(库函数):由系统提供 ·用户自定义函数:用户可根据需要自己编写。 -从函数返回值角度分 ·有返回值函数 ·无返回值函数 一从主调函数和被调函数间数据传递角度分 ·有参函数 ·无参函数 国☒D
第9章 函数 函数的分类 – 从用户角度(函数定义) • 标准函数(库函数):由系统提供 • 用户自定义函数:用户可根据需要自己编写。 – 从函数返回值角度分 • 有返回值函数 • 无返回值函数 – 从主调函数和被调函数间数据传递角度分 • 有参函数 • 无参函数 概 述 1

第9章函数 2 标准库函数 常用标准库函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件 网☑D
第9章 函数 • 常用标准库函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件 2 标准库函数

标准库函数 第9章函数 常用标准库函数 函数原型 功能 返回值 double fabs(double x) 求x的绝对值。 计算结果 double sqrt (double x) 计算x的算术平方根。 计算结果 double pow(double x, dluble y) 计算x的值。 计算结果 double sin(double x) 计算sin(x)的值。 计算结果 double cos(double x) 计算cos(x)的值。 计算结果 double log(dluble x) 计算1nx的值 计算结果 double exp(double x) 求e的值 计算结果 int rand(void) 产生一个0到32767之间的随 机整数。 随机整数 国✉D
第9章 函数 函数原型 功 能 返回值 double fabs(double x) 求x的绝对值。 计算结果 double sqrt(double x) 计算x的算术平方根。 计算结果 double pow(double x, dluble y) 计算x y的值。 计算结果 double sin(double x) 计算sin(x)的值。 计算结果 double cos(double x) 计算cos(x)的值。 计算结果 double log(dluble x) 计算lnx的值 计算结果 double exp(double x) 求e x的值 计算结果 int rand(void) 产生一个0到32767之间的随 机整数。 随机整数 常用标准库函数 2 标准库函数