一·前言
1、上节课回顾
上一次给大家讲了C++数据类型还有C++注释,在以后的代码中,随着代码的增多,注释是必不可少的,它会提示我们代码功能,变量含义等等。所以我们要熟练掌握注释,我们也拓展了数据类型,数据类型是C++比较基础也比较核心的内容。
想要学好,最好的方式就是多想,多练习。
今天主要给大家讲的就是变量的作用域和常量,作用域可能等大家学到C++的循环语句,C++的函数部分才会有更加深刻的体会,在这里就是先让大家对这个概念有所认识。等我们把所有常用的基础讲完,我们会开始讲数据运算,各种循环语句,判断语句等等。
2、上节思考题答案
题目:要求:
1)定义一个生活用具枚举类型,并赋初值
2)利用typedef为双精度浮点型变量重命名,使用新的变量名创建变量
3)将他们输出。
4)在所有代码中加上单行注释。
5)在代码最前面用多行注释写自己的完成时间及内容
运行结果如下:
二、重点知识介绍
1、作用域
作用域,顾名思义,就是变量能作用的范围。比如古代的将领,兵马大元帅能够统领所有士兵,下面的一个先锋只能管自己手底下那几个人。官职不同,能管理的范围不同,权力能触及的领域也不同。
对于C++来说,在不同地方定义的变量,那它能够作用的范围也不同。
一般来说有三个地方可以定义变量:
(1)在函数或一个代码块内部声明的变量,称为局部变量。
(2)在函数参数的定义中声明的变量,称为形式参数。
(3)在所有函数外部声明的变量,称为全局变量。
第二个概念我们暂时不讲,等我们讲到函数的时候,再给大家说。接下来给大家详细讲解一下全局变量与局部变量。
1.全局变量:在所有函数外部定义的变量(通常是在程序的头部),称为全局变量。
全局变量有如下特点:
(1)全局变量的值在程序的整个生命周期内都是有效的。
(2)全局变量可以被任何函数访问。也就是说,全局变量一旦声明,在整个程序中都是可用的。
举个例子:
2.局部变量
在函数或一个代码块内部声明的变量,称为局部变量。它们只能被函数内部或者代码块内部的语句使用。
举个例子:
3.全局变量与局部变量的联系与区别
【1】局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。
举个例子:
【2】当局部变量被定义时,系统不会对其初始化,必须自行对其初始化。定义全局变量时,系统会自动初始化为下列值:
虽然如此,但是我们还是要正确初始化变量,不然可能会导致程序出现严重错误。
2、常量
学过数学的人对常量这个概念还是比较熟悉的,就不过多介绍啦,在C++中,常量是指:在程序执行期间值不会发生改变的量。
C++自带一些常量,我们也可以人为定义一些常量,首先先给大家说一下C++中自带的常量,即我们无需再次声明或定义即可直接使用的量。
1.布尔常量
C++的布尔常量一共两个,并且这两个都是标准的C++关键字。
true 值代表真。
false 值代表假。
我想大家对这两个并不陌生,在二进制中,由于0表示假,1表示真,所以C++中,当我们在判断真假时,可以直接赋值为0或1来简化代码。虽然在一些情况下并不是很规范。
2.字符常量
字符常量一般是指转义字符。在刚开始教大家换行操作时,想必大家还能想起来 “ \n ” 表示的是换行,“ \n ” 就是一个转义字符。常用转义字符如下表:
上面两个都是C++自带的常量,因为功能的不同,程序需要的常量也不同,所以系统不可能包含所有的常量,接下来的是我们自己定义一些常量。
3.自定义常量
自定义可以定义很多种类型的常量,比如整型的,浮点型的,字符串型的,都可以。首先我们要说的是两种自定义常量的方法:
(1)使用 #define 预处理器。
这种方法常常用于C语言的数据结构。定义一些数据结构中常用的常量,比如顺序表中的表长、溢出、正确、错误等等。当然用处不止这些。话不多说,用事实说话。
仔细看你会发现,预处理器定义常量时有如下特点:
a.常量名每个字母都大写(当然不是必须这样写,只不过这样写更规范)
b.定义完常量后,后面不加 “ ;” 来表示语句的结束。
(2)使用 const 关键字
使用 const 关键字声明常量格式如下:
const 类型 常量名 = 常量值 ;
举几个例子:
三、例题
要求:
1.利用 #define 预处理器定义5个整型的全局常量:IA、IB、IC、ID、IE。
2.利用使用 const 关键字,定义5个字符型的局部常量:CA、CB、CC、CD、CE。
3.将他们输出。
4.在代码中加上单行或多行注释。
5.在代码最前面用多行注释写自己的完成时间及内容。
<1>代码
<2>运行结果
四、思考题
要求:
1.利用 #define 预处理器定义3个整型的全局常量,2个单精度浮点型的全局变量。自由命名。
2.利用使用 const 关键字,定义3个字符型的局部常量,两个双精度浮点型的局部变量。自由命名。
3.将他们输出。
4.在代码中加上单行或多行注释。
5.在代码最前面用多行注释写自己的完成时间及内容。
思考题的答案会在下一次的【C++从入门到熟练练习题】中公布哦,希望大家能够多多练习。
编辑人:李子威
审核人:水亦心