序言
在开始讲变量和常量之前哈,我们从一个个真实的生活场景中找找有没类似的场景,可以用来表达变量和常量,想象一下,我们的数字钱包,钱包里面的钱,会随着收入和支出不断的变化,这就如同编程世界中的变量,它可以存储不同的值,随时根据情况进行调整。而我们常说的一些固定的值,比如圆周率,3.14,又比如一天有24个小时,这都是不可改变的事实,它就类似于编程中的常量 ,始终坚定不移,不可更改。记住一句话,变量如生活中的可变因素,充满了灵活性和动态性;而常量则如同那些不可更改的准则,为程序的运行奠定了坚实的基础
在 C++中,变量和常量是两个重要的概念。
一、变量
- 定义:变量是存储数据的内存位置的名称。它的值可以在程序运行过程中被改变。
- 变量是干嘛的呢,就是给他起个名字
- 在需要的时候给他赋值,也就是说往这个内存中写数据
- 写什么数据呢,那比如说
int a = 10;
,这就是定义了一个整型变量a,并初始化赋值为10,咱在这里直接进行了初始化,所以内存地址是分配好了,那么 a 就是这个内存地址的位置了,然后 10 是往这个内存位置写入的数据,咱们前面学过哈,int 数据类型是占4个字节,共32位,且计算机存储的信息是二进制,所以这里就需要将10转换成二进制写到内存中,所以这个地方的数据就是:0000 0000 0000 0000 0000 0000 0000 1010
- 声明和定义:
- 声明变量告诉编译器变量的类型和名称,但不分配内存空间。例如: int a; 这只是声明了一个名为 a 的整数变量。
- 定义变量则既声明了变量,又为其分配了内存空间。例如: int a = 5; 这里不仅声明了变量 a ,还为其初始化为值 5 。
- 初始化:
- 可以在定义变量时进行初始化。
- 也可以在稍后的代码中进行赋值初始化,例如: a = 10; 。
#include<iostream>
using namespace std;
int main()
{
// 先声明再赋值
int a;
a = 10
// 定义变量时直接进行初始化
int b = 20;
// 输入 a 和 b
cout << a << b << endl;
return 0;
}
- 作用域:
- 变量的作用域决定了它在程序中的可见范围。
- 局部变量在声明它的代码块内可见,例如在函数内部声明的变量。
- 全局变量在整个程序中可见,但要注意避免命名冲突。
二、常量
- 定义:常量是在程序执行过程中其值不能被改变的量。
- 常量的类型:
- 字面常量:如整数常量 42 、浮点数常量 3.14 、字符常量 ‘A’ 等。
- 用 const 关键字修饰的变量:例如 const int MAX_VALUE = 100; ,这里 MAX_VALUE 是一个常量,不能被修改。
- 枚举常量:通过枚举类型定义的常量,例如 enum Colors { RED, GREEN, BLUE }; ,其中 RED 、 GREEN 、 BLUE 是枚举常量。
- 常量的作用:
- 提高程序的可读性和可维护性,因为常量的名称可以清晰地表达其含义。
- 防止意外修改值,避免程序出现错误。
#include <iostream>
using namespace std;
int main()
{
const int WEEK = 7;
const int PI = 3.14;
// 这里不能修改常量
// WEEK = 6;
cout << "WEEK = " << WEEK << ", PI = " << PI << endl;
return 0;
}