3. 变量与数据类型——计算机的“小仓库”和“收纳规则”
3.1 为什么需要变量?
在编程里,变量如同计算机中的一个个小盒子,能用来存放各类数据,方便后续使用。例如玩游戏时,得分、生命值等信息就可存于变量;计算全班同学平均分,每个同学的成绩也能用变量存储。
3.2 变量的定义与命名规则
定义变量:在 C++ 中,定义变量就像是给小盒子贴上标签,告知计算机该盒子用来存放何种类型的数据。基本格式为:数据类型 变量名;
int age; // 定义一个整数类型的变量,名字叫 age,用来存放年龄 double height; // 定义一个双精度浮点型变量,名字叫 height,用来存放身高 char grade; // 定义一个字符类型的变量,名字叫 grade,用来存放等级 bool isStudent; // 定义一个布尔类型的变量,名字叫 isStudent,用来表示是否是学生
命名规则:
- 变量名只能由字母(大小写均可)、数字和下划线组成。
- 变量名不能以数字开头。
- 变量名不能是 C++ 的关键字(如 int、if、else 等)。
- 变量名最好具有一定含义,便于自己和他人理解代码,比如用
score
表示分数,用name
表示姓名。
// 正确的命名 int studentScore; // 错误的命名,以数字开头 // int 123score; // 错误的命名,使用了关键字 // int if;
3.3 常见的数据类型
整数类型(int):用于存储整数,像年龄、人数、考试分数等。
int num = 10; // 定义一个整数变量 num,并初始化为 10
浮点类型:用于存储小数,分为单精度浮点型(float)和双精度浮点型(double),双精度浮点型能表示更精确的小数。
float price = 9.99f; // 定义一个单精度浮点型变量 price,初始化为 9.99,注意后面要加 f double weight = 55.6; // 定义一个双精度浮点型变量 weight,初始化为 55.6
字符类型(char):用于存储单个字符,用单引号括起来。
char gender = 'M'; // 定义一个字符变量 gender,初始化为 'M',表示男性
布尔类型(bool):只有两个值,true
(真)和 false
(假),常用于逻辑判断。
bool isFinished = false; // 定义一个布尔变量 isFinished,初始化为 false,表示任务未完成
3.4 变量的初始化和赋值
初始化:在定义变量的同时给它赋一个初始值,就像给小盒子贴标签时顺便放入东西。
int number = 20; // 定义整数变量 number 并初始化为 20
赋值:在变量已定义好之后,再给它赋予一个新的值。
int count; // 先定义一个整数变量 count count = 5; // 给 count 赋值为 5
3.5 变量的使用示例
下面通过一个简单程序展示变量的使用,该程序可计算并输出两个数的和:
#include <iostream> using namespace std; int main() { int num1, num2, sum; // 定义三个整数变量 // 给 num1 和 num2 赋值 num1 = 15; num2 = 25; // 计算两个数的和 sum = num1 + num2; // 输出结果 cout << "两个数的和是: " << sum << endl; return 0; }
在这个程序中,先定义三个整数变量 num1
、num2
和 sum
,接着给 num1
和 num2
赋值,再计算它们的和并存储在 sum
中,最后输出结果。
3.6 类型转换
有时需要将一种数据类型的值转换为另一种数据类型,在 C++ 中有两种类型转换方式:
自动类型转换:把小范围的数据类型赋值给大范围的数据类型时,会自动进行转换。
int a = 10; double b = a; // 自动将整数 a 转换为双精度浮点数赋值给 b
强制类型转换:需要把大范围的数据类型转换为小范围的数据类型,或进行特殊转换时,需使用强制类型转换,格式为:(目标数据类型)变量名。
double x = 3.14; int y = (int)x; // 强制将双精度浮点数 x 转换为整数赋值给 y,此时 y 的值为 3
3.7 课后小练习
- 定义三个变量,分别存储你的姓名(用字符数组或者
string
类型)、年龄和身高,然后输出这些信息。 - 编写一个程序,输入两个整数,交换它们的值并输出。
通过这部分的学习,你已了解变量和数据类型的基本知识,它们是编程的基础,如同盖房子的砖块,后续会用它们构建更复杂的程序。