网站大量收购闲置独家精品文档,联系QQ:2885784924

《C语言程序设计》第七章函数与模块化程序设计方法.pptVIP

《C语言程序设计》第七章函数与模块化程序设计方法.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模块化程序设计方法 1、模块化程序设计方法的指导思想 将一个大而复杂的设计任务按其需要实现的主要功能分解为若干相对独立的模块,将各模块的功能逐步细化为一系列的处理步骤或某种程序设计语言的语句。 完成总任务的程序由一个主程序和若干个子程序组成,主程序起着任务调度的总控作用,而每个子程序各自完成一个单一的任务。然后分别编写,调试,最后再将它们的目标模块连接装配成一个完整的整体。 模块化程序设计的优点是:程序编制方便,易于修改和调试,可由多人分工合作完成,程序的可读性。可维护性及可扩充性强;子程序的代码公用,使程序简洁。 2、模块分解的原则 (1)如果一个程序段被很多模块所公用,则它应是一个独立的模块。 (2)如果若干个程序段处理的数据是公用的,则这些程序段应放在一个模块中。 (3)若两个程序段的利用率差别很大,则应分属于两个模块。 (4)一个模块既不能过大,也不能过小。过大则模块的通用性较差,过小则会造成时间和空间上的浪费。 (5)力求使模块具有通用性,通用性越强的模块利用性越高。 (6)各模块间应在功能上,逻辑上相互独立,尽量截然分开,特别应避免用转移语句在模块间转来转去。 (7)各模块间的接口应该简单,要尽量减少公共变量的个数,尽量不用共用数据存储单元,在结构或编排上有联系的数据应放在一个模块中,以免相互影响,造成查错困难。 (8)每个模块的结构应设计成单入口,单出口的形式。这样的程序便于调试,阅读和理解且可靠性高。 1、内部函数 如果一个函数只能被本文件中其他函数所调用,它称为 内部函数。在定义内部函数时,在函数名和函数类型的前面 加static。即 static 类型标识符 函数名(形参表) 内部函数又称静态函数。通常把只能由同一文件使用的 函数和外部变量放在一个文件中,在它们前面都冠以static使 之局部化,其他文件不能引用。 内部函数和外部函数 2、外部函数 (1)在定义函数时,如果在函数首部的最左端冠以关键字 extern,则表示此函数是外部函数,可供其他文件调用。 如函数首部可以写为 extern int fun(int a,int b) C语言规定,如果在定义函数时省略extern,则隐含为外部函数。 (2)在需要调用此函数的文件中,用extern声明所用的函数是 外部函数。 课堂练习 1、写一函数,统计字符串中字母的个数。要求用数组元素作为函数实参。 提示:数组元素就是下标变量,它与普通变量并无区别。数组元素只能用作函数实参,其用法与普通变量完全相同:在发生函数调用时,把数组元素的值传送给形参,实现单向值传送。 int isalp(char c) { if (c=ac=z||c=Ac=Z) return(1); else return(0); } main() { int i,num=0; char str[255]; printf(Input a string: ); gets(str); for(i=0;str[i]!=\0;i++) if (isalp(str[i])) num++; puts(str); printf(num=%d\n,num); } 2、用直接递归调用计算整数和:1+2+3+4+…+n。 答案: long sum(int n) { if(n==1) return(1); return(sum(n-1)+n); } ? 3、输入长方体的长(l)、宽(w)、高(h),求长方体体积及正、侧、顶三个面的面积。 提示:利用全局变量计算长方体的三个面的面积 答案: int s1,s2,s3; int vs(int a,int b,int c) { int v; v=a*b*c; s1=a*b; s2=b*c; s3=a*c; return v; } main() {int v,l,w,h; clrscr(); printf(\ninput length,width and height: ); scanf(%d%d%d,l,w,h); v=vs(l,w,h); printf(v=%d,s1=%d,s2=%d s3=%d\n,v,s1,s2,s3); } 分析:要注意局部变量和全局变量的区别: 局部变

文档评论(0)

peace0308 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档