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

C语言程序的设计第5章 函数.ppt

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

第5章 函数;从用户的观点出发,C语言的函数分为库函数和用户自定义函数两种。;5.2 函数基础 ;5.2.1 函数的定义;函数类型是指函数返回值的类型。若函数返回值的类型标识符省略,默认为int类型。若函数无返回值,则要将函数定义为void类型。 ;float sum (float x , float y ) { int z ; z = x + y ; return z ; };5.2.1 函数的定义;5.2.1 函数的定义;5.2.1 函数的定义;例:编写一个自定义函数求 n!;5.2 函数基础 ;5.2.2 函数的调用 ;5.2.2 函数的调用;5.2.2 函数的调用;2.函数调用时的语法要求 ;5.2.2 函数的调用;5.2 函数基础 ;5.2.3 函数原型;5.2.3 函数原型 ;5.2 函数基础 ;被调函数执行完成后,常常需要将处理的结果返回给主调函数,这种数据传递称为函数的返回值(函数值)。 函数的返回值是函数数据输出的通道之一。除了void函数外,所有的函数都应该返回一个值。 函数的返回值通常采用在函数体中用return语句显式地给出。一般形式为:;5.2.4 函数的返回值 ;5.2 函数基础 ;5.2.5 函数之间的数据传递 ;5.2.5 函数之间的数据传递 ;2;5.2 函数基础 ;5.2.6 函数应用举例;5.2.6 函数应用举例;5.2.6 函数应用举例;5.3 函数的递归调用 ;嵌套调用 :在一个函数调用过程中又调用另一个函数。 C语言中,函数的定义是独立的,各函数均处于平行的关系。理论上,任何一个函数都可调用其他的函数,甚至调用它本身。main为例外已强调过多次。 由于一个大的问题往往会被逐步分解为不同层次的许多函数。因此,对函数的嵌套调用将不可避免,并大量存在。原则上,C语言对函数的嵌套调用深度并未刻意加以限制。;main函数 a 函数 b 函数 调用a 函数 调用b 函数 结束;5.3.2 函数的嵌套调用;5.3 函数的递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;递归函数的结构十分简练。构造递归函数的关键是找到适当的递归算法和终结条件。因为递推的过程不能无限制地进行下去,必须要有一个结束此过程的条件。在前面的例子求n!的过程中,1!=1就是这样的结束递推过程的条件。;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;使用递归算法求m和n的最大公约数gcd;#include stdio.h #include math.h int main(void) { float gcd( ),m,n,g; printf(“\n Input m, n:\n”); scanf(“%f,%f”,m,n); g=gcd(m,n); printf(“\n gcd(%2.0f,%2.0f)=%5.0f\n”,m,n,g); return 0; };float gcd(a,b) float a,b; { if (b==0) return(a); else return(gcd (b, fmod(a,b))); };5.4 标识符的作用域和生存期 ;5.4 标识符的作用域和生存期 ;5.4.1 标识符的作用域 ;5.4.1 标识符的作用域 ;局部变量的使用:说出下列程序的运行结果;5.4.1 标识符的作用域 ;int Abc, D1 ; main() { float f1, f2 ; ··· } float Ka, Hc ; hanshu(int x, int y) { double c, e ; ··· };5.4.1 标识符的作用域 ;全局变量的特点:; #include stdio.h int X=3; int func( ) { int c=0 ; c+=X; X+= 10 ; return ( c ) ; } int main(void ) { int k=2; k=func( ) ; printf(1)%d\n, k ) ;

文档评论(0)

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

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

1亿VIP精品文档

相关文档