C 语言第 3 课变量就是“贴了名字的小格子”int/float/char 一次讲透系列笔记第 3 篇。上一课的程序只会打印固定的一句话笨得很——真正的程序要会“记住”东西。一、为什么需要变量收银机要记住“这单多少钱”门禁要记住“录入了几张人脸”。变量就是计算机的记性。二、变量 贴了名字的小格子想象内存是一排储物柜每个柜子有编号。写下这行代码int price 100;意思是找一个柜子贴上 price 的标签往里面放 100。以后我说 price计算机就去那个柜子拿数。int 是格子的“型号”表示“这个格子只装整数”。C 语言常用的三种型号int装整数比如 100、-5float装小数比如 9.9类型存储大小取值范围格式占位符典型示例int通常 4 字节-2147483648 ~ 2147483647%dint price 100;float通常 4 字节约 ±3.4e38约 7 位有效数字%ffloat score 9.9;char通常 1 字节-128 ~ 127或 0 ~ 255%cchar grade ‘A’;char装单个字符比如 ‘A’三种型号的格子用一张图记住C 语言变量类型int装整数例子100、-5float装小数例子9.9char装单个字符例子A型号不能乱用int 的格子放不下小数float 的格子硬塞整数会出怪事。第 1 课说的“又小又省”就是从这里开始的——不同型号的格子占地方不一样。三、变量的三个动作#include stdio.hint main() {int price 100; // 动作1定义造个柜子贴上标签price 150; // 动作2赋值把旧东西拿出来换成新的printf(“%d\n”, price); // 动作3读取看看柜子里是啥return 0;}一个变量从出生到使用走完这三步定义造个柜子贴上标签赋值把旧东西拿出来换成新的读取看看柜子里是啥打印输出%d 是个占位符意思是这里填一个整数后面的 price 就是填进去的值。打印小数用 %f打印字符用 %c。四、两个新手必踩的坑坑 1 不是等于。price 150 是把 150 放进 price不是数学里的等于。判断相不相等以后会学先记住别搞混。五、变量命名小贴士给柜子贴标签也有讲究名字起得好代码读起来才省心。见名知意看到名字就知道里面装什么。price 一看就是价格a 就不知道是啥。风格统一推荐小驼峰totalPrice或下划线total_price别一会儿一种。避开关键字int、float、char 这些是 C 语言自己用的词不能拿来当变量名。反例问题正例int a;看不出装什么int price;int totalprice;单词连在一起难读int totalPrice; 或 int total_price;int int;int 是关键字编译报错int count;坑 2不放东西就去拿。int price; 只造了柜子没放东西这时去读拿到的是上一个房客留下的垃圾数据。所以好习惯是定义时就给个初始值。动手练习定义两个 int 变量 a 3、b 5打印它们的和提示printf(“%d\n”, a b);试试只写 int price; 然后直接 printf(“%d\n”, price);看看打印出什么体会垃圾数据收银机场景苹果 5 块钱一斤买了 3 斤用变量算出总价并打印可以自己举一反三比如顺手算个乘法避坑提醒我做第 2 题时打印出来的确实是个莫名其妙的数而且每次运行还不一样——这就是垃圾数据的实锤。记住老手定义变量时一定顺手给初始值这个习惯越早养成越好。下一篇第 4 课scanf 读取键盘输入收银机就能自己输入价格了。