第3章C语言的变量ppt课件

上传人:我*** 文档编号:148616131 上传时间:2020-10-21 格式:PPTX 页数:19 大小:73.93KB
返回 下载 相关 举报
第3章C语言的变量ppt课件_第1页
第1页 / 共19页
第3章C语言的变量ppt课件_第2页
第2页 / 共19页
第3章C语言的变量ppt课件_第3页
第3页 / 共19页
第3章C语言的变量ppt课件_第4页
第4页 / 共19页
第3章C语言的变量ppt课件_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《第3章C语言的变量ppt课件》由会员分享,可在线阅读,更多相关《第3章C语言的变量ppt课件(19页珍藏版)》请在金锄头文库上搜索。

1、1,第3章 C语言的变量,2,第3章 C语言的变量,3.1 变量的生存期和作用域 3.2 局部变量与全局变量 3.3 变量的存储与变量的作用域 3.4 变量使用实例 3.5 小结,3,3.1 变量的生存期和作用域,3.1.1 变量的生存期 3.1.2 变量的作用域,4,3.1.1 变量的生存期,全局生存期 指变量在程序运行一开始就被建立,而在程序运行结束后才从内存中删除。具有全程生存期的变量是全局变量和静态变量,具有全局生存期的变量存储在程序的静态数据存储区中。 动态生存期 变量在程序运行过程中,因需要使用才建立,而使用结束就被删除。具有动态生存期的变量有局部自动变量和寄存器变量,具有动态生存

2、期的变量存储在程序的动态数据区中。 【例3-1】使用for循环连续打印变量值,以说明全程生存期和动态生存期的区别。,5,3.1.2 变量的作用域,全局作用域 对于具有全局作用域的变量,可以在程序的任何位置访问它们。 局部作用域 变量在复合语句内部或者函数内部声明,无法被复合语句外或者其他函数的代码所访问。 文件作用域 变量仅在声明它的源代码文件中可见,一般用static修饰符指定变量具有文件作用域。,6,3.2 局部变量与全局变量,3.2.1 局部变量 3.2.2 全局变量 3.2.3 变量的屏蔽效果,7,3.2.1 局部变量,在C语言中,变量的作用域只在一定范围内有效称之为局部变量。在以下各

3、位置定义的变量均属于局部变量: (1)在函数体内定义的变量,变量的作用域局限于函数体内; (2)在复合语句内定义的变量,变量的作用域局限于复合语句内; (3)有参函数的形参也是局部变量,变量的作用域只在其所在的函数范围内有效。 【例3-2】该例详细说明局部变量的用法 。,8,3.2.2 全局变量,全局变量是在函数之外定义的变量(所有函数前、各个函数之间、所有函数后)。全局变量的作用域为从定义全局变量的位置起到本源程序结束为止。 【例3-3】通过改写代码【例3-2】来说明全局变量的用法。,9,3.2.3 变量的屏蔽效果,在C语言中,如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用

4、范围内,外部变量被“屏蔽”,即它不起作用,这种情况称为变量的“屏蔽”。 【例3-4】该例通过实现求两个整数之和,说明变量的屏蔽。,10,3.3 变量的存储与变量的作用域,3.3.1 变量的存储 3.3.2 自动型变量 3.3.3 静态变量 3.3.4 外部变量 3.3.5 寄存器变量 3.3.6 变量存储类型小结,11,3.3.1 变量的存储,变量的存储类型包括“静态存储”和“动态存储”。 静态存储 是指在程序运行期间分配固定的内存空间,直至整个程序结束。例如前面介绍的全局变量就是这种存储类型。 动态存储 是在程序运行期间根据需要动态的分配存储空间,使用它时才分配存储单元,使用完毕立即释放。例

5、如函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配,函数调用完毕立即释放。如果一个函数被多次调用,则反复地分配、释放形参变量的存储单元。,12,3.3.2 自动型变量,自动型变量是C语言程序中使用最广泛的一种变量,一般存储在栈区。自动型变量是用关键字“auto”来声明,定义的一般格式为: auto 数据类型 变量名 特点: (1)自动型变量只有在使用它,即定义该变量的函数被调用时才给它分配存储单元 。 (2)自动变量的作用域是局部作用域。 (3)由于自动变量的作用域和生存期都局限于定义它的个体内(函数或复合语句内), 因此不同的个体中允许使用同名的变量而不会混

6、淆。,13,3.3.3 静态变量,静态变量一般存储在静态数据区,用“static”关键字来声明,静态变量一般分为静态全局变量和静态局部变量,定义的一般格式为: static 数据类型 变量名 静态局部变量 局部变量加以static进行声明就是静态局部变量。 【例3-5】通过求1到100的和,说明静态局部变量的使用方法。 静态全局变量 全局变量加以static进行声明就是静态全局变量。,14,3.3.4 外部变量,在前面讲全局变量时已经提到,如果需要扩展外部变量的作用域,使其在程序中的各个源文件和各个函数中都可以使用此全局变量,就需要用“extern”关键字来声明全局变量。外部变量声明的一般格式

7、为: extern变量名 外部变量的使用主要分为两种情况: (1)在一个源代码文件内声明外部变量。 (2)在多个源代码文件间声明外部变量。,15,3.3.5 寄存器变量,为了提高程序的执行效率,C语言允许变量存放在CPU的寄存器中,这样CPU就不用经常花费较长时间访问内存区。这样的变量称之为寄存器变量。使用关键字“register”声明,声明格式为: register 数据类型 变量名 【例3-6】通过求20的阶乘,介绍寄存器变量。,16,3.3.6 变量存储类型小结,按照作用域分类如图所示:,17,3.3.6 变量存储类型小结,按照生存期分类,如图所示:,18,3.4 变量使用实例,【例3-7】计算17的平方值及平方和。该实例打印出1到7的平方值,最后打印出1到7的平方值的和,其中全局变量sum出现在多个函数中。,19,3.5 小结,本章介绍了在函数以及程序设计中,变量的生存期、作用域和存储类型。作用域是指变量的可见范围,分为局部作用域、全局作用域和文件作用域。生存期是指变量存在的时间,包括全局生存期和动态生存期。存储类型包括自动(auto)、静态(static)、外部(extern)和寄存器(register)4种,这4种变量都有各自的作用域和生存期。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号