C语言程序设计ch05 模块化编程.ppt

C语言程序设计ch05 模块化编程.ppt

ID:51488771

大小:414.50 KB

页数:51页

时间:2020-03-24

C语言程序设计ch05 模块化编程.ppt_第1页
C语言程序设计ch05 模块化编程.ppt_第2页
C语言程序设计ch05 模块化编程.ppt_第3页
C语言程序设计ch05 模块化编程.ppt_第4页
C语言程序设计ch05 模块化编程.ppt_第5页
资源描述:

《C语言程序设计ch05 模块化编程.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5章模块化编程5.1概述模块化程序设计若只有main函数,则程序太长、太复杂,导致跟踪、调试、维护困难基本思想:将一个大的程序按功能分割成一些小模块,各部分独立编码、调试、再集成。特点:各模块相对独立、功能单一、结构清晰、接口简单控制了程序设计的复杂性易理解易于维护和功能扩充开发方法:自上向下,逐步分解,分而治之C程序结构…C是函数式语言必须有且只能有一个名为main的主函数C程序的执行总是从main函数开始,在main中结束函数不能嵌套定义,可以嵌套调用…函数分类从用户角度标准函数(库函数):由系统提供用户自

2、定义函数从函数形式无参函数有参函数使用库函数的一般方法:1、函数功能2、函数参数的数目和顺序,及各参数意义和类型3、函数返回值意义和类型4、需要使用的包含文件5.1.1函数的定义多函数程序#include"stdio.h"main(){voidprintstar();printstar();printf("ThisisaexampleofuseCfunction");printstar();}voidprintstar(){printf("*****************************");}

3、函数控制流函数与变量的对比函数名和变量名均以标识符体现函数和变量均有对应的类型,如int函数和变量一样,均要prototype函数定义格式函数体合法标识符函数返回值类型缺省int型无返回值void函数类型函数名(形参类型说明表){说明部分语句部分return语句}以上红色的为函数的6个元素函数头部函数类型函数名(形参表)形参类型说明{说明部分语句部分}传统风格:例有参函数(传统风格)intmax(intx,inty){intz;z=x>y?x:y;return(z);}函数类型voidprintstar(){pr

4、intf("*****************************");}voidswap(intx,inty){inttemp;temp=x;x=y;y=temp;}floatsqure(floatx){return(x*x);}intget_number(void){inttemp=1;returntemp;}intmathoperation(inta,intb,int*s){……}返回多个数据返回语句形式:return(表达式);或return表达式;或return;功能:使程序控制从被调用函数返回到调

5、用函数中,同时把返值带给调用函数例无返回值函数voidswap(intx,inty){inttemp;temp=x;x=y;y=temp;return;}函数中可有多个return语句若无return语句,遇}时,自动返回调用函数若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换——函数调用转换void型函数5.1.2函数的调用调用形式函数名(实参表);实参与形参个数相等,类型一致,按顺序一一对应实参表求值顺序视系统而定(TurboC,VC++自右向左)例比较两个数并输出大者main(){i

6、nta,b,t;scanf("%d,%d",&a,&b);t=max(a,b);//函数调用printf("Maxis%d",t);}max(intx,inty)//函数定义{intz;z=x>y?x:y;return(z);}三个数最大值的问题:t=max(a,max(b,c));5.1.3函数参数及其传递方式实际参数:调用函数时函数名后面括号中的表达式形式参数:定义函数时函数名后面括号中的变量名c=max(a,b);(main函数)(max函数)max(intx,inty){intz;z=x>y?x:y;

7、return(z);}main(){inta,b,t;intmax(int,int);scanf("%d,%d",&a,&b);t=max(a,b);printf("Maxis%d",t);}max(intx,inty){intz;z=x>y?x:y;return(z);}形参实参实参必须有确定的值形参必须指定类型形参与实参类型一致,个数相同若形参与实参类型不一致,自动按形参类型转换——函数调用转换形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放,实参单元仍保留并维持原值。也就是说,形参与

8、实参占用不同的内存单元——单向传递/值传递例计算x的立方#includefloatcube(floatx){return(x*x*x);}main(){floata,product;printf("Pleaseinputvalueofa:");scanf("%f",&a);product=cube(a);printf(”Cubeof%.4fis%.4f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。