C语言程序设计应用教程 许勇 第5章 函数 新.pptVIP

C语言程序设计应用教程 许勇 第5章 函数 新.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 函 数 5.1 函数概念引入 5.2 库函数 5.3 函数定义 5.4 函数间的参数传递 5.5 函数调用 5.6 数组与函数 5.7 变量的作用域 5.8 变量的存储类型 5.9 函数的存储分类 我们先看一个C程序: int mul(int x,int y) { int result; result=x*y; return result; } main() { int a,b,c,d,e; printf(“input a,b,c:”); scanf(“%d%d%d”,a,b,c); d=mul(a,b); /*计算ab的积*/ e=mul(b,c); /*计算bc的积*/ printf(“\n”); printf(“a*b=%d\n”,d); printf(“b*c=%d\n”,e); } 说明: 5.1 函数概念引入 一、C函数的概念 二、C函数与C程序结构 三、C函数的特点 四、函数的分类 5.2 库函数 调用库函数要用include命令,其后要包括头文件名,其一般形式: #include “文件名” 5.3 函数的定义 1. 无参函数的定义形式 5.4 函数间的参数传递 1. 形式参数和实际参数的概念 上例中形参与实参、函数名与返回值之间的关系: 3.函数值的类型 5.5 函数的调用 5.5.1 调用的一般形式 5.5.2 函数调用方式 5.5.3 调用函数声明 5.5.4 函数的嵌套调用 例 用弦截法求方程的根 上题函数的嵌套调用关系: 5.5.5 函数的递归调用 5.6 数组与函数 5. 7 变量的作用域 5.7.1 局部变量 5.7.2 全局变量 5.8 变量的存储类型 5.8.1 变量的动态和静态存储方式 5.8.2 局部变量的存储类型 5.8.3 全局变量的存储类型 5.9 函数的存储分类 ⑶如果已在所有函数定义之前,在文件的开头, 在函数的外部已说明了函数类型,则在各个主 调函数中不必对所调用的函数再做说明。 char letter( char,char); float f(float,float ); int i(float,float); main( ) { ……. } char letter (char c1,char c2) {……} float f(float x,float y) {……} int i(float,float) {……} 在所有函数之前 说明函数类型 此处不必说明 定义函数 letter、f和i ⒈ 嵌套调用说明   C语言不能嵌套定义函数,但可以嵌套调用函数,也就是说,在调用一个函数的过程中调用另一个函数。        图8.1嵌套函数执行流程 2. 被调用函数是用户自定义函数的函数说明    main函数 A函数   B函数     ①  ② ③ ④     调用函数A 调用函数B ⑤     ⑨ ⑧  ⑦ ⑥      结束 返回主函数 返回函数A      说明:执行过程见图中标号。 2.嵌套调用运用 例 函数嵌套的运用示例。 #includestdio.h fun1(int a,int b) { int c; a+=a;b+=b; c=fun2(a,b); /*在函数fun1中嵌套调用fun2函数*/ return (c*c); } fun2(int a,int b) { int c; c=a*b%3; return c; } main() { int x=2,y=5; printf(“%d\n”,fun1(x,y)); /*输出的结果为1*/ } 本例较复杂,重点是了解如何将复杂的问题分解,然后在整合,最终解决问题。 x2,f(x2) x1,f(x1) x,f(x) ? ? ? 数学函数(公式)为: y= f(x) = x 3-5x+16x-80 = 0 问题可转化为:求曲线与x轴交点的 x 坐标 1. 解题方法: ⑴在曲线上取两点P和 Q 坐标为(x1, f(x1) )和( x2,f(x2) ) ,如果f(x1) 和f(x2)符号相反,则(x1 ,x2 )区间内必有一根,反之, 改变 x1和 x2 的值,直到f(x1)和f(x2) 异号为止。 ⑵求连接P和 Q 点的线段与x轴的交点x。 x =(

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档