变量,常量,宏定义
宏定义
首先我们介绍最简单的宏定义,先举个简单的例子
#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就是一个常量,不可再改变值了

浙公网安备 33010602011771号