在之前的课程中,我们使用的变量都是整数型变量(int),这节课我们介绍一些其他类型的变量
字符型 char
浮点数(小数) float
双精度浮点数(精度更高的小数) double
可能有同学不知道什么是精度,通俗理解就是对整数部分相同的小数来说小数点后位数越多精度越高。
布尔型变量 bool
大整数 long long
小整数 short
无标记整数 unsigned int(long long)
char
一个char可以存一个字符(只能是ascii码表里的字符)
例
char a;
a = 'c';
cout<<a;
注意在c++的表达式中,如果是c,那么意思是名为c的变量,如果是'c'则是一个char型的数据,它的值是'c'
另外我们提一下什么是ascii码表。
ascii码表链接
就是把每个字符用数字来表示。
比如'c'在ascii码表中对应的数字是99,我们
char a = 'c';
int b =a;
cout <<b<<endl;
char c = 99;
cout << c<<endl;
char d = 'b';//
d++;//等效于d=d+1;
cout<<d;
就会输出
99
c
c
char如果出现在表达式中,那么我们用的是他对应的ascii的值。因为d='b'=98,d++之后d=99='c'
float、double
float、double 可用于存储小数
如果精度要求不高用float,要求高用double,要求再高就要自己写高精度了。
两者实现的原理都类似科学计数法。都写做A*(2^B)
本质就是写出一串二进制数,然后标小数点。
这里我们要注意,两者都是不能准确表达一些数的,比如0.1就不能被准确表示。具体为什么可以参考这篇博客
long long、short
都是整数,用法和int一样,但范围和占用空间不同,根据实际需求进行选择。
具体参考链接
unsigned
参考