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

C语言第6章-函数.pptVIP

  1. 1、本文档共52页,可阅读全部内容。
  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文档。上传文档
查看更多
C语言第6章-函数

* 中科大信息学院 * 局部变量和全局变量 局部变量-函数(复合语句)内定义的变量。 其作用域是所定义的函数(复合语句)范围。 全局变量(外部变量)-所有函数外定义的变量。 其作用域为所定义的整个程序范围。 外部变量的优点:增加函数间数据的联系。 外部变量的缺点:使函数通用性降低,在整个程序运行中占用存储单元,程序员要清楚每个瞬间外部变量的值。 【例6.10】图6-2所示各变量生存期 int global_a; //外部变量 int main() { auto int main_i; //局部动态变量 } int local_1() { auto char local_1_c; //局部动态变量 } int local_2() { auto char local_2_c; //局部动态变量 } * 中科大信息学院 * * 中科大信息学院 * 1、auto变量 在函数(复合语句)内,没有声明为static类型的变量,其存储类型为auto,且auto可省。 作用域:变量所定义的函数(复合语句)范围。 生存期:随函数被调用(复合语句被执行)而存在,函数返回(复合语句结束)而消失。 2、用static声明局部变量(局部静态) 局部变量引入静态,使变量分配在静态存储区,在程序运行过程中不释放单元。编译时,系统对静态局部变量初始化,若变量定义处无明显赋值,则自动置0。 作用域:变量所定义的函数(复合语句)范围。 生存期:整个程序。 【例6.11】 int main() { int i; //局部动态变量 for(i=0;i5;++i) auto_static(); } void auto_static() { int var_auto=0; //局部动态变量 static int var_static=0; //局部静态变量 printf( ,++var_auto); printf( ,++var_static); } * 中科大信息学院 * * 中科大信息学院 * 【例6.11‘】 f(int a) { int b=0; static int c=3; //只初始化一次 b=b+1; c=c+1; return(a+b+c); } main() { int a=2,i; for(i=0;i3;i++) printf( %d ,f(a)); } 运行结果: 8 9 * 中科大信息学院 * 【例】 求一维数组元素的平均值、最大最小值 float max=0,min=0; float average(float array[ ],int n) { … max=min=array[0]; for(i=1;in;i++) { if(array[i]max) max=array[i]; if(array[i]min) min=array[i]; sum=sum+array[i]; } aver=sum/n; return(aver); } int main() { ave=average(score,10); printf(max..6.2f\n,max,min,ave); } * 中科大信息学院 * 3、register变量 将程序中频繁使用的变量存放在寄存器中,以提高程序运行 速度。注意: (1)只有局部变量和函数形参可作寄存器变量。 (2)只有int、char和指针变量可作寄存器变量。 (3)局部静态变量不能定义为寄存器变量。 作用域和生存期:同局部变量。 4、用extern声明外部变量 外部变量作用域和生存期:整个程序。 Extern出现在要引用外部变量的地方,一般先声明后引用 省extern声明的范围:外部变量定义处到该源文件结束处。 * 中科大信息学院 * 【例】 外部变量引用声明例 main() { extern int A,B,C; printf(%d,max()); } int A,B,C; int max() { int m; m=AB?A:B; return(mC?m:C); } int max() { extern int A,B; return(AB?A:B); } main() { … printf(%d,max()); } int A=13,B= -8; * 中科大信息学院 * 【例】 一个程序由多个源文件组成 int a; main() { int power(int); //函数声明 int b=3,c,d,m; printf(“…:\n); scanf(%d,%d,a,m); c=a*b; printf(%d*%d=%d\n,a,b,c); d=power(m); print

文档评论(0)

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

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

1亿VIP精品文档

相关文档