数据类型的意义

C++规定在创建一个变量或者常量时,必须要指定相应的数据类型,否则无法给变量分配内存

2.1 整型

作用:表示数据是整数类型
short int long longlong
image.png

在整型和字符型前,可加修饰符signed(有符号的)和unsigned(无符号的) 如果指定为signed,则数值以补码的形式存放,最高位用来表示符号 0正1负 如果指定为unsigned,则没有符号,全部二进制位都用来表示数值本身

表示方法:
十进制: 直接写。在数后面加字母l或者L,表示长整型
八进制: 在数的开头加0,
十六进制: 在数的开头加 0X或者 0x


2.2 sizeof 关键字

作用:统计数据类型所占内存大小
语法:sizeof (数据类型 / 变量)
示例:image.png


2.3实型(浮点型)

作用:用于表示小数

越接近0,浮点数越表示不了

浮点型变量分为两种
1. 单精度 float
2. 双精度 double

image.png
区别在于表示的有效数字范围不同
但在默认情况下,输出一个小数,C++中只会显示6位有效数字,要把其他有效数字显示出来还要做额外的操作

^操作符在C/C++里面是按位异或的意思,所以a^b的话,a和b都需要是整数才行,double肯定不行了

示例:
image.pngC中一般默认为double,所以用float时,常加一个 f 在末尾

另一种表示小数的方法:科学计数法:
image.png


2.4字符型

char
作用:用于显示单个字符
语法:char ch = ‘ a ‘
注意1:字符型变量是用单引号括起来的
注意2:单引号内也只能有一个字符

求字符型变量对应的ASCII编码
cout<<(int)变量名<<endl;

image.png

  • C 和 C ++中字符型变量只占用一个字节 ASCII码 是 十进制的数字
  • 字符型变量并不是把字符本身放到内存中去储存,而是把对应的ASCII码放入存储单元 实际上,是以二进制的形式存放的
  • 既然字符数据和整型数据一样以ASCII码的形式存放 字符数据可以赋给整型变量,整型数据也可以赋给字符型变量。当然,整型变量输出的还是整型数据(ASCII码),字符型变量输出的也是字符,(数字对应的ASCII码表上的字符)
  • 字符型变量还可以进行算数运算,此时,相当于给他们的ASCII码进行运算。

image.png

大小写字母直接的ASCII码,相差32. 大写字母在前面,对应的ASCII码较小

示例:
image.png

在整型和字符型前,可加修饰符signed(有符号的)和unsigned(无符号的) 如果指定为signed,则数值以补码的形式存放,最高位用来表示符号 0正1负 如果指定为unsigned,则没有符号,全部二进制位都用来表示数值本身


2.5 转义字符

作用:表示一些不能显示出来的ASCII字符
image.png

image.png

(1)换行符 \n

在C++中可以用 endl 来进行换行,但在C中 , 只能用 \n 来进行换行

image.png

(2)反斜杠 \

用来输出一个 \ 第一个 \ 的意思是告诉编译器 我要输出一个特殊的字符了

(3)水平制表符 \t

image.png
image.png
表示8个位置

水平制表符的作用 可以整齐地输出字符

有水平制表符时
image.pngimage.png

没有水平制表符时
image.pngimage.png


2.6字符串型

作用:表示一串字符

(1)C风格的字符串

image.png
image.png

(2)C++风格的字符串

image.png
image.png

“abc”在内存中占4个字节,因为编译器会自动加一个 \0 作为字符串结束的标志,\0不输出,但也占了一个字节,注意

2.7布尔类型

  1. bool <br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/2936491/1606214995449-d6cfbd8d-9360-4709-8d00-2d38b93fa037.png#align=left&display=inline&height=189&margin=%5Bobject%20Object%5D&name=image.png&originHeight=274&originWidth=482&size=109552&status=done&style=none&width=332)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/2936491/1606214995807-1d194212-7010-40a0-bb39-e51211897a94.png#align=left&display=inline&height=217&margin=%5Bobject%20Object%5D&name=image.png&originHeight=312&originWidth=508&size=160052&status=done&style=none&width=354) 其他非0值 也都表示1 <br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/2936491/1606214995572-bd2fde20-56d8-41e1-95f0-cb8dba0eab86.png#align=left&display=inline&height=75&margin=%5Bobject%20Object%5D&name=image.png&originHeight=119&originWidth=956&size=101126&status=done&style=none&width=606)

**