c语言课件7 function

c语言课件7 function

ID:5529216

大小:4.01 MB

页数:95页

时间:2017-11-16

c语言课件7 function_第1页
c语言课件7 function_第2页
c语言课件7 function_第3页
c语言课件7 function_第4页
c语言课件7 function_第5页
资源描述:

《c语言课件7 function》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章函数杨铭信息学院本章学习内容函数定义、函数调用、函数原型、函数的参数传递与返回值递归函数和函数的递归调用函数封装,函数复用,函数设计的基本原则,程序的健壮性变量的作用域与存储类型,全局变量、自动变量、静态变量、寄存器变量“自顶向下、逐步求精”的模块化程序设计方法2大话三国《三国演义》中有这样一段描写:懿问曰:“孔明寝食及事之烦简若何?”使者曰:“丞相夙兴夜寐,罚二十以上皆亲览焉。所啖之食,日不过数升。”懿顾谓诸将曰:“孔明食少事烦,其能久乎?”此话音落不久,诸葛亮果然病故于五丈原。“事无巨细”,“事必躬亲”管理学的观点是极

2、其排斥这种做法的,认为工作必须分工,各司其职其中的思想,在程序设计里也适用3请问:读多少行的程序能让你不头疼?假如系统提供的函数printf()由10行代码替换,那么你编过的程序会成什么样子?实际上一个printf()有上千行代码main()中能放多少行代码?如果所有代码都在main()中,怎么团队合作?如果代码都在一个文件中,怎么团队合作?4数学中的函数自变量因变量函数名程序设计中的函数程序设计中的函数不局限于计算计算类,如打印阶乘表的程序……判断推理类,如排序、查找……57.1Whydoweneedfunction分而治之(Divid

3、eandConquer,Wirth,1971)函数把较大的任务分解成若干个较小的任务,并提炼出公用任务信息隐藏(InformationHiding,Parnas,1972)设计得当的函数可把具体操作细节对外界隐藏起来,从而使整个程序结构清楚使用函数时,不用知道函数内部是如何运作的,只按照我们的需要和它的参数形式调用它即可6Functionispowerful7函数是C语言中模块化编程的最小单位可以把每个函数看作一个模块(Module)如把编程比做制造一台机器,函数就好比其零部件可将这些“零部件”单独设计、调试、测试好,用时拿出来装配,再总

4、体调试。这些“零部件”可以是自己设计制造/别人设计制造/现成的标准产品7.2函数(Function)的定义MoeCurlyLarry87.2函数(Function)的定义若干相关的函数可以合并成一个“模块”一个C程序由一个或多个源程序文件组成一个源程序文件由一个或多个函数组成9程序中各个函数的关系函数生来都是平等的,互相独立的,没有高低贵贱和从属之分main()稍微特殊一点点C程序的执行从main函数开始调用其他函数后,流程回到main函数在main函数中结束整个程序运行107.2.1函数的分类标准库函数ANSI/ISOC定义的标准库函数

5、符合标准的C语言编译器必须提供这些函数函数的行为也要符合ANSI/ISOC的定义第三方库函数由其他厂商自行开发的C语言函数库不在标准范围内,能扩充C语言的功能(图形、网络、数据库等)自定义函数自己定义的函数包装后,也可成为函数库,供别人使用117.2.2函数的定义(FunctionDefinition)类型函数名(类型参数1,类型参数2,……){声明语句序列可执行语句序列return表达式;}返回值类型函数名标识符,说明运算规则参数表相当于运算的操作数返回运算的结果函数出口12类型函数名(类型参数1,类型参数2,……){声明语句序列可执行

6、语句序列return表达式;}函数体的定界符参数表里的变量(叫形式参数,FormalParameter)也是内部变量函数体7.2.2函数的定义(FunctionDefinition)1314void函数名(void){声明语句序列可执行语句序列return;}函数无返回值,用void定义返回值类型用void定义参数,表示没有参数return语句后无需任何表达式7.2.2函数的定义(FunctionDefinition)1516【例7.1a】计算整数n的阶乘n!/*函数功能:用迭代法计算n!函数入口参数:整型变量n表示阶乘的阶数函数返回值:

7、返回n!的值*/longFact(intn)/*函数定义*/{inti;longresult=1;for(i=2;i<=n;i++){result*=i;}returnresult;}返回值类型函数名说明函数的功能返回值作为函数调用表达式的值形参表,函数入口函数内部可以定义只能自己使用的变量,称内部变量17Howisafunctioniscalled?18函数名(表达式1,表达式2,……);实际参数(ActualArgument)函数调用(FounctionCall)时提供的表达式有返回值时放到一个数值表达式中c=max(a,b);作为另

8、一个函数调用的参数c=max(max(a,b),c);printf("%d",max(a,b));无返回值时函数调用表达式display(a,b);返回值=函数名(实参表列);函数名(实参

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

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

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