变量的分类
局部变量
含义:局部变量只能在{}内部使用
全局变量
含义:全局变量就是整个工程都能用的
变量的作用域和生命周期
作用域
- 局部变量的作用域是变量所在的局部范围。(就是大括号里边的变量只能在大括号里用)
- 全局变量的作用域是整个工程。(就是大括号外边的变量在哪都能用)
生命周期
- 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束
- 全局变量的生命周期是:整个程序的生命周期。
-
变量初始化
类 c 初始化
- int x = 0;
-
构造函数初始化
- int x (0);
-
统一初始化
- int x {0};
- 实例代码
-
初始化变量的所有三种方法在 C++ 中都是有效且等效的
常量
1.字面常量
是指可以用字符串表示的常量,包括整型常量,字符型常量,字符串常量,也可以是结构型的符号常量。
单字符和字符串文本都需要用引号括起来,以便将它们与可能的变量标识符或保留关键字区分开来。请注意这两个表达式之间的区别:
此处,单独引用标识符,例如变量或复合类型的名称,而(用单引号括起来)引用字符文字(表示小写 x 字母的字符)。
字符和字符串文字还可以表示在程序源代码中难以或不可能表达的特殊字符,例如换行符 () 或制表符 ()。这些特殊字符前面都带有反斜杠字符 ()。
单字符转义码列表
转义码 | 描述 |
---|---|
\n | 换行符 |
\r | 回车 |
\t | 标签 |
\v | 垂直标签 |
\b | 退格键 |
\f | 表单提要(页面提要) |
\a | 警报(哔声) |
\' | 单引号 (' ) |
\" | 双引号 (" ) |
\? | 问号 (? ) |
\\ | 反斜杠 (\ ) |
类型化常量表达式
const double pi = 3.1415926;
const char tab = '\t';
示例代码
const修饰的常变量
- 未被修饰的变量的值是可以被改变的
- const修饰过的局部变量只是有了「静态特性,用const修饰的变量只是在语法上将它作为常量,但它本质还是变量
.#define定义的标识符常量
- 格式:#define 常量名 值,在这里常量名和值之间不需要等号
- 在此指令之后,代码中出现的任何 都将被解释为 ,其中 replacement 是任何字符序列(直到行尾)。这种替换由预处理器执行,并在程序编译之前发生,从而导致一种盲替换:所涉及的类型或语法的有效性不会以任何方式检查。
枚举常量
- 例子:#define MON 1#define TUE 2#define WED 3#define THU 4#define FRI 5#define SAT 6#define SUN 7
• enum DAY{ MON = 0, TUE, WED, THU, FRI, SAT, SUN