[其它]第6章函数.ppt

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

第六章 函 数 库函数 常用的库函数 6.1 函数的定义和引用 6.1 函数的定义和引用 return语句 注意:(1) 如果函数类型不为空(void)类型,则函数在返回前必须使用return语句,且返回函数类型相同; (2) 如果函数类型为空(void)类型,则函数体中可以不使用return语句,如果使用, return后不带任何参数。 (3) 一个函数允许有一个或多个return语句,流程执行到其中一个 return时即返回主调函数。每个return后面的表达式的类型应相同。 (4) 如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。对数值型数据可以自动进行类型转换。 (5) 被调用函数中没有return语句,则函数带回一个不确定的值。建议用void标记函数的类型,则系统可保证函数不带回任何值,即禁止在调用函数中使用被调用函数的返回值。 6.1.2 函数的引用 6.1.3 函数的说明 例6-1 编制两数相加程序。 6.1.4 函数(程序)的执行过程 例6-2 求两个整数中较大的一个数, 并输出。 例6-3 编一个程序, 计算任一输入的整数的各位数字之和。 (用函数的方法处理程序) 例6-4 用函数的方法计算球体体积和表面积。 例6-5 编制求n! 的函数。 函数的嵌套调用 嵌套调用 例3 计算 s = 1!+2!+3!+ … + 150! = ? 设计2: 一个主函数和两个子函数, 嵌套调用 递归调用 函数的递归调用 函数直接或间接地调用自身称为递归调用。 递归三要素 递归形式 递归规则 递归终结条件 递归调用举例: 递归调用 递归调用 6.2 数组与函数 6.2 数组与函数 例 求10名学生的平均成绩。 6.3 变量的存储形式及作用域 6.3.1 自动型变量(auto型) 6.3.2寄存器型变量(register型) 6.2.3 静态型变量(static型) 例6-9 读程序, 写出程序运行结果。 例6-10 读程序, 写出程序运行结果。 6.3.4 外部型变量(extern型) 例6-11 例6-12 例6-13 例6-8 读程序,写出程序运行结果。 变量的定义格式 6.8 小 结 #define N 150 main() { long float sum() ; printf(\ns=%-12.5le, sum(N) ); } long float sum(int n) { long float fa() , s=0; int i; for (i=1; i=n; ++i) s=s+ fa(i) ; return s; } long float fa(int k) { int i; long float t; t= 1; for (i=1; i=k; ++i) t*=i ; return t; } 例:有5个人坐在一起,第五个人比第四个人大两岁,第四个人比第三个人大两岁,第三个人比第二个人大两岁,第二个人比第一个人大两岁,第一个人10岁,问第5个人多大。 分析:age(5)=age(4)+2 age(4)=age(3)+2 age(3)=age(2)+2 age(2)=age(1)+2 age(1)=10 age(int n) { int c; if(n= =1) c=10; else c=age(n-1)+2; return(c); } main() { printf(%d\n,age(5)); } 运行结果为:18 例4 计算 n! = 1 当 n=1 或 n=0时 n(n-1)! 当n1时 float fa(int n) { float t; if (n= = 1 || n= =0) t =1 ; else t= n* fa(n-1) ; return (t) ; } main() { int i ; scanf(”%d” , i ); if (i0) printf(”Data error !”) ; else printf(”%d ! = %-16.0f”, i, fa(i) ) ; } 说明: 递归包括“回推”和“递推” 需有结束递归过程的条件 4 * fa(3) 3 * fa(2) 2* fa(1) 1 计算 fa(4) 2*1 (3* 2*1) (4* 3*

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档