什么是变量?名字、值、类型三要素一次讲清
变量由三个要素组成:类型决定能装什么(int 装整数),名字用来找到它(score),
值可以被反复读取和修改(90 可以改成 95)。定义变量的写法:类型 名字 = 初值。
三要素
字面量没有名字,用完就消失了。程序需要一个能反复使用、还能修改的值时,就要定义变量:
int score = 90;
这一行做了三件事:int 是类型,规定这个变量只能装整数;score 是名字,之后凭它访问这个值;= 90 是初始值,定义时先装入 90。
可以把变量理解为一份成绩记录:类型是科目的计分方式(整数分),名字是科目名,值是当前得分——得分可以改,科目名不变。
读取与修改
int score = 90;
cout << score << endl; // 读取:输出 90
score = 95; // 修改:把 95 赋给 score
cout << score << endl; // 再读:输出 95
用名字读值时,score 出现在 << 右边即可;改值时,= 右边的新值覆盖旧值。注意 = 是赋值不是"等于"——方向从右往左。
可视化观察
在 CppStudio 中打开本课示例,点击播放:
- 执行
int score = 90;时,变量监视区出现一行 score,值为 90——这是监视区在本系列中第一次有内容; - 执行第一条 cout,输出区出现
90; - 执行
score = 95;,监视区里 score 的值从 90 变为 95; - 执行第二条 cout,输出区出现
95。
监视区的每一次变化都与代码行一一对应——这就是"程序一步一步走"的直接证据。
常见错误
- 不赋初值就用:
int score; cout << score;输出的是一个随机垃圾值,定义时务必给初值; - 类型不匹配:
int score = 90.5;会丢掉小数部分变成 90,int 装不了小数(小数类型见第 9 课); - 把 = 当等于:
score = 95是改值不是比较,判断相等是另一个符号==。
下一课:整型 int——整数在程序里怎么存、怎么算。
▶ 运行本课示例 弹窗里直接跑,流程图同步展开;也可新窗口打开
常见问题
变量是什么?
变量是一块有名字的存储空间,由类型、名字、值三要素组成。类型决定能装什么值,名字用来访问它,值可以随时修改。
int score = 90 是什么意思?
定义一个变量:类型是 int(整数),名字是 score,初始值是 90。这叫定义并初始化,之后用 score 这个名字就能读写这个值。
变量一定要先赋值再使用吗?
是。只写 int score; 不给初值,score 里是一个不确定的随机值,直接使用是初学者高频错误。定义时顺手给个初值是好习惯。
等号是"等于"的意思吗?
不是。= 是赋值:把右边的值放进左边的变量。score = 95 读作"把 95 赋给 score",不是判断相等。判断相等用 ==,运算符章会讲。