第9章丞数 §程序设计有两大最高级的艺术 ★算法设计艺术 ★结构设计艺术 §函数(function)是结构设计的最基本单位 §“一个程序应该是轻灵自由的,它的子过程就 象串在一根线上的珍珠。” -Geoffrey James的《编程之道》
第9章 函数 §程序设计有两大最高级的艺术 算法设计艺术 结构设计艺术 §函数(function)是结构设计的最基本单位 §“一个程序应该是轻灵自由的,它的子过程就 象串在一根线上的珍珠。” -Geoffrey James的《编程之道》
用丞数解决问题 §函数把较大的任务分解成若干个较小的 任务,并提炼出公用任务 §程序员可以在其他函数的基础上构造程 序,而不需要从头做起 §设计得当的函数可以把具体操作细节对 程序中不需要知道它们的那些部分隐藏 掉,从而使整个程序结构清楚 开发方法:自上向下,逐步分解,分而治之
用函数解决问题 §函数把较大的任务分解成若干个较小的 任务,并提炼出公用任务 §程序员可以在其他函数的基础上构造程 序,而不需要从头做起 §设计得当的函数可以把具体操作细节对 程序中不需要知道它们的那些部分隐藏 掉,从而使整个程序结构清楚 开发方法: 自上向下,逐步分解,分而治之
★函数分类 冬从用户角度 ●标准函数(库函数):由系统提供 ●用户自定义函数 从函数形式 ·无参函数 ·有参函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件
函数分类 ❖从用户角度 ⚫标准函数(库函数):由系统提供 ⚫用户自定义函数 ❖从函数形式 ⚫无参函数 ⚫有参函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件
函数返回值类型 §9.2用户函数的1 缺省int型 一、定义格式 无返回值void 合法标识符 现代风格: 函数类型 函数名(形参类型说明表) 函数体 说明部分 语句部分 例无参函数 printstar() {printf(***n”)方 或 printstar(void) 为空 { printf(****n”)方
§9.2 用户函数的定义、调用 一、定义格式 合法标识符 函数返回值类型 缺省int型 无返回值void 函数体 函数类型 函数名(形参类型说明表) { 说明部分 语句部分 } 现代风格: 例 有参函数(现代风格) int max(int x,int y) { int z; z=x>y?x:y; return(z); } 例 有参函数(现代风格) int max(int x, y) { int z; z=x>y?x:y; return(z); } 例 空函数 dummy( ) { } 函数体为空 例 无参函数 printstar( ) { printf(“**********\n”); } 或 printstar(void ) { printf(“**********\n”); }
传统风格: 函数类型 函数名(形参表) 形参类型说明 说明部分 语句部分 例 有参函数(传统风格) int max(xy) int x,y, int z; z=x>y?x:y, return(z);
函数类型 函数名(形参表) 形参类型说明 { 说明部分 语句部分 } 传统风格: 例 有参函数(传统风格) int max(x,y) int x,y; { int z; z=x>y?x:y; return(z); }