📖 学习信息
学习课程:黑马C++零基础教程
本日学习:C++ 变量(定义、赋值、使用)、常量(宏常量、const常量)、核心区别与使用场景
学习目标:掌握变量和常量的基础写法,理解二者的核心差异,能根据场景正确选择使用,规避基础错误
一、先搞懂:什么是变量?
变量是可以变化的量,本质是计算机内存中的一块存储空间,用于存储程序运行过程中需要修改、使用的数据(比如数字、字符等)。
通俗理解:变量就像一个“储物盒”,我们给它起个名字(变量名)、规定它能装什么类型的东西(数据类型),里面的东西(值)可以随时更换。
1. 变量的基础语法(必掌握)
✅ 定义格式:数据类型 变量名 = 初始值;(初始值可省略,建议养成初始化的习惯)
✅ 核心要素:数据类型(规定变量存储的数据种类)、变量名(给存储空间起的名字)、初始值(可选,首次赋予的值)
2. 常用数据类型(基础阶段必记)
入门阶段重点掌握4种基础数据类型,后续课程会逐步扩展:
int:整型,用于存储整数(正数、负数、0),比如 10、-5、0float:单精度浮点型,用于存储小数(精度较低),比如 3.14、1.5double:双精度浮点型,用于存储小数(精度更高,更常用),比如 3.1415926char:字符型,用于存储单个字符,需用单引号包裹,比如 'A'、'0'、'+'
3. 变量使用示例(实操为主)
#include <iostream>
using namespace std;
int main()
{
// 1. 定义变量并初始化(推荐写法)
int age = 20; // 整型变量:存储年龄
double score = 95.5; // 双精度浮点型:存储分数
char gender = '男'; // 字符型:存储性别
// 2. 输出变量的值
cout << "年龄:" << age << endl;
cout << "分数:" << score << endl;
cout << "性别:" << gender << endl;
// 3. 修改变量的值(变量的核心特性:可修改)
age = 21;
score = 98.0;
cout << "修改后年龄:" << age << endl;
cout << "修改后分数:" << score << endl;
return 0;
}
4. 变量命名规范(避坑关键)
变量名不能随便起,必须遵循以下规则,否则编译器会报错:
- 只能由字母(a-z、A-Z)、数字(0-9)、下划线(_)组成,不能包含空格、特殊符号(比如 @、#、$)
- 不能以数字开头,比如
123age是错误的,age123是正确的 - 不能使用C++关键字(比如 int、cout、using 等),比如
int int = 10;是错误的 - 区分大小写,比如
age和Age是两个不同的变量 - 建议:命名要见名知意(比如用 age 表示年龄,不用 a、b、c 等无意义字母),方便后续阅读和复盘
二、再理解:什么是常量?
常量是不可变化的量,本质也是内存中的一块存储空间,但一旦赋值,程序运行过程中就不能再修改,多用于存储固定不变的数据(比如圆周率、性别、固定的阈值等)。
通俗理解:常量就像一个“密封的储物盒”,里面的东西(值)一旦放进去,就不能再更换,只能查看。
1. C++ 两种常量写法(必掌握)
入门阶段重点掌握两种常量,其中 const常量更常用、更安全,优先学习。
(1)宏常量(C语言兼容写法)
✅ 语法:#define 常量名 常量值(注意:末尾没有分号)
✅ 特点:定义在程序开头,作用域是整个程序,没有数据类型限制
✅ 示例:
#include <iostream>
// 定义宏常量:圆周率(固定值,不可修改)
#define PI 3.1415926
using namespace std;
int main()
{
cout << "圆周率:" << PI << endl;
// PI = 3.14; // 错误!宏常量不能修改
return 0;
}
(2)const 常量(C++推荐写法)
✅ 语法:const 数据类型 常量名 = 常量值;(末尾必须有分号)
✅ 特点:有明确的数据类型,作用域更灵活,安全性更高,能避免很多错误
✅ 示例:
#include <iostream>
using namespace std;
int main()
{
// 定义const常量:性别(固定值,不可修改)
const char GENDER = '女';
// 定义const常量:班级人数
const int CLASS_SIZE = 50;
cout << "性别:" << GENDER << endl;
cout << "班级人数:" << CLASS_SIZE << endl;
// GENDER = '男'; // 错误!const常量不能修改
// CLASS_SIZE = 55; // 错误!const常量不能修改
return 0;
}
三、变量与常量 核心区别(必记)
| 对比项 | 变量 | 常量 |
|---|---|---|
| 值是否可修改 | 可以随时修改 | 一旦赋值,不可修改 |
| 定义方式 | 数据类型 变量名 = 初始值; | #define 常量名 常量值 / const 数据类型 常量名 = 常量值; |
| 数据类型 | 必须指定数据类型 | 宏常量无类型,const常量有类型 |
| 安全性 | 较低(可能误修改) | 较高(不可修改,避免误操作) |
四、常见错误与避坑点
- ❌ 错误1:变量未定义就使用 比如:
cout << num << endl;(num 未定义,编译器报错),需先写int num = 0; - ❌ 错误2:变量命名不规范 比如:
int 1num = 10;(以数字开头)、int num@ = 20;(包含特殊符号),均会报错 - ❌ 错误3:修改常量的值 无论是宏常量还是const常量,一旦赋值,修改就会报错,牢记“常量不可改”
- ❌ 错误4:变量未初始化 比如:
int num;(未赋值),虽然编译器可能不报错,但变量值是随机的,容易导致程序异常,建议养成初始化习惯
五、今日学习总结
- 变量:可变化的量,语法
数据类型 变量名 = 初始值;,需遵循命名规范,可随时修改值; - 常量:不可变化的量,两种写法(宏常量、const常量),const常量更推荐、更安全;
- 核心区别:变量的值可修改,常量的值不可修改,根据场景选择使用(固定值用常量,变化值用变量);
- 基础数据类型:掌握 int、float、double、char 的用法,后续逐步扩展。
✍️ 下节预告
下一篇将学习完整的各种数据类型,继续跟着黑马教程稳步推进,夯实零基础基础,为后续写复杂代码打牢根基。