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

下载本文档

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

文档简介

程序设计语言(C语言)变量的作用域和生存期变量的作用域变量的作用域和生存期变量的作用域,即是变量起作用的范围。按其作用域,一般将变量分为全局变量(外部变量)和局部变量(内部变量)一、局部变量变量的作用域和生存期定义在函数内部的变量称为局部变量(LocalVariable),它的作用域仅限于函数内部,离开该函数后就是无效的。1、局部变量使用示例变量的作用域和生存期intf1(inta){intb,c;//a,b,c仅在函数f1()内有效

returna+b+c;}voidmain(){intm,n;//m,n仅在函数main()内有效}2、注意事项变量的作用域和生存期在main函数中定义的变量也是局部变量,只能在main函数中使用;同时,main函数中也不能使用其它函数中定义的变量。main函数也是一个函数,与其它函数地位平等。形参变量、在函数体内定义的变量都是局部变量。实参给形参传值的过程也就是给局部变量赋值的过程。可以在不同的函数中使用相同的变量名,它们表示不同的数据,分配不同的内存,互不干扰,也不会发生混淆。在语句块中也可定义变量,它的作用域只限于当前语句块。在所有函数外部定义的变量称为全局变量,它的作用域默认是整个程序,也就是所有的源文件,包括.c和.h文件。二、全局变量变量的作用域和生存期1、全局变量示例变量的作用域和生存期inta,b;//全局变量voidfunc1(){

}

floatx,y;//全局变量voidfunc2(){}

voidmain(){}a、b、x、y都是在函数外部定义的全局变量。C语言代码是从前往后依次执行的,由于x、y定义在函数func1()之后,所以在func1()内无效;而a、b定义在源程序的开头,所以在func1()、func2()和main()内都有效。根据长方体的长宽高求它的体积以及三个面的面积?2、提出问题变量的作用域和生存期3、分析问题变量的作用域和生存期根据题意,我们希望借助一个函数得到三个值:体积v以及三个面的面积s1、s2、s3。但可惜的是C语言中的函数只能有一个返回值,所以我们只能将其中的一个数据,例如体积v放到返回值中,而将面积s1、s2、s3设置为全局变量。全局变量的作用域是整个程序,在函数vs()中修改s1、s2、s3的值,能够影响到包括main()在内的其它函数。4、完成问题变量的作用域和生存期#include<stdio.h>

ints1,s2,s3;//面积

intvs(inta,intb,intc){intv;//体积

v=a*b*c;s1=a*b;s2=b*c;s3=a*c;returnv;}

voidmain(){intv,length,width,height;printf("Inputlength,widthandheight:");scanf("%d%d%d",&length,&width,&height);v=vs(length,width,height);printf("v=%d,s1=%d,s2=%d,s3=%d\n",v,s1,s2,s3);}运行结果:Inputlength,widthandheight:102030↙v=6000,s1=200,s2=600,s3=3005、任务小结变量的作用域和生存期通过对以上知识的学习,我们应该注意:1)在函数(包括main函数

温馨提示

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

评论

0/150

提交评论