第12章作用域和存储类.ppt

第12章作用域和存储类.ppt

ID:61835159

大小:142.50 KB

页数:13页

时间:2021-03-23

第12章作用域和存储类.ppt_第1页
第12章作用域和存储类.ppt_第2页
第12章作用域和存储类.ppt_第3页
第12章作用域和存储类.ppt_第4页
第12章作用域和存储类.ppt_第5页
资源描述:

《第12章作用域和存储类.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第12章C语言中用户标识符的作用局部变量、全局变量标识符的作用域:指程序中的某一部分,在这一部分中,该标识符是有定义的。变量按作用域来分,可以分为局部变量和全局变量。局部变量:在函数内部或复合语句内部定义的变量。在所定义的函数内是有效的。全局变量:在函数外部定义的变量。从定义开始到文件的末尾都是有效的。复合语句:在函数内部用花括号括起来的语句称为复合语句。例1:main(){inta=1,b=2,c=3;++a;c+=++b;{intb=4,c;c=b*3;a+=c;printf(“first:%d,%d,%d”,a,b,c);a+=c;printf(

2、“second:%d,%d,%d”,a,b,c);}printf(“third:%d,%d,%d”,a,b,c);}first:14,4,12second:26,4,12third:26,3,6例2:intp=1,q=5;floatf1(inta){intb,c;}charc1,c2;floatf2(intx,inty){inti,j;}voidmain(){intm,n;}外部变量和局部变量同名时,在局部变量的作用范围内,外部变量的作用被屏蔽。inta=3,b=5;main(){intmax(inta,intb);inta=8;printf(“%

3、d”,max(a,b));}intmax(inta,intb){intc;c=a>b?a:b;returnc;}8以下程序正确的运行结果是()。#defineMAX10inta[MAX],i;sub2(){inta[MAX],i,max;max=5;for(i=0;i

4、);sub3(a);sub2();sub3(a);}A)024681012141618B)0123401234024681012141618C)0123456789D)02468101214161801234024681012141618D变量按存储类别分C语言中,按照存储类别:自动类和静态类。自动类:在程序运行期间根据需要进行动态的分配存储空间的方式。即变量在调用结束后,即被释放内存单元。静态类:在程序运行期间内由系统分配固定的存储空间的方式。即变量在调用结束后,不释放内存单元。局部变量有自动类和静态类,全局变量只有静态类。程序中,用auto,stati

5、c,register,extern来定义存储类别。局部变量及其作用域和生存期auto变量autofloata;等价于floata;register变量registerinta;变量的值放在寄存器内。static变量staticinta;a是一个静态局部变量。所以,变量a在整个程序运行期间,占据着永久性的存储单元。变量的初值是在编译时赋予的,不是在程序执行期间赋予。另外,变量的作用域是在它所定义的函数内有效。例1.设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择的存储类别是()。(2009年3月二级C真题)A)autoB)registerC)

6、staticD)auto或register例2:程序运行的输出结果是:voidfun(){staticinta=0;a+=2;printf(“%d”,a);}main(){intcc;for(cc=1;cc<=4;cc++)fun();}2468例3.有以下程序(2009年9月二级C真题)#includeintf(intn);main(){inta=3,s;s=f(a);s=s+f(a);printf(“%d”,s);}intf(intn){staticinta=1;n+=a++;returnn;}程序运行以后的输出结果是()。A)7

7、B)8C)9D)109例4:程序运行结果:intn=1;main(){staticintx=5;inty;y=n;printf(“MAIN:x=%2dy=%2dn=%2d”,x,y,n);func();printf(“MAIN:x=%2dy=%2dn=%2d”,x,y,n);func();}func(){staticintx=4;inty=10;x=x+2;n=n+10;y=y+n;printf(“FUNC:x=%2dy=%2dn=%2d”,x,y,n);}MAIN:x=5y=1n=1FUNC:x=6y=21n=11MAIN:x=5y=1n=1

8、1FUNC:x=8y=31n=21全局变量及其作用域和生存期用ex

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

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

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