《photoshop图形图像处理4.2 变量的作用域电子教案 中职c语言程序设计基础.ppt》由会员分享,可在线阅读,更多相关《photoshop图形图像处理4.2 变量的作用域电子教案 中职c语言程序设计基础.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、photoshop 图形图像处理4.2 变量的作用域电子教案 中职 高教版 c 语言程序设计基础了解局部变量的概念和作用范围掌握局部变量和全局变量的使用规则在程序中合理地使用变量能力目标:任务一 考察局部变量1什么叫局部变量,局部变量在程序中的哪些范围起作用?上机运行下面的程序,找出答案。任务一 考察局部变量#include stdio.hmain()float a,b,m;float sum(float,float);a=7.0;b=9.0;m=sum(a,b);接下页printf(a=%.2f,b=%.2fn,a,b);printf(m=%fn,m);float sum(float x,f
2、loat y);float s;x+=4;y-=2;s=x+y;printf(x=%.2f,y=%.2fn,x,y);return(s);任务一 考察局部变量u在函数中定义的变量都称为局部变量,其有效范围是在定义它的范围内。也就是说,局部变量只能在定义它的函数内才能使用,离开此函数就不能使用了。局部变量的作用域:知识盘点:2局部变量在使用中应注意什么问题呢?请观察下面的例子。上机运行,总结出应注意的问题。程序1#include stdio.hmain()int a=6,b=22,c;mul(a);c=a+b;printf(main():a=%d,b=%d.c=%dn,a,b,c);mul(in
3、t a)int b=15,c;c=b-a;a-;printf(mul():a=%d,b=%d,c=%dna,b,c);程序2#include stdio.hmain()int a=6,b=22;int a=7,b=12;printf(1:a=%d,b=%d,a,b);printf(2:a=%d,b=%d,a,b);u主函数main()中定义的变量也只能在主函数中生效,不能被其他函数引用。同时,主函数也不能使用其他函数定义的变量。u不同函数中可以使用相同的变量名,互不干扰,因为它们占用不同的内存单元。u实参和形参也可以同名。在一个函数的内部,可以在复合语句中定义变量,这些变量只在本复合语句内生效
4、,也属于局部变量。局部变量使用应注意的问题:知识盘点:任务二 考察全局变量1什么叫全局变量,全局变量在程序中的哪些范围起作用?现在我们上机运行下面的程序,找出答案。#include stdio.hint b=11;/*外部变量的定义*/main()int a=6,c;f(a);c=a+b;printf(a=%d,b=%d,c=%dna,b,c);f(int a)int y;y=(a+)*(-b);printf(a=%d,b=%d,y=%dn,a,b,y);任务二 考察全局变量全局变量的作用域:知识盘点:在函数外部定义的变量称为全局变量,其作用范围是从定义变量的位置开始到本源程序结束。全局变量可
5、以被程序中的各函数使用,上例中的全局变量b、主函数和f()都可以使用,并且相互影响。2全局变量在使用中要注意什么问题呢?请观察下面的例子,通过上机运行该程序,得出结论。#include stdio.hint b=11;main()int a=6,b=3,c;f(a);c=a+b;printf(a=%d,b=%d,c=%dn,a,b,c);f(int a)int y;b-=3;y=(-a)+b;printf(a=%d,b=%d,y=%dna,b,y);全局变量和局部变量可以同名,但在局部变量作用的范围内,全局变量不起作用。全局变量使用应注意的问题:知识盘点:任务三 制定变量的使用策略 一般来讲,
6、局部变量在函数中定义,与以前学习的变量没多大的区别,每个程序都是要使用的。我们主要解决的是什么时候使用全局变量,怎么样来使用全局变量。1任意输入10个学生的成绩,求平均分、最高分和最低分。要求在主函数中输入学生的成绩,在zz()函数中求平均分、最高分和最低分,并返回主函数输出所有的值。请观察写好的程序,总结出变量使用的策略。任务三 制定变量的使用策略#include stdio.hfloat max,min;/*定义全局变量*/main()float cj10,av;接下页int k;float zz();printf(请输入10个学生的成绩n);for(k=0;k 10;k+)scanf(%
7、f,&cjk);av=zz(cj);/*以数组名作为函数参数调用函数zz(),并带回返回值*/printf(平均分为%fn,av);printf(最高分为:%f最低分为:%fn,max.,min);函数zz见下页任务三 制定变量的使用策略float zz(float sc)float sum,av;int k;sum=0.0;max=min=sc0;for(k=0;k 10;k+)sum+=sck;if(maxsck)min=sck;av=sum/10;renturn(av);/*返回平均值*/u可以使用全局变量来实现函数间的数据传递。当要求从被调函数返回多个值时,就可以利用全局变量来解决这个问题。u对于全局变量的使用要注意:不要不加限制地使用全局变量,因为全局变量在整个程序的执行过程中都要占用内存单元,要等到程序全部结束后才释放。如果使用全局变量数目较大,则占用的空间也较大。u由于全局变量的作用范围是整个程序,如果大量使用全局变量,那么在程序中,各函数对变量的依赖就更大,降低了函数的独立性。u在使用全局变量时,要注意函数中各局部变量的名称,如果同名,则全局变量将不起作用,影响程序的结果。如何制定变量使用的策略:知识盘点: