变量,常量,宏定义

宏定义

首先我们介绍最简单的宏定义,先举个简单的例子

#define PI 3.14159

这就是一个宏定义,如果此时我们尝试去输出PI

cout<<PI;

我们会发现输出的是3.14159,简单来讲,宏定义就是在编译的时候,用后面的东西去替换前面的东西

而\(#define\)就是宏定义的使用指令


变量

接着介绍变量,简单来说,变量就是用来存储数据的,就像一个容器一样,而且如同三角形的容器装不了正方体,变量也有类型,下面介绍几种常见变量类型:

\(布尔类型\),用bool定义,变量值只能为两种\(true\)和\(false\)

\(字符类型\),用char定义,用以储存字符

\(整数类型\),有short,int,long long,三种定义类型,区别在下面讲,用以储存整数

\(浮点类型\),有float,double,long double,三种定义类型,区别也是下面讲,用以储存浮点数,简单点讲就是小数

变量定义

变量的定义语法如下:

变量类型 变量名

例如:

int a;

其中,int是变量类型,a是变量名,上一期也讲过,类型定义后面要加分号,所以变量定义后面也有分号

语法是简单的,但有几个要注意的点,首先是

变量名命名规则

1.变量名只能由大小写字母,数字和下划线组成
2.必须以字母或者下划线开头,不能以数字开头
3.不能使用C++关键字作为变量名,比如不能用namespace,int作为变量名
4.大小写敏感,例如a和A会被看成两个变量名
5.长度不超过31个字符

下面举几个例子

int a!=5;

这一行是错误的,因为违反了命名规则第一条,里面的!非大小写字母,数字和下划线

int 5a=10;

这一行也是错误的,因为违反了第二条,不能以数字开头

int using=5;

这一行的错误点就是第三条,using是c++的关键字,不能用以变量名

int sum=5;
cout<<Sum;

这一行的错误是第四条,因为我们定义的变量是sum,但是输出了Sum,Sum是未定义的,所以会错误

int _=5;

有意思的是,这个虽然看着很奇怪,但是是正确的,因为他没有违反任何条件

几种不同类型的变量

布尔类型

上文讲过,bool类型的变量只能储存\(true\)和\(false\),在c++里面,被视作1和0,\(true\)就是1,\(false\)就是0,例如

bool a=true;
cout<<a;

我们会发现输出的是1,而非0,同理,\(false\)得到的输出结果会是0

还有一个有趣的现象,例如下面的代码

bool a=10086;
cout<<a;

上面我们说过,bool类型只能储存\(true\)或者\(false\),但我们惊讶的发现这段代码可以运行,最后的输出结果会是1

这是因为bool类型的变量会把所有非0的数看成\(true\),大家可以自己试试把这个等号后面改成其他数,看输出会是上什么

字符类型

字符型变量可表示单个字符,例如a便是一个字符,例如

char a='s';
cout<<a;

就会输出一个s

需要注意的是,char变量类型其实在是储存了字符对应的ASCII码值,至于他具体是什么,不重要,反正知道字符是跟一个值对应就对了

char a='a';
cout<<(int)a;

上述代码就是char类型的变量a里面储存了一个字符a,然后转化成int,就是整数输出,我们会发现得到的输出是97,97其实就是小写字母a所对应的ASCII码值

可以简单理解为计算机存的其实是一个整数,但是在使用的时候会把这个整数转成对应的字符,下面介绍常用的字符的ASCII码

常用的字符的ASCII码

1.字符0对应48,1对应49,2对应50,以此类推到字符9
2.大写A对应65,大写B对应66,同理推到大写Z
3.小写a对应97,小写b对应98,同理推到小写z

当然你也不是非要记住,因为忘了的时候写一个上面的那种代码就可以得到一个字符的ASCII码值

整数类型

整数类型就很好理解了,可以储存一个整数,我们主要讲short,int,long long的区别

同为整数,他们有啥区别?

答案很简单----数据范围

其中

short只能储存-32768到32768范围内的数字,就是\(2^{15}-1\),也大约为\(3.27*10^4\)

int能够储存-2147483647到2147483647范围内的数字,就是\(2^{31}-1\),也大约为\(2.14*10^9\)

而long long可以储存-9223372036854775807到9223372036854775807的数字,非常之巨大,为\(2^{63}-1\),大约为\(9.22*10^{18}\)

浮点类型

浮点类型的几种区别跟整数类型的几种之间的区别差不多,几种浮点数之间的区别就是————精度

简单来说就是有效数字位数,其中

float的有效数字类型约6到7位

double的有效数字约15到16位

long double的有效数字约18到19位


常量

常量简单来说就是不会变的量,c++里面常量一般分为两种

1.宏常量

例如介绍宏定义时用的

#define PI 3.14159

就相当于定义了一个常量PI,值为3.14159,因为是后面替换前面,所以他的值不会变,所以是常量

2.const常量

定义方法跟变量几乎一样,就是在定义变量的时候前面加一个const,例如

const int a=5;

此时如果我们多加一行,例如:

const int a=5;
a=6;

我们会发现编译报错了,因为前面加了一个const这个a就是一个常量,不可再改变值了

posted @ 2026-10-10 00:05  罗小菜  阅读(16)  评论(0)    收藏  举报