第3篇 过程抽象——函数.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 过程抽象--函数 学习目标 掌握函数调用的方法,会使用函数原型; 掌握函数定义的方法,理解函数返回值的意义; 熟练掌握函数调用的值传递规则。 掌握递归函数 第三章 过程抽象--函数 3.1 函数 3.1.1 函数概述 3.1.2 函数定义 3.1.3 函数调用 3.1.4 函数传递机制 3.2 递归函数 3.3 程序的结构化与模块化 3.4 程序测试与代码优化 C函数的概念 函数是C提供的用于实现子模块的语言成分。 函数的概念源于数学,是一个集合到另一个集合的映射。例如对于数学中的函数y=f(x)=x2: 在前面学习的C程序中,都有一个名称为main的函数,每个完整的C程序从该函数开始运行。 在前面编写的程序中,很多处理(运算)都是通过使用库函数完成的。 如数学函数:fabs()、sqrt()、pow()、sin()... 函数的基本要素 一个函数由函数首部和函数体两部分构成 函数首部包括:函数名、函数的返回值类型、函数的参数 函数体包括:声明部分(数据说明)、语句部分(运算) 函数定义和函数调用的概念 编写函数首部和函数体的内容就是进行函数定义 第三章 过程抽象--函数 3.1 函数 3.1.1 函数概述 3.1.2 函数定义 3.1.3 函数调用 3.1.4 函数传递机制 3.2 递归函数 3.3 程序的结构化与模块化 3.4 程序测试与代码优化 函数定义 函数定义的一般形式是: 函数参数 形式参数和实际参数 函数的返回值和return语句 函数的返回值由return语句带回,return语句使被调用函数的执行过程终止 函数定义和调用示例 函数名是一个计算过程的抽象 函数定义小结 函数定义的一般形式: 第三章 过程抽象--函数 3.1 函数 3.1.1 函数概述 3.1.2 函数定义 3.1.3 函数调用 3.1.4 函数传递机制 3.2 递归函数 3.3 程序的结构化与模块化 3.4 程序测试与代码优化 函数调用 函数调用的执行过程 函数调用的执行过程 例:求两数之和 #includestdio.h float add (float x,float y) { float z; z = x+y; return (z); } void main () { float a,b,c; scanf(“%f %f”,a,b); c = add(a,b); printf(“sum is %f\n”,c); } 函数声明(函数原型) 程序要对被调用的函数进行声明。 如果函数定义在本源文件调用点之前,则无需声明; 如果函数定义在本源文件调用点之后,或者在其它文件中定义,则在调用前需要对被调用的函数进行声明。 函数声明的格式如下: 返回值类型 函数名(形式参数表); //函数原型 在函数声明中,形式参数表中可以只列出形参的类型而不写形参名。 函数原型即可以出现在main函数之前,也可以像标准库一样将它们单独列在头文件中,并在源文件中包含该头文件。 例:求两数之和 #includestdio.h float add(float,float); //函数原型 void main () { float a,b,c; scanf(“%f %f”,a,b); c = add(a,b); printf(“sum is %f\n”,c); } float add (float x,float y) { float z; z = x+y; return (z); } 举例 举例 举例 举例 举例 编制一个函数ucos,利用下式计算给定实数x的近似余弦函数值,直到最后一项的绝对值小于10-6. 第三章 过程抽象--函数 3.1 函数 3.1.1 函数概述 3.1.2 函数定义 3.1.3 函数调用 3.1.4 函数传递机制 3.2 递归函数 3.3 程序的结构化与模块化 3.4 程序测试与代码优化 形式参数和实际参数 函数的参数传递 C函数的参数传递机制只有一种,即值传递。 值传递 是指在函数调用时,采用类似赋值操作的形式把实参值复制给形参。 这种复制操作是单向的,不可逆的。 形参变化,实参不变。 第三章 过程抽象--函数 3.1 函数 3.2 递归函数 3.3 程序的结构化与模块化 3.4 程序测试与代码优化 直接递归 void f() { ....... ... f() ... ....... } 递归函数的作用 在程序设计中经常需要实现重复性的操作。循环为实现重复操作提供了一种途径。 实现重复操作的另一个途径是采用递归函数。 递归函数的作用 “分而治之”(Divide and Conquer)设计方法: 把一个问题分解成若干个子问

您可能关注的文档

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档