第5章模块设计
第5章 模块设计
5.,1模块的实现—函数 52模块间的参数传递 53模块的递归调用 54程序举例 5.5编译预处理
5.1 模块的实现——函数 5.2 模块间的参数传递 5.3 模块的递归调用 5.4 程序举例 5.5 编译预处理
5.1模块的实现—函数 511函数的概念 在C语言中,函数分为以下两种。 (1)标准库函数 这种函数用户不必定义,但可直接使用。例如 scant0, printf, fabs, sartO,expO,sinO,cos0等都是C语言 中常用的库函数 (2)用户自己定义的函数 这种函数用以解决用户的专门问题,一般由用户自己编 写 没回日录
5.1 模块的实现——函数 5.1.1 函数的概念 在C语言中,函数分为以下两种。 (1)标准库函数 这种函数用户不必定义,但可直接使用。例如scanf() , printf() , fabs() , sqrt() ,exp(),sin(),cos()等都是C语言 中常用的库函数。 (2)用户自己定义的函数 这种函数用以解决用户的专门问题,一般由用户自己编 写
例51从键盘输入两个正整数m与m(m≥n),求m直(即 求 (m-m)! 其C程序如下: #include 'stdio. h'i mainO/主函数*/ f int m, n int PO;/说明本函数中要调用的函数pO是整型* scanf( %od, % od, &m, &n); s if(m>=n)printf("%d\n",p(m)p(m-n) else printf("m<n!n); intp(k)/*计算阶乘值的函数* int k f int s, i: 1 for(i=l k +1)s=s*i; return(s)
例5.1 从键盘输入两个正整数m与n(m≥n),求 的值(即 求 )。 其C程序如下: #include "stdio.h" main() /*主函数*/ { int m,n; int p(); /*说明本函数中要调用的函数p()是整型*/ scanf("%d,%d",&m,&n); if (m>=n) printf("%d\n",p(m)/p(m-n)); else printf("m<n ! \n"); } int p(k) /*计算阶乘值的函数*/ int k; { int s,i; s=1; for (i=1;i<=k;i=i+1)s=s*i; return(s); } ( )! ! m n m n − Am
下面对函数作几点说明 (1)一个完整的C程序可以由若干个函数组成,其中必 须有一个且只能有一个主函数 maino ,(2)一个完整C程序中的所有函数可以放在一个文件 中,也可以放在多个文件中。 ①在编译命令行中键入各个函数所在的文件名(各文 件名之间用空格分隔)。 ②在主函数中用# include语句将各函数所在的文件包 含进来。 (3)C语言中的函数没有从属关系,各函数之间互相独 立,可以互相调用
下面对函数作几点说明: (1)一个完整的C程序可以由若干个函数组成,其中必 须有一个且只能有一个主函数main()。 (2)一个完整C程序中的所有函数可以放在一个文件 中,也可以放在多个文件中。 ① 在编译命令行中键入各个函数所在的文件名(各文 件名之间用空格分隔)。 ② 在主函数中用 #include 语句将各函数所在的文件包 含进来。 (3)C语言中的函数没有从属关系,各函数之间互相独 立,可以互相调用