CppStudio logo CppStudio
首页 / 教程 / 第15课

C++ 程序可视化教程 · 第15课 · 第二章 变量

章末演练:程序是怎么想的——变量的诞生与消失

本课用一个"总分与平均分"程序复盘整章:{} 初始化、int 求和、除以 3.0 保住小数、 bool 装判断结果。在 CppStudio 里完整播放一遍,看变量逐个诞生、变化、 在程序结束时一起消失。

演练程序

int chinese{88};
int math{95};
int english{91};
int total{chinese + math + english};
double average{total / 3.0};
bool passed{average >= 60};

一个程序串起整章知识点:{} 初始化(第 13 课);total 用 int 装整数和(第 8 课);average 除以 3.0 而不是 3——total 是 int,除以 int 会丢掉小数(整数除法,第 8 课的坑在这里回收);passed 用 bool 装比较结果(第 10 课)。

程序是怎么想的

本章的固定栏目,用运行模型复盘:

  1. 诞生:变量在定义语句执行时诞生,一个个出现在监视区——先三门成绩,再 total,再 average,最后 passed;
  2. 读取与计算total / 3.0 执行时,从 total 读出 274,与 3.0 做小数除法得到 91.333…,存入 average;
  3. 判断average >= 60 算出 true,passed 为真,输出区显示 1(第 10 课的显示规则);
  4. 消失:执行 return 0,main 结束,监视区所有变量一起消失——变量的生命周期与它的花括号范围绑定。

变量不是一直都在的:它在定义时诞生,在离开花括号时消失。这条规则到函数章会看到更完整的形态——每个函数有自己的一套变量,随调用而生、随退出而灭。

可视化观察

在 CppStudio 中打开本课示例,从头完整播放一遍:

  1. 监视区里变量逐个登场,最后定格在 6 行(含 passed);
  2. 重点暂停在 total / 3.0:把 3.0 改成 3 再跑一遍,平均分从 91.333… 变成 91——整数除法的代价一眼可见;
  3. 播放结束瞬间,监视区清空——这就是"变量的消失"。

自测

下一章:常量——用 const 和字面量后缀,把"不该变的值"锁起来。

▶ 运行本课示例 弹窗里直接跑,流程图同步展开;也可新窗口打开

常见问题

计算平均分为什么要除以 3.0 而不是 3?

total 是 int,除以 int 会触发整数除法丢掉小数(第 8 课)。除以 3.0 让结果成为 double,平均分才带小数部分。

变量在内存里什么时候消失?

离开它所在的花括号范围就消失。本课所有变量定义在 main 的花括号内,main 结束、程序终止时它们一起消失。作用域的完整规则在函数章展开。

这一章学完后应该具备什么能力?

能定义并初始化各种类型的变量,知道 int 与 double 的差别和陷阱,会读监视区里变量值的每一步变化,能用 {} 写出规范的初始化。

陕ICP备2026020640号-1