第5章函数及变量的存储类别 5.0概述 5.1函数的定义 5.2函数调用 5.3变量的作用域和存储类别 54内部函数和外部函数 5.5函数的嵌套调用和递归调用
第5章 函数及变量的存储类别 5.0 概述 5.1函数的定义 5.2函数调用 5.3变量的作用域和存储类别 5.4内部函数和外部函数 5.5函数的嵌套调用和递归调用
第5章函数及变量的存储类别 §5.0概述 ★模块化程序设计 ◇基本思想:将一个大的程序按功能分割成一些小模块, 特点: 各模块相对独立、功能单一、结构清晰、接口简单 ●控制了程序设计的复杂性 提高元件的可靠性 缩短开发周期 避免程序开发的重复劳动 易于维护和功能扩充 ◆开发方法:自上向下逐步分解,分而治之
第5章 函数及变量的存储类别 §5.0 概述 模块化程序设计 ❖基本思想:将一个大的程序按功能分割成一些小模块, ❖特点: ⚫各模块相对独立、功能单一、结构清晰、接口简单 ⚫控制了程序设计的复杂性 ⚫提高元件的可靠性 ⚫缩短开发周期 ⚫避免程序开发的重复劳动 ⚫易于维护和功能扩充 ❖开发方法: 自上向下,逐步分解,分而治之
★C是模块化程序设计语言 C程序 源程序文件1源程序文件i源程序文件n 预编译命令 函数1 函数n 说明部分执行部分 C程序结构 口C是函数式语言 必须有且只能有一个名为main的主函数 mC程序的执行总是从main函数开始,在main中结束 口函数不能嵌套定义,可以嵌套调用
C是模块化程序设计语言 源程序文件1 预编译命令 说明部分 执行部分 函数1 函数n 源程序文件i 源程序文件n C程序 C程序结构 C是函数式语言 必须有且只能有一个名为main的主函数 C程序的执行总是从main函数开始,在main中结束 函数不能嵌套定义,可以嵌套调用
★函数分类 今从用户角度 ●标准函数(库函数):由系统提供 用户自定义函数 今从函数形式 元参函数 有参函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件
函数分类 ❖从用户角度 ⚫标准函数(库函数):由系统提供 ⚫用户自定义函数 ❖从函数形式 ⚫无参函数 ⚫有参函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件
【例52】编写程序计算组合数 n C(n,)= kI(n-kL #includestdio h maino fint n, k printf(" nplease input(n,k):");,/*输入n、k的值* scanf(%d, %d", &n, &k) C=fac(n)/(fac(k)*fac(n-k);/*三次调用函数ac,求nl、kl、(n-k)!* printf("nC(nk)=%od",c);/*输出计算结果* int fac(int m) /*计算一个整数的阶乘* dint i, s-1 for(=1;<=m;i++) return(s)
#include"stdio.h" main() {int n,k,c; printf("\nplease input( n,k): "); /*输入n、k的值*/ scanf("%d,%d",&n,&k); c=fac(n)/(fac(k)*fac(n-k)); /*三次调用函数fac,求n!、k!、(n-k)!*/ printf("\nC(n,k)=%d",c); /*输出计算结果*/ } int fac(int m) /*计算一个整数的阶乘*/ {int i,s=1; for(i=1;i<=m;i++) s*=i; return(s); } 【例5.2】编写程序计算组合数: n! C(n,k)= ──── k!(n-k)!