《C语言程序设计·中国水利水电版》AB第4章:函数.pptVIP

《C语言程序设计·中国水利水电版》AB第4章:函数.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 4.8 变量的存储类别 4.8.1 内部变量与外部变量(续) 2. 外部变量 在函数外部定义的变量是外部变量(也称为全局变量),它不属于任何一个函数。它的作用范围是:从外部变量的定义位置开始,到本文件的结尾。 例如: 第4章 函数 int a,b; void f1( ) { …… } int x,y; void main() { …… } x,y的有效范围 a,b的有效范围 例4.15 使用全局变量和局部变量 #include iostream.h int i=1;?????????? //全局变量,文件作用域 void main() { ?????? cout全局变量 i=iendl;? //输出1 ?????? int i=5;?????????? //函数局部变量,块作用域 ?????? {??????????? ????????????? int i; //块局部变量,块作用域 ????????????? i=7; ????????????? cout块局部变量 i=iendl;????? //输出7 ????????????? cout全局变量 i=::iendl; //输出1,::使用全局变量 ?????? } ?????? cout函数局部变量 i=iendl;? //输出5 ?????? cout全局变量 i=::iendl; //输出1,::使用全局变量 } 第4章 函数 程序运行结果:全局变量 i=1 块局部变量 i=7 全局变量 i=1 函数局部变量 i=5 全局变量 i=1 4.8 变量的存储类别 4.8.2 变量的存储类别 变量在内存中的存储方式可以分为两大类,即静态存储方式与动态存储方式。 静态存储方式是指在程序运行期间,分配固定的存储空间。全局变量和静态局部变量是静态存储方式。 动态存储方式是在程序执行过程中,根据需要动态地分配存储空间。局部变量是动态存储方式。 1. 静态变量 定义形式: static 数据类型 变量名 特点:程序运行过程中变量始终存在,每次调用函数结束的值都被保留下来。 仅初始化一次,每次调用它所在的函数时,不再重新初始化。若不指定初值,自动指定初值为0。 第4章 函数 例4.16 输出1~4的阶乘 #include iostream.h int fact( int n); void main() { int i; for(i=1; i=4; i++) cout i ! = fact(i) endl; } int fact(int n) { static int f=1; //仅在第一次调用函数时执行一次 f *= n; return f; } 第4章 函数 程序运行结果: 1!=1 2!=2 3!=6 4!=24 4.8 变量的存储类别 4.8.2 变量的存储类别(续) 2. 自动变量 定义形式: auto 数据类型 变量名 特点:定义变量时,若不指定static或auto,则默认为自动变量。自动变量是动态存储方式。 每次调用它所在的函数时,都要重新分配存储空间,并初始化。函数调用结束,存储空间就释放。 若不初始化,则初值是不确定的。 第4章 函数 例4.17 静态变量与动态变量的使用 #includeiostream.h void other(void); int i=1; // i 为全局变量,具有静态生存期。 void main(void) { static int a; // a为静态局部变量,具有全局寿命,局部可见。 int b=-10; // b, c为动态局部变量,具有局部生存期。 int c=0; cout---MAIN---\n; cout i: i a: a b: b c: cendl; c=c+8; other(); cout---MAIN---\n; cout i: i a: a b: b c: cendl; i=i+10; other(); } 第4章 函数 例4.17 静态变量与动态变量的使用(续) void other(void) { // a,b为静态局部变量,具有全局寿命,局部

文档评论(0)

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

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

1亿VIP精品文档

相关文档