第三章 模块化程序设计.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:59 大小:1.4MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第三章 模块化程序设计.ppt

第三章模块化程序设计.ppt

预览

免费试读已结束,剩余 49 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第三章模块化程序设计第三章模块化程序设计3.1模块化程序设计的方法和特点模块化程序设计的特点:模块相对独立,功能单一编写相对简单,可以独立编写调试可集体开发,缩短开发周期。不同的模块可以由不同的人员开发,最终能够合成完整的程序开发出的模块,可在不同的应用程序中多次使用,减少重复劳动,提高开发效率测试、更新以模块为单位进行而不会影响其他模块阶乘的实现:x=1;for(i=1;i<=k;i++){x=x*i;}#include<stdio.h>voidmain(){inti,k,m,n;floatx,y,z;scanf("%d%d%d",&k,&m,&n);x=1;for(i=1;i<=k;i++)x=x*i;y=1;for(i=1;i<=m;i++)y=y*i;z=1;for(i=1;i<=n;i++)z=z*i;printf("%f\n",x/(y+z));}voidmain(){intk,m,n;floatx,y,z;scanf("%d%d%d",&k,&m,&n);x=factorial(k);y=factorial(m);z=factorial(n);printf("%f\n",x/(y+z));}3.3无返回值函数的定义与调用#include<stdio.h>voidswap(inta,intb){intt;t=a;a=b;b=t;printf(“交换后:%d,%d\n”,a,b);}说明:当函数被调用时,形式参数才被分配存储空间,在调用结束后,形参所占的空间将被释放;实际参数可以是常量,变量或表达式;实际参数和形式参数个数一致,类型一致,顺序一致;实参对形参的数据传递是“值传递”,即单向传递。3.4有返回值函数的定义与调用#include<stdio.h>intleap(intyear){ints;if((year%4==0&&year%100!=0)||(year%400==0))s=1;elses=0;returns;/*或return(s);*/}#include<stdio.h>#include<math.h>intisprime(intm){inti,k;k=sqrt(m);for(i=2;i<=k;i++){if(m%i==0)return(0);}return(1);}例5:求两个数的最大公约数和最小公倍数。求最大公约数的方法:辗转相除法给出两个数,如果两数相除的余数不是0,则除数作为新的被除数,余数作为新的除数,继续相除,当两数相除的余数是0时结束,此时除数就是最大公约数。最小公倍数的方法:用两数的乘积除以最大公约数求最大公约数的函数为:intgys(inta,intb)/*a为被除数,b为除数*/{ints;/*s存放余数*/s=a%b;while(s!=0){a=b;b=s;s=a%b;}return(b);}方法一:完整程序的实现如下:#include<stdio.h>intgys(inta,intb){……}voidmain(){intp,q,r,z;printf("pleaseinput2numbers:");scanf("%d%d",&p,&q);r=gys(p,q);printf(“Greatestcommondivisoris%d\n",r);z=p*q/r;printf("leastcommonmultipleis%d\n",z);}方法二:编写求最小公倍数的函数。#include<stdio.h>intgys(inta,intb){……}intgbs(inta,intb,inth)/*h为最大公约数*/{return(a*b/h);}函数调用的一般形式:函数名(实参列表);说明形式参数:定义函数时写在函数名后括号内的变量,形参前必须有数据类型intgys(inta,intb)实际参数:调用函数时写在函数名后括号内的变量,实参仅写变量名r=gys(p,q)实参列表可包含多个实参,各个实参之间用逗号分隔实参与形参的个数应相等,类型一致,顺序一一对应调用无参函数时格式为:函数名();注意()不能省略函数调用的方式函数语句swap(x,y);函数表达式r=gys(p,q);函数参数printf(“gbsis%d\n",gbs(p,q,r));函数的调用过程:形参与实参各自占有一个独立的存储空间形参的存储空间在函数被调用时才分配函数