一、为什么需要数据类型?¶
想象一下,如果我们要记录“小明”的年龄、身高和性别,直接写“小明20岁1.75米男”肯定不行,因为计算机需要明确知道“20”是年龄(整数)、“1.75”是身高(小数)、“男”是字符(单字母)。数据类型就像给数据贴了“标签”,告诉计算机:“这是一个整数,那是一个小数,这个是字符”,让计算机知道该如何存储和处理这些数据。
二、什么是变量?¶
变量可以理解为一个“容器”,用来存储数据。它有两个核心要素:
- 名字:比如 age、height(需符合C++命名规则,不能用数字开头,不能是关键字);
- 数据类型:决定了变量能存什么类型的数据(如整数、小数等),以及占用多少内存空间。
举个例子:
int age; // 声明一个int类型的变量age(未赋值,值不确定)
age = 20; // 给age赋值20(此时age是整数20)
三、C++常见数据类型¶
C++提供了多种基本数据类型,按功能可分为以下几类:
1. 整数类型(int系列)¶
用于存储没有小数部分的整数,常见类型及特点:
- int:最常用的整数类型,通常占4字节(范围约 -21亿 ~ 21亿)。
int score = 95; // 存储整数95
int negative = -30; // 负数也可以
short:短整型,占2字节(范围更小,适合小整数)。long:长整型,占4或8字节(范围更大,适合较大整数,可加L后缀)。
long big_num = 1000000000L; // 加L表示长整型字面量
long long:超长整型,占8字节(范围最大,适合极大整数)。
long long max_num = 9223372036854775807LL; // 最大整数
2. 浮点数类型(小数类型)¶
用于存储带小数点的数字,精度和范围不同:
- float:单精度浮点数,占4字节,精度有限(约6-7位小数)。
float pi = 3.14f; // 加f后缀表示float字面量
double:双精度浮点数,占8字节,精度更高(约15-17位小数),数值范围更大。
double e = 2.718281828459045; // 双精度,更精确
3. 字符类型(char)¶
用于存储单个字符(如字母、数字、符号),占1字节,本质是ASCII码。
char grade = 'A'; // 存储字符'A'(ASCII码65)
char symbol = '!'; // 存储符号'!'
int ascii = grade; // 字符'A'的ASCII码是65,可存到int中
4. 布尔类型(bool)¶
只有两个值:true(真)和false(假),用于条件判断结果。
bool is_student = true;
bool has_pass = false;
四、变量的声明与初始化¶
声明变量时需指定类型,定义时可直接赋值(初始化),未初始化的变量值是“随机的”,需避免!
正确写法:
// 定义并初始化变量
int age = 18; // 声明时赋值(推荐)
double height = 1.75;
char gender = 'M';
bool is_student = true;
// 先声明,后赋值(需注意:未赋值前的值是随机的)
int score;
score = 90; // 赋值后才能用
五、变量命名规则¶
- 只能用字母、数字、下划线,且不能以数字开头(如
age123合法,123age非法)。 - 不能用C++关键字(如
int、if、for等,这些是C++自带的语法词)。 - 区分大小写:
age和Age是两个不同的变量。 - 变量名要有意义:
a、b太模糊,student_age、user_height更清晰。
六、完整示例:变量与数据类型的使用¶
#include <iostream> // 包含输入输出头文件
using namespace std; // 避免重复写std::
int main() {
// 定义不同类型的变量
int age = 20;
double height = 1.75;
char gender = 'M';
bool is_student = true;
// 输出变量值
cout << "年龄:" << age << endl;
cout << "身高:" << height << "米" << endl;
cout << "性别:" << gender << endl;
cout << "是否学生:" << (is_student ? "是" : "否") << endl;
return 0;
}
运行结果:
年龄:20
身高:1.75米
性别:M
是否学生:是
七、总结¶
变量和数据类型是C++的基石:
- 数据类型告诉计算机数据的“类别”(整数/小数/字符)和处理方式;
- 变量是存储数据的“容器”,需指定类型和名字;
- 选择合适的数据类型:小整数用int,小数用double,字符用char,布尔值用bool。
多动手定义不同类型的变量,尝试输出它们的值,就能快速掌握!遇到问题时,想想“这个数据该用什么类型存?变量名是否合法?”,慢慢就能熟练使用了。