青少年编程知识记录 codecoming

C++中的变量

一、说明



 C++对于数据的操作有直接输出类型的,也有经过“包装”类型的。直接输出类型的是我们前面学习的方式,比如下面这样:

  1.数字直接参与运算的

#include<iostream>   using namespace std;  int main(){  	cout<<1+2<<endl; //3  	cout<<3-1<<endl; //2  	return 0;  }

 2.输出字符的

#include<iostream>   using namespace std;  int main(){  	cout<<'a'<<endl; //a  	cout<<'b'<<endl; //b  	return 0;  }

3.输出字符串的

#include<iostream>   using namespace std;  int main(){  	cout<<"hello"<<endl; //hello   	cout<<"你好"<<endl; //你好   	return 0;  }

除了上面的直接操作,我们还可以通过其他方式,最常见的就是变量和常量。





用生活里的例子类比,你就能秒懂为什么需要变量 —— 本质是 “给东西找个‘容器 + 名字’,方便存、取、改”,没有这玩意儿,做事会乱到没法推进:

例子 1:买菜记账(存储 + 复用数据)

你去菜市场买菜:
  • 买了苹果(10 元)、鸡蛋(20 元)、青菜(5 元),要算总价。

  • 【没有变量的情况】:你脑子里不记任何东西,结账时只能喊 “老板,我买了 10 块的、20 块的、5 块的,一共多少钱?”—— 要是买 10 样东西,你根本记不住每样价格,只能挨个问老板,还容易算错。

  • 【有变量的情况】:你拿出手机备忘录(相当于内存),给每样东西 “命名 + 存值”(变量):

    • 苹果 = 10,鸡蛋 = 20,青菜 = 5

      然后直接算:苹果 + 鸡蛋 + 青菜 = 35 元 —— 随时能看、能加,就算再买瓶酱油(酱油 = 8),直接加进去就行,不用重新记所有东西。

这里的 “苹果”“鸡蛋” 就是变量,备忘录是内存,变量名帮你对应 “东西” 和 “价值”,避免混乱。

例子 2:调空调温度(动态修改数据)

你家空调默认 26℃,你觉得热,想调到 24℃:
  • 【没有变量的情况】:空调没有 “当前温度” 这个 “容器”,只能固定输出 26℃—— 你永远没法调温,它要么一直 26℃,要么断电,完全没灵活性。

  • 【有变量的情况】:空调里有个 “当前温度” 变量(比如 temp=26),你按 “-” 键,就是把 temp 改成 25,再按改成 24,空调根据这个变量的最新值调整出风 —— 这就是变量的 “可修改性”,让事物能响应你的操作。

要是没有这个变量,空调就是个 “固定温度的风扇”,没法交互。

例子 3:快递柜取件(内存地址 + 变量名)

你有个快递放在小区快递柜的 102 号格子里:
  • 【没有变量的情况】:快递柜只告诉你 “102 号格子有你的东西”—— 你得记 “102 号 = 我的快递”,要是有 10 个快递,你得记 10 个格子号(005 = 零食、018 = 衣服、036 = 书本…),记混了就拿错。

  • 【有变量的情况】:快递柜给每个格子的东西贴了 “名字标签”(变量名):102 号 = 零食、018 号 = 衣服、036 号 = 书本 —— 你不用记格子号(内存地址),直接看标签(变量名)就能找到想要的,哪怕格子换了(比如零食挪到 205 号),标签跟着改就行,你还是找 “零食” 这个名字。

变量名就是 “标签”,帮你避开复杂的 “格子号”(内存地址),直接对 “东西” 操作。

例子 4:分类放书包(类型约束)

你上学要装东西:课本放书包主仓(大空间)、橡皮放笔袋(小格子)、水杯放侧兜(专门位置):
  • 【没有变量的情况】:书包没有 “分区”(类型),你把水杯塞笔袋里(塞不下)、课本扔侧兜(露一半),东西全乱了,甚至挤坏 —— 就像程序里把 8 字节的浮点数塞进 4 字节的内存,直接崩溃。

  • 【有变量的情况】:书包的每个分区就是 “变量类型”:主仓 = 放课本(int/long 这类占空间大的类型)、笔袋 = 放橡皮(char/short 这类小类型)、侧兜 = 放水杯(float 这类特定类型)—— 每个分区只能放对应东西,不会乱套,这就是变量的 “类型约束”,保证 “装得下、不损坏”。

核心总结

生活里的 “容器 + 名字”(备忘录条目、空调温度、快递柜标签、书包分区),对应程序里的 “变量”—— 没有它们,你没法存东西、改东西、找东西,要么记不住,要么乱套,要么完全没法互动。
程序里的变量,就是帮计算机 “有条理地存数据、改数据、用数据” 的工具,和你生活里需要 “给东西贴标签、找容器” 是一个道理。



二、变量

变量就是能变化的量。特点就是“喜新厌旧”。

变量的的使用及其取值范围由它的类型决定,常见的变量类型及其取值范围可以参考前面这篇文章:C++ 数据类型深度指南:整型 / 浮点型 / 构造类型定义及使用

变量的定义方式如下:

数据类型说明符  变量名1,变量名2,变量名3......变量名n;

比如

int a,b;

上面这行代码表示定义了两个整型变量,名字分别是a和b,没有赋初值。

如果是赋初值的情况,下面这个例子

int a=1;

上面这个例子就是定义了一个整型变量,并赋初值为1

一个综合的例子如下:

#include<iostream>   using namespace std;  int main(){  	int a; //定义了一个整型变量a,没有赋值   	int b,c=1; //定义了两个整型变量b,c。c赋初值1  	double d=0.2; //定义了一个浮点型变量,初值是0.2   	bool x=true; //定义了一个bool型变量,初值是true  	char k='g'; //定义了一个char型变量,初值是g   	return 0;  }

如果对上面的内容进行输出

#include<iostream>   using namespace std;  int main(){  	int a; //定义了一个整型变量a,没有赋值   	int b,c=1; //定义了两个整型变量b,c。c赋初值1  	double d=0.2; //定义了一个浮点型变量,初值是0.2   	bool x=true; //定义了一个bool型变量,初值是true  	char k='g'; //定义了一个char型变量,初值是g   	//测试输出  	cout<<"a="<<a<<endl; //a=4254665,没有赋初值,是随机数   	cout<<"b="<<b<<",c="<<c<<endl;//b=0,c=1。 b没有赋值,随机0   	cout<<"d="<<d<<endl;//d=0.2   	cout<<"x="<<x<<endl;//x=1  	cout<<"k="<<k<<endl;//k=g   	cout<<t<<endl; //编译不通过,提示变量t不存在(因为前面没定义)  	return 0;  }



总结:

  1. 数据类型说明符,决定了变量所存储的数据种类,可根据实际情况进行选择,可以是int、char、double等数据类型,也可以是struct等构造数据类型

  2. 变量定义通常在的开头位置,定义同类型的多个变量时,变量之间用逗号分隔,定义哥语句的末尾用分号结束。

  3. 变量必须先定义后使用,没有定义变量直接使用会报错。

  4. 变量的命名方式有严格要求:

    (1)只能由字母(大小写都可以)、数字、下滑线组成

    (2)不能以数字开头

    (3)不能是关键字

【解释】什么是关键字?    用通俗的话讲,C++ 的关键字就是「编程语言官方规定的 “专用词”」—— 这些词有固定的含义和用途,是编译器能 “看懂” 的 “指令词汇”,  你不能把它们当变量名、函数名随便用,就像生活里的 “专用名词 / 规则术语”,不能乱改、乱用作其他用途。    基础常用的关键字:int float char double if else for while return const void class struct bool break continue static new delete 等。



在DevC++中,关键字会变黑色,比如下面这样,可以看到int,double都变黑了,而dog没有变黑





本节配套练习题:



作者:亿万年的星光 分类:课程 浏览: