2012天津市大学软件园专升本c语言_第六章_函数.pptVIP

2012天津市大学软件园专升本c语言_第六章_函数.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文档。上传文档
查看更多
第 六 章 函数;一. C程序的模块结构;三. 函数分类 1. 从用户角度 标准函数(库函数):由系统提供 用户自定义函数; §6.2 函数的定义 一. 一般格式; 一. 形式参数与实际参数 形式参数:定义函数时函数名后面 括号中的变量 (简称形参) 实际参数:调用函数时函数名后面括号中的表达式 (简称实参);3. 关于形参和实参的说明: 形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放 实参可以是常量、变量或表达式,但它们必须有确定的值 在定义函数时,必须指定形参的类型 形参与实参应类型一致,个数相同,若形参与实参类型不一致,自动按形参类型转换—函数调用转换 调用函数时,将实参变量的值传送给形参变量 ;例6-2 计算x的立方; 二. 函数的返回值 ◆ 返回语句 1. 形式: return(表达式); 或 return 表达式; 或 return; 2. 功能:使程序控制从被调用函数返回到调用函数中,同时把 返回值带给调用函数 3. 说明: ●函数中可有多个return语句 ●若无return语句,遇 }时,自动返回调用函数 ●若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换 ●void型函数;例6-3 函数返回值类型转换;§ 6.4 函数的调用 一. 调用形式: 函数名(实参表); ★ 说明: 实参与形参个数相等,类型一致,按顺序一一对应 实参表求值顺序,因系统而定(Turbo C 自右向左);int f(int a, int b) { int c; if(ab) c=1; else if(a= =b) c=0; else c=-1; return(c); } void main() { int i=2,p; p=f(i,++i); printf(%d,p); };二. 函数调用方式 1. 函数语句: 例 printstar(); printf(“Hello,World!\n”); 2. 函数表达式: 例 c= 2 * max(a,b); 3. 函数参数: 例 printf(“%d”,max(a,b)); m=max(a,max(b,c));;三. 函数声明 1. 对被调用函数要求: 必须是已存在的函数 库函数: #include *.h 用户自定义函数: 函数类型声明 2. 函数声明的一般形式: 函数类型 函数名(形参类型 [形参名],….. ); ( 或 函数类型 函数名(); ) 3. 函数声明的作用: 告诉编译系统函数类型、参数个数及类型,以便检验;4. 函数声明位置:程序的数据说明部分(函数内 或外) 5. 函数声明与函数定义不同 6. 下列情况下,可不作函数声明 若函数类型是 int 型(tc和vc++中通不过) 被调用函数定义出现在主调函数之前 如果已在所有函数定义之前,在函数的外部已做了函 数声明,则在各个主调函数中不必对所调用的函数再做声明;例6-5 函数声明举例;课堂练习;课堂练习;课堂练习; §6.5 函数的嵌套与递归调用 一. 嵌套调用 C规定:函数定义不可嵌套可以嵌套调用函数;例6-6 求三个数中最大数和最小数的差值;例6-7 用弦截法求方程根;输入x1、x2,求f(x1) 、f(x2),直到f(x1)、f(x2)异号;;结果: Input x1,x2: 2,6? A root of equation is 5.0000;二. 递归调用 1.定义:函数直接或间接的调用自身叫函数的递归调用;2. 关于递归调用的说明 ① C编译系统对递归函数的自调用次数没有 限制 ② 每调用函数一次,就要在内存区分配空间,用于存放函数变量、返回值等信息,所以递归次数过多,可能会引起时间和空间的耗费过多;3.能够采用递归方法须满足的条件:;例6-8: 求n的阶乘;输出3!=6 结束;;分析;#include stdio.h int age(int n) { int c; if(n==1) c=10; else c=age(n-1) +2; return(c); } main() { int n; print

文档评论(0)

***** + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档