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

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

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

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

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

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

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

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

第9章函数2标准库函数常用标准库函数char*strcat(char把str2接到str1的后面,str1最后面返回strl的10'被取消。*strl,char *str2)把str2指向的字符串复制到str1char * strcpy(char返回strl中去。*strl,char *str2)统计字符串str中字符的个数(不unsigned strlen(char返回字符个数*str)包括’10')以mode指定的方式打开名为FILE*fopen(char成功返回文件指针,否则返回0*filename,char *mode)filename的文件。关闭fp所指的文件,释放文件缓有错返回非0值,int fclose(FILE *fp)冲区。否则返回0int feof(FILE*fp)文件结束返回非检查文件是否结束。0值,否则返回0
第9章 函数 char * strcat(char *str1,char *str2) 把str2接到str1的后面,str1最后面 的'\0'被取消。 返回str1 char * strcpy(char *str1,char *str2) 把str2指向的字符串复制到str1 中去。 返回str1 unsigned strlen(char *str) 统计字符串str中字符的个数(不 包括'\0') 返回字符个数 FILE *fopen(char *filename,char *mode) 以mode指定的方式打开名为 filename的文件。 成功返回文件指 针,否则返回0 int fclose(FILE *fp) 关闭fp所指的文件,释放文件缓 冲区。 有错返回非0值, 否则返回0 int feof(FILE *fp) 检查文件是否结束。 文件结束返回非 0值,否则返回0 2 标准库函数 常用标准库函数

第9章函数3函数的定义调用和声明函数定义的一般形式函数运行完毕后返回值的类型,缺省为int型合法标识符参数表函数类型函数名(数据类型参数2,…参数1,数据类型函数体;[return表达式;区返回函数出口值
第9章 函数 函数定义: 3 函数的定义调用和声明 函数类型 函数名(数据类型 参数1,数据类型 参数2,.) { 函数体; [return 表达式;] } 合法标识符 参数表 函数出口 返回 值 函数定义的一般形式