C++ 变量
1. 变量的定义
变量是程序中用于存储数据的存储位置。定义变量的基本格式如下:
数据类型 变量名;
int age;
float salary;
char grade;
2. 变量的类型
基本数据类型:
int
:整数类型char
:字符类型float
:单精度浮点数double
:双精度浮点数bool
:布尔类型(true或false)
修饰符:
signed
和unsigned
:用于指定整型变量的符号short
和long
:用于指定整型变量的长度
构造数据类型:
array
:数组string
:字符串struct
:结构体union
:联合体enum
:枚举
3. 变量的初始化
变量可以在定义时进行初始化,也可以在定义后进行赋值。
int age = 25; // 初始化
float salary;
salary = 5000.50; // 赋值
4. 变量的作用域
变量的作用域是指变量在程序中可见和可访问的区域。C++中有几种作用域:
- 全局作用域:在所有函数外部定义的变量,可以在整个程序中访问。
- 局部作用域:在函数内部定义的变量,只能在函数内部访问。
5. 变量的生命周期
变量的生命周期是指变量存在的时间,从创建到销毁。
- 全局变量:程序开始执行时创建,程序结束时销毁。
- 局部变量:进入作用域时创建,离开作用域时销毁。
6. 变量的存储类
C++提供了几种存储类来定义变量在内存中的存储方式:
auto
:自动存储类(默认)static
:静态存储类extern
:外部存储类register
:寄存器存储类(已废弃)
7. 变量的命名规则
- 变量名必须以字母或下划线开头,不能以数字开头。
- 变量名不能包含空格和特殊字符(除了下划线)。
- 变量名是大小写敏感的。
- 变量名不能是C++的关键字。
8. 示例
以下是一个简单的C++程序,演示了变量的使用:
#include <iostream>
int main() {
int number = 10; // 定义并初始化一个整型变量
std::cout << "The number is: " << number << std::endl;
return 0;
}
在这个例子中,我们定义了一个名为number
的整型变量,并将其初始化为10。然后,我们使用std::cout
输出变量的值。
C++ 常量
在C++中,常量是程序中其值不能被改变的量。使用常量可以增加代码的可读性和可维护性,同时还可以避免意外修改重要数据。以下是C++中常量的几种类型及其详细讲解:
1. 字面常量(Literal Constants)
字面常量是直接出现在源代码中的值,如数字、字符或字符串。
- 整型字面常量:
5
,0
,-10
- 浮点型字面常量:
3.14
,2.718f
- 字符字面常量:
'a'
,'\n'
- 字符串字面常量:
"Hello, World!"
2. const关键字定义的常量
使用const
关键字可以定义一个常量,其值在初始化后不能被修改。
const int MAX_VALUE = 100;
这里的MAX_VALUE
是一个常量,它在程序中的任何地方都不能被赋予不同的值。
3. #define预处理指令定义的常量
在C++中,可以使用预处理指令#define
来定义一个常量。
#define PI 3.14159
#define
定义的常量在编译前会被文本替换,因此没有类型,也不占用存储空间。
4. const 和 #define 的区别
const
:const定义的常量遵循C++的作用域规则。它可以被定义为局部常量,也可以被定义为类成员或全局常量。
#define
:#define定义的宏在默认情况下是全局的,不受作用域限制。宏的替换是在预处理阶段进行的,因此它不会受到作用域的影响。
5. 枚举常量(Enumerated Constants)
枚举是一种用户定义的数据类型,它由一组命名的整数常量组成。
enum Weekday {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY};
在这里,MONDAY
、TUESDAY
等都是枚举常量,它们的值默认从0开始递增。
6. 特点与使用注意事项:
- 不可修改性:一旦常量被定义并初始化,其值就不能被改变。
- 命名规则:通常,常量名使用大写字母和下划线来命名,如
MAX_SIZE
。 - 类型安全:与
#define
相比,const
关键字提供了类型安全性,因为const
定义的常量有明确的类型。 - 作用域:
const
定义的常量的作用域遵循常规的作用域规则,而#define
定义的常量默认是全局的,不受作用域限制。 - 初始化:
const
定义的常量必须在声明时或类构造时初始化。
示例:
#include <iostream>
const double PI = 3.14159;
#define RADIUS 5
int main() {
const int SIDES = 4;
double area = PI * RADIUS * RADIUS;
std::cout << "Area of the circle: " << area << std::endl;
return 0;
}
在上述代码中,PI
和RADIUS
都是常量,其中PI
是通过const
关键字定义的,而RADIUS
是通过#define
定义的。SIDES
是一个局部常量,表示一个正方形的边数。
以上就是关于C++变量与常量的详细讲解。希望对您有所帮助!