目录
变量
1.相关知识点
1.1 变量的定义
是计算机语言中能储存计算结果或能表示值的抽象概念。它的值是可变的。
1.2 C++常用变量类型
种类 | 容量 | 存储内容 | 取值范围 | unsigned[1] |
char | 1byte | 文字 | -128 ~ 127 | 0 ~ 255 |
bool | 1byte | 真 / 假 | true / false | true / false |
short | 2byte | 整数 | -32768 ~ 32767 | 0 ~ 65535 |
int | 4byte | 整数 | 约 -22亿 ~ 21亿 | 0 ~ 约 43亿 |
float | 4byte | 实数 | -3.4*10^38~3.4*10^38 | |
double | 8byte | 实数 | -1.7*10^308~1.7*10^38 |
[1]unsigned:无符号
解析:
我们知道变量是用来存储某些值的,而存储需要存储空间,那么存储在哪里呢?
在计算机里有个部件叫做随机存取存储器(英语:Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。RAM上会生成存储变量的空间,我们在这RAM上存储变量并取出变量。
就像储存器有容量,这些变量也有各自的容量。在理解它们的容量大小之前我们要掌握一些计算机容量的单位:
存储容量的最小单位:bit
1byte = 8bit
1kbyte = 1024byte
1mbyte = 1024kbyte
1gbyte = 1024mbyte
1tbyte = 1024gbyte
再看看上面的表,我们可以知道这些变量的容量有所不同,那为什么不同呢?
在电脑上我们用1bit只能表示0或1这两个数字,1个byte有8bit来组成,那1byte可以表示2(两个数字)的8次方的数字,也就是可以表示256个数字,以此类推4byte可以装32个二进制位,8byte是更多,所以容量不同就可以理解成它可表示的数字不同。
在计算机中,所有的数据在存储和运算时都要使用二进制数表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。
因此char虽然存储内容是文字,但可以利用ASCII码对照表来转换成数字,所以取值范围可以用数字表示。
计算机上用0来表示false,一般认为1表示true,但其实不是0的所有数都表示true。
1.3 定义变量
格式:
变量类型 变量名;
注意:变量名必须以字母或者下划线开头,其他可以是数字、字母、下划线。变量名中的字母不限大小写,但大小写意义不同。
例:
int Number = 10;
在这里"="不是数学中的等于的意思,计算机上"="是一个赋值运算符,把右侧的值交给左侧的意思,因此,这句代码表示在RAM上取4byte的空间存放了10的意思。
我们可以在下一句里换掉Number的值,因为Number是变量,值是可变的。如果执行的话Number的值取最终赋给的值。
float和double都是存储带小数点的实数,它俩差别是在赋值时float的数字后面要写f,没有f的带小数点的数字是double型。如3.14f是float型,3.14是double型。
例:
float fNumber = 3.14f;
double dNumber = 123.456;
2.代码及总结
#include <iostream>
using namespace std;
int main()
{
/*
变量:可以变的量,它的值是可变的
存储容量的最小单位:bit
1byte = 8bit
1kbyte = 1024byte
1mbyte = 1024kbyte
1gbyte = 1024mbyte
1tbyte = 1024gbyte
表现文字的方法:ASCII码
false:0
true:不是0的所有数
unsigned:无符号
种类 | 容量 | 存储 | 范围 | unsigned |
char | 1byte | 文字 | -128 ~ 127 | 0 ~ 255 |
bool | 1byte | 真/假 | true / false | true / false |
short | 2byte | 整数 | -32768 ~ 32767 | 0 ~ 65535 |
int | 4byte | 整数 | 约 -22亿 ~ 21亿 | 0 ~ 约 43亿 |
float | 4byte | 实数 |
double | 8byte | 实数 |
*/
// = :赋值运算符。将右侧的值交给左侧
int Number = 10;
Number = 20;
cout << Number << endl;
bool A = true;
A = false;
cout << A << endl;
//一个英文字母或数字占1byte,但是一个汉字占2byte
//所以很难用一个char来存储
char B = 'q';
cout << B << endl;
float fNumber = 3.14f;
//浮点型数字最后要带f
cout << fNumber << endl;
double dNumber = 123.456;
//不带f是double型
cout << dNumber << endl;
return 0;
}