第8章 8.4变量的作用域和生存期_第1页
第8章 8.4变量的作用域和生存期_第2页
第8章 8.4变量的作用域和生存期_第3页
第8章 8.4变量的作用域和生存期_第4页
第8章 8.4变量的作用域和生存期_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LOGOLOGO第8章 函数CONTENTS 目 录提出问题 引入新课自主学习 明确考点案例分析 明确新知仿真演练 体验探索课后作业 自我提升思考C语言函数中变量的定义、存储? 使用过程中对变量有什么要求?形参变量与实参变量有什么区别?变量的作用域是指变量有效性的作用范围称变量的作用域。定义:分类:根据变量作用域的不同,变量被分为局部变量和全局变量两大类。考点一:变量的作用域1局部变量#includemain() int i=2,j=3,k; k=i+j; int k=8; k=k+i+j; i+=j+3; printf(1.k=%d,i=%dn,k,i); printf(2.k=%d,i=%

2、dn,k,i);1、局部变量int f2(int a) a=a*2; printf(f2:a=%dn,a); return (a);int f1() int a,b; a=10; b=f2(a); printf(f1:a=%d,b=%dn,a,b);main() int a,c; a=2; c=8; f1(); printf(main:a=%d,c=%dn,a,c);1、局部变量main() int a; a=10; int b; b=5; printf(a=%d,b=%dn,a,b); printf(a=%d,b=%dn,a,b);2全局变量int a;int f2() int a; a=3

3、0; printf(f2:a=%dn,a); return (a);int f1() int b; printf(Begin of f1:a=%dn,a); a=10; b=f2(); printf(End of f1:a=%d,b=%dn,a,b);main() a=2; printf(Begin of main;a=%dn,a); f1(); printf(End of main:a=%dn,a); getch();2全局变量#include int a,b; void f1( ) int t1,t2; int b=50; t1 = a * 2; t2 = b * 3; printf (t

4、1=%d,t2=%d,b=%dn,t1,t2,b); main() a=2; b=4; f1( ); printf (a=%d,b=%d, a, b); 2全局变量#include main() extern int a,b; printf (a=%d,b=%dn, a, b); f1(); getch();int a=2,b=4;f1() int t1,t2; int b=50; t1 = a * 2; t2 = b * 3; printf (t1=%d,t2=%d,b=%dn,t1,t2,b);3.全局变量的申明 指在定义点的函数如果要引用全局变量,则应该在函数中要进行全局变量的申明。格式

5、:extern 全局变量和局部变量的区别:变量的生存期则是指变量在程序执行过程中的哪一段时期内存在、拥有分配的内存存储单元,即变量在哪些函数的执行期内被分配存储单元。生存期是从时间角度分析变量特性的名词。定义:分类:从变量的作用域(即从空间)角度来分,可以分为全局变量和局部变量。从变量值存在的时间(即生存期)角度来分,可以分为静态存储方式和动态存储方式。考点二:变量的生存期考点二:变量的生存期【例1】以下程序运行后的输出结果是( )。fun(int a) int b=0;static int c=3; b+;c+; return (a+b+c);main() int i,a=5; for(i=

6、0;i3;i+) printf(%d%d,i,fun(a); printf(n);循环次数 i的值a 的值b的值c的值 fun返回值1051 4102151 5 113251 6 12三、案例分析 交流提升【例2】有以下程序执行后输出结果是( ) int a=2; int f(int n) static int a=3; int t=0; if(n%2) static int a=4; t+=a+; else static int a=5; t+=a+; return t+a+; main() int s=a, i; for( i=0; i3; i+) s+=f(i); printf(%dn,

7、 s);第一次执行f函数后,各变量的值第二次执行f函数后,各变量的值第三次执行f函数后,各变量的值i123全局变量a222f函数中的a456if语句条件成立时的a 55if语句条件不成立时的a667函数返回值8811s101829四、仿真演练,体验探索1、下面程序的运行结果是( )int d=1;fun(int p) static int d=5; d+=p; printf(“%d ”,d); return (d); main() int a=3; printf(“%dn”,fun(a+fun(d); 四、仿真演练,体验探索2、分析下面的程序,执行后结果是() fun3(int x) static int a=3; a+=x;return (a); main() int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论