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

C语言程序设计 课件全套 王新萍 第1--11章 C语言概述---文件.ppt

C语言程序设计 课件全套 王新萍 第1--11章 C语言概述---文件.ppt

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

7.5.2数组名作为函数参数数组名作为函数参数时,不是值的单向传递,而是把实参数组的首地址传给形参数组,这个两个数组共用一段存储单元,即实参数组名和形参数组名共同指向数组的第一个元素。7.6函数的嵌套调用C语言中的函数定义是互相独立的,函数和函数之间没有从属关系,一个函数既可以被其它函数调用,同时它也可以调用别的函数,这就是函数的嵌套调用。fun1main返回printffun2返回调用调用调用结束图7.4函数嵌套调用过程7.7函数的递归调用所谓递归,就是自己调用自己。函数的递归调用有两种形式:(1)直接递归调用,即一个函数可直接调用该函数本身。(2)间接递归调用,即一个函数可间接地调用该函数本身。7.8.1变量存在性和可见性C语言中,决定变量的性质主要依靠3个因素。第一是变量数据类型,它决定了变量的存储空间大小,诸如int、float等就是表达变量数据类型的关键字;第二是变量的作用域,它说明了一个变量在程序中起作用的范围;第三是变量的存储类型,它规定了在程序中将变量存放于何种存储机构上。作用域(也称可见性)是指变量起作用的程序范围。从作用域角度区分,变量可分为局部变量和全局变量。7.8作用域和存储类型变量的生存期(也称存在性)是指某一时间范围,在该时间范围内变量在内存中存放。从生存期角度来分,变量可分为静态变量和动态存储变量。静态存储变量存放在内存中的静态存储区,动态存储变量在内存中的动态存储区。因此静态变量在程序整个运行中都存在,而只有当包含动态存储变量的函数被调用时,才为该动态存储变量临时分配单元,所以动态存储变量只在函数的执行过程中存在。7.8.2局部变量和全局变量1.局部变量在一个函数内定义的变量称为内部变量,它只在本函数内有效,而在其它函数内不能使用,故这些变量又称为局部变量。2全局变量在函数外部定义的变量称为外部变量,外部变量是全局变量。全局变量的作用范围为:从定义全局变量位置开始到源程序结束。全局变量可以在其作用范围内由其它函数所共用。7.8.3变量的存储类型(1)auto变量函数中的局部变量,如不专门声明为static存储类别,都是动态地分配存储空间的,数据存储在动态存储区中。函数中的形参和在函数中定义的变量(包括在复合语句中定义的变量),都属此类,在调用该函数时系统会给它们分配存储空间,在函数调用结束时就自动释放这些存储空间。这类局部变量称为自动变量。自动变量用关键字auto作存储类别的声明。例如:intf(inta)/*定义f函数,a为参数*/{autointb,c=3;/*定义b,c自动变量*/……}a是形参,b,c是自动变量,对c赋初值3。执行完f函数后,自动释放a,b,c所占的存储单元。关键字auto可以省略,auto不写则隐含定为“自动存储类别”,属于动态存储方式。(2)用static声明局部变量有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,这时就应该指定局部变量为“静态局部变量”,用关键字static进行声明。【程序文本7.13】考察静态局部变量的值。f(inta){autob=0;staticc=3;b=b+1;c=c+1;return(a+b+c);}main(){inta=2,i;for(i=0;i3;i++)printf(%d,f(a));}(3)register变量为了提高效率,C语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫“寄存器变量”,用关键字register作声明。【程序文本7.15】使用寄存器变量。intfac(intn){registerinti,f=1;for(i=1;i=n;i++)f=f*ireturn(f);}main(){inti;for(i=0;i=5;i++)printf(%d!=%d\n,i,fac(i));}(4)extern声明外部变量外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。如果在定义点之前的函数想引用该外部变量,则应该在引用之前用关键字extern对该变量作“外部变量声

文档评论(0)

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

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

1亿VIP精品文档

相关文档