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

《解析C程序设计》第3章 自定义函数设计.ppt

《解析C程序设计》第3章 自定义函数设计.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《解析C程序设计》第3章 自定义函数设计 第3章 自定义函数设计 本章内容 最大值和最小值问题 条件运算符 函数的定义 函数的调用 函数的返回 参数的传递 函数的声明 交换两个变量值的问题 变量的作用域 变量的存储类型 前面的所有程序都是由一个主函数main()组成,程序的所有操作都在主函数中完成。(当然也包含一些库函数) 对于小程序可以这样做,但是,对于一个有一定规模的程序这样做就不合适了。 事实上,C程序可以 只包含一个主函数 也可以包含一个主函数和若干个其它函数(库函数和自定义函数) C语言是一个函数式语言。 C函数分类 (1)用户自定义函数(包括主函数); (2)系统提供的库函数。由C系统开发商提供,程序员可以直接调用。 自定义函数以下简称函数。 下面通过一个简单问题来初步了解自定义函数的用法。 3.1 最大值和最小值问题 问题的提出 例3-1 由用户输入三个整数,编程求解三个数的最大值和最小值。 问题的分析 条件表达式运算符 求x和y的最大值 max=xy?x:y; 函数的定义 传统风格的函数定义 函数定义说明 特别注意 课堂练习 主调函数与被调函数 函数的调用 函数调用的几种方式 函数调用说明 ①如果调用的是无参函数,则“实际参数表”可以没有,但括号()不能省略。 ②如果实参表包含多个实参,则各参数间用逗号隔开。 ③实参与形参的个数应相等、类型应一致。 ④实参与形参按顺序对应,一一传递数据。 特别说明:如果实参表包括多个实参,对实参求值的顺序并不确定,有的系统自左至右,有的则是自右至左。TurboC是按自右而左的顺序求值的。读者对自已的系统可编程试之。 函数调用说明 ⑤函数不能嵌套定义,即在一个定义好的函数中,又定义另一个函数。但是函数之间允许相互调用,也允许嵌套调用。但main函数不能被调用。 ⑥函数还可以自己调用自己,称为递归调用。 例3-2:求两个整数的最大值和最小值 函数的返回 函数返回不确定值 函数返回值类型转换 例3-2:求两个整数的最大值和最小值 函数参数 参数传递——值传递方式 参数传递——地址传递方式 为此,C提供了函数原型的机制。即函数声明后即可调用。 函数声明 函数声明举例 例3-1问题的实现 C程序结构 为什么要使用函数 举一反三 例3-4:计算两个实数之和 用宏定义和函数实现同样的功能 思考题 3.2 交换两个变量值的问题 问题的提出 例3-7:用函数来实现交换两个变量的值。 问题的分析 变量的作用域与存储类型 变量的作用域与存储类型 局部变量——内部变量 全局变量——外部变量 例3-8:使用函数求两个变量的最大值、最小值、平均值 例3-8程序 例3-7问题的实现 例3-7问题的实现 思考题 存储类型的提出 动态变量与静态变量 变量的存储类型 自动变量auto auto的作用域 寄存器变量register 用static声明局部变量 例3-10:计算1~5的阶乘 用extern声明外部变量 例3-11:求两个全局变量的最大值 ⑵在多个文件的程序中声明外部变量 例:输出a?b和a的m次方 用static声明外部变量 作用域与生存期的例子 举一反三 例3-13:计算一个数的立方 建 议 学好程序设计语言的唯一途径是 上机练习 你的编程能力与你在计算机上   投入的时间成正比 习题3 教材:习题3.3 3.7 3.9。 教材:习题3.2 3.6 3.12。 思考题 怎样编写比较复杂的带有控制流程的程序? 如:满足某种条件执行某段程序; 重复计算某种运算:1+2+… /*LI3_11.c*/ #include stdio.h int max(int x,int y); /* 函数声明 */ void main( ) { extern A,B; /* 声明外部变量 */ int r; r=max(A,B); printf(%d,r); } int max(int x,int y) /* 函数定义 */ { int z; z=xy?x:y; return(z); } int A=13,B=-8; /* 定义外部变量 */ 注:extern A,B; 等价于: extern int A,B; 沏楷目千会犀汇教凰熙杉条喧玄每溃叉鳃玩儡藉创造茁等楷绝庸淄颊呢躯《解析C程序设计》第3章 自定义函数设计《解析C程序设计》第3章 自定义函数设计 int p=1,q=5; float f1(int a) { int b,c; …….

文档评论(0)

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

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

1亿VIP精品文档

相关文档