C语言程序设计 第8章 函数(二)

C语言程序设计 第8章 函数(二)

ID:43187644

大小:208.50 KB

页数:29页

时间:2019-10-02

C语言程序设计 第8章 函数(二)_第1页
C语言程序设计 第8章 函数(二)_第2页
C语言程序设计 第8章 函数(二)_第3页
C语言程序设计 第8章 函数(二)_第4页
C语言程序设计 第8章 函数(二)_第5页
资源描述:

《C语言程序设计 第8章 函数(二)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、函数(续)1、熟练掌握变量的作用域2、理解并掌握变量的存储类别3、理解内部函数和外部函数1、局部变量和全局变量及其作用域变量的作用域局部变量及其作用域变量的作用域:变量在程序中可以被使用的范围。根据变量的作用域可以将变量分为局部变量和全局变量。局部变量:在一个函数内部定义的变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的。问题:一个变量在程序的哪个函数中都能使用吗?floatf1(inta) {intb,c; } charf2(intx,inty) {inti,j; } main() {intm,

2、n; }………a,b,c有效x,y,i,j有效m,n有效说明:(1)主函数main中定义的变量m,n也只在主函数中有效,而不因为在主函数中定义而在整个文件或程序中有效,主函数也不能使用其他函数中定义的变量。(2)不同函数中可以使用相同名字的变量,它们代表不同的对象,在内存中占不同的单元,互不干扰。floatf1(inta) {intb,c; } main() {intb,c; }…a,b,c有效b,c有效…(3)形式参数也是局部变量.例如f1函数中的形参a只在f1函数中有效,其他函数不能调用.(4)在一个函数内部,可以在复合语句中定义变量,这

3、些变量只在本复合语句中有效.main() {inta,b; {intc; c=a+b; } }………C在此范围内有效a,b在此范围内有效voidsub(inta,intb){intc;a=a+b;b=b+a;c=b-a;printf("sub:ta=%db=%dc=%d",a,b,c);}main(){inta,b;scanf(“%d,%d”,&a,&b);sub(a,b);}局部变量分析下面程序的运行结果及变量的作用域。局部变量程序的编译单位是源程序文件,一个源文件可以包含一个或若干个函数.在函数内部定义的变量称为局部变量,而在函数

4、外部定义的变量称为外部变量,也就是全局变量.全局变量(外部变量):在函数外部定义的变量。作用域:从定义变量的位置开始到本源文件结束。如在其作用域内的函数或分程序中定义了同名局部变量,则在局部变量的作用域内,同名全局变量暂时不起作用。全局变量及其作用域intp=1,q=5; floatf1(inta) {intb,c; } Charc1,c2; charf2(intx,inty) {inti,j; } main() {intm,n; }/*p,q为外部变量*//*定义函数f1*//*c1,c2为外部变量*//*定义函数f2*//*主函数*/全

5、局变量c1,c2的作用范围全局变量p,q的作用范围说明:1.全局变量是公共的,它们的值可以供各个函数使用,如果在一个函数中,改变了它们的值,在其他函数中也可以使用这个已经改变的值.所以设全局变量的作用是增加了函数间数据联系的渠道.例:有一个一维数组,内放10个学生的成绩,写一个函数,求出平均分,最高分和最低分.floatMax=0,Min=0;floataverage(floatb[],intn){inti;floataver,sum=b[0];Max=Min=b[0];for(i=1;iMax)Max=b[i];if

6、(b[i]

7、文件中,全局变量与局部变量同名,则在局部变量的作用范围内,全局变量被“屏蔽”,即不起作用.例inta=3,b=5;/*a,b为全局变量*/max(inta,intb){intc;c=a>b?a:b;return(c);}main(){inta=8;printf(“max=%d”,max(a,b));}结果:max=8屏蔽inta=5;voidf(intx,inty){intb,c;b=a+x;c=a-y;printf("%d%d%d",a,b,c);}局部变量main(){intb=6,c=7;f(b,c);printf("%dt%dt%d

8、n",a,b,c);{inta=9,b=8;printf("%dt%dt%d",a,b,c);{c=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。