第8章1 函数 §8.1概述 ★模块化程序设计 ★基本思想:将一个大程序按功能分割成一些小模块, 特点: ●模块相对独立、功能单一、接口简单 ●控制了程序设计的复杂性 ●提高元件的可靠性 ●缩短开发周期 ●避免程序开发的重复劳动 ●易于维护和功能扩充 冬开发方法:自上向下,逐步分解,分而治之
第8章 函数 §8.1 概述 模块化程序设计 基本思想:将一个大程序按功能分割成一些小模块, ❖特点: ⚫模块相对独立、功能单一、接口简单 ⚫控制了程序设计的复杂性 ⚫提高元件的可靠性 ⚫缩短开发周期 ⚫避免程序开发的重复劳动 ⚫易于维护和功能扩充 ❖开发方法: 自上向下,逐步分解,分而治之
★C是模块化程序设计语言 C程序 源程序文件1 源程序文件1 源程序文件n 预编译命令 函数1 函数n 说明部分 执行部分 C程序结构 四C是函数式语言,包括标准库函数和用户自定义函数 四必须有且只能有一个名为main主函数(开始1结束点) 四c程序的执行总是从main函数开始,在main中结束 四函数不能嵌套定义,可嵌套调用(主调和被调) 四main函数只能是主调函数,其他函数则两者皆可
C是模块化程序设计语言 源程序文件1 预编译命令 说明部分 执行部分 函数1 函数n 源程序文件i 源程序文件n C程序 C程序结构 C是函数式语言,包括标准库函数和用户自定义函数 必须有且只能有一个名为main主函数(开始\结束点) C程序的执行总是从main函数开始,在main中结束 函数不能嵌套定义, 可嵌套调用(主调和被调) main函数只能是主调函数,其他函数则两者皆可
★函数分类 必从用户角度 ●标准函数(库数):由系统提供 ●用户白自定义丞数 从函数形式 ●无参丞数 ●有参数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、 需要使用的包含文件
函数分类 ❖从用户角度 ⚫标准函数(库函数):由系统提供 ⚫用户自定义函数 ❖从函数形式 ⚫无参函数 ⚫有参函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件
函数返回值类 §8.2函数的定义 型缺省int型无 返回值,省略 ★一般格式 return,void 函数头 标准c定义: 函数类型 函数名(形参类型说明表) 函数体 声明部分 执行部分 例无参函数 printstar() {printf(*******n);} 或 printstar(void printf******n2”);}
§8.2 函数的定义 一般格式 函数返回值类 型缺省int型无 返回值,省略 return,void 函数体 函数类型 函数名(形参类型说明表) { 声明部分 执行部分 } 标准c定义: 例 有参函数(标准c) int max(int x,int y) { int z; z=x>y?x:y; return(z); } 例 有参函数(标准c) int max(int x, y) { int z; z=x>y?x:y; return(z); } 例 空函数 dummy( ) { } 函数体为空 例 无参函数 printstar( ) { printf(“**********\n”); } 或 printstar(void ) { printf(“**********\n”); } 函数头
函数头 函数类型 函数名(形参表) 经典c定义: 形参类型说明 说明部分 函数体 语句部分 例 有参函数(传统风格) int i max (x,y) int x,y; int z; z=x>y?x:y; return (z)
函数类型 函数名(形参表) 形参类型说明 { 说明部分 语句部分 } 经典c定义: 例 有参函数(传统风格) int max(x,y) int x,y; { int z; z=x>y?x:y; return(z); } 函数体 函数头