Ch5_C语言 函数.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ch5_C语言 函数

内容提要 函数定义、函数调用、函数原型、函数返回值 难点:函数的参数传递与返回值 全局变量、自动变量、静态变量、寄存器变量 难点:变量的作用域与存储类型 程序调试 结构设计与模块化 程序设计的艺术 程序设计有两大最高级的艺术 算法设计艺术 结构设计艺术 函数(function)是结构设计的最基本单位 “一个程序应该是轻灵自由的,它的子过程就象串在一根线上的珍珠。” Geoffrey James的《编程之道》 用函数解决问题 分而治之 函数把较大的任务分解成若干个较小的任务,并提炼出公用任务 复用 程序员可以在其他函数的基础上构造程序,而不需要从头做起 信息隐藏 设计得当的函数可以把具体操作细节对程序中不需要知道它们的那些部分隐藏掉,从而使整个程序结构清楚 函数的分类 库函数 自定义函数 函数定义(definition) 返回值类型 函数名 (参数表) { 函数体 return 表达式; } 返回值类型如果没有定义,默认为int类型 返回值的结果以函数类型为准 返回值类型与return语句配合 如果不需要返回值,则应该用void定义返回值类型,同时return语句之后不再需要任何表达式 当函数执行到return语句时,就中止函数的执行,返回到调用它的地方;一个函数里可有多个return语句,但只能执行1个return语句。 函数内部可以定义只能自己使用的变量,称内部变量。参数表里的变量也是内部变量 函数名命名 Windows风格函数名命名 用大写字母开头的单词组合而成 变量名形式 “名词”或者“形容词+名词” 如变量名oldValue与newValue等 函数名形式 “动词”或者“动词+名词”(动宾词组) 如函数名GetMax()等 对函数接口加以注释说明 /* 函数功能:实现××××功能 函数参数:参数1,表示××××× 参数2,表示××××× 函数返回值: ××××× */ 返回值类型 函数名 (参数表) { 函数体 return 表达式; } 例5.1a 计算两个整数的平均数 /* 函数功能: 计算平均数 函数入口参数: 整型x,存储第一个运算数 整型y,存储第二个运算数 函数返回值: 平均数 */ int Average(int x, int y) { int result; result = (x + y) / 2; return result; } 函数调用(call) 单向值传递 调用函数时,必须提供所有的参数 printf和scanf是采用变长变量表定义的函数,所以变量的个数不固定。 提供的参数个数、类型、顺序与定义时相同 有返回值时 放到一个数值表达式中,如c = max(a,b); 作为另一个函数调用的参数,如 c = max(max(a,b),c); printf(%d\n, max(a,b)); 无返回值时 函数调用表达式,如display(a,b); 例5.1b 使用了Average函数的main() main() { int a = 12; int b = 24; int ave; ave = Average(a, b); printf(Average of %d and %d is %d.\n, a, b, ave); } 函数参数 形式参数:在定义函数时函数名后面括弧中 的变量名,简称形参。 实际参数:在调用函数时函数名后面括弧中 的表达式,简称实参。 函数参数 在函数调用前,形参不占内存单元,调用时占用,调用后释放。 形参变量和实参变量占用不同的内存单元(传值) 定义函数时,必须指定形参类型。 函数参数 实参必须有确定的值,可以是常量,变量或表达式。在调用时将实参的值赋给形参变量。 实参与形参应匹配(顺序、类型、个数) 实参对形参的数据传递是值传递,只由实参传递给形参,调用结束后,只有形参单元被释放,实参单元中的值不变。 若是地址传递,可理解为实参与形参共用同一存储单元 。(这一点在学习数组、指针时请注意听)。 函数原型(prototype) 调用一个函数之前,先要对其返回值类型、函数名和参数进行声明(declare) 不对函数进行声明是非常危险的 声明时不要省略参数以及返回值的类型 例5.1 #include stdio.h /* 函数功能: 计算平均数 函数入口参数: 整型x,存储第一个运算数 整型y,存储第二个运

文档评论(0)

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

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

1亿VIP精品文档

相关文档