基本数据类型
C++的基本数据类型包括布尔型、字符型、整数型、实数型、空值型。分别用bool、char、int、float、double、void表示。
整型数
整数,没有小数。
十进制整数,八进制整数,十六进制整数。
各种类型整数的表示
1、int 基本整型
(在16位系统下长度为16bit,在32位系统下长度为32bit。
2、long long 长整型
(在数字后加l或L做标记。如:345667L、-123L、12l。
3、无符号整型
(表示方法是在数字后加u或U做标记。如:235u、12U。
4、无符号长整型
(表示方法是在数字后同时跟有l(或L)和u(或U)。如:235Lu、12lU。
浮点型数
就是我们平常使用的实数,由整数部分和小数部分组成,通常有两种表示形式。
包括:float(单精度浮点型)和double(双精度浮点型)。
表示形式
(1) 十进制数形式
由0~9和小数点组成。如:23.456、-12.3等。
(2) 指数形式
指数形式,又称“科学计数法”。
如:1.3e^4、-12.5e^-4
分别表示1.3×10的4次方和-12.5×10的负4次方。
浮点型数据可以直接赋值。
char类型数据
字符数是用英文单引号' '括起来的一个字符。如:'a','A'等。
char型数据是用来存储单个字符的一种基本数据类型。
用于存储一个单一字符。char只占一个字节。
表示形式
1、普通表示形式
字符型变量
声明:
char i; //指定变量i为char型
char n = ‘a’; //指定变量n为char型,并把n初始化为‘a’
2、转义字符表示形式
转义符形式:
\字符助记符
\字符的ASCII码值
转义字符 | 含义 |
---|---|
'\n' | 换行 |
'\t' | 水平制表 |
'\b' | 退格 |
'\r' | 回车(不换行) |
'\0' | 空字符 |
'\’' | 单引号 |
'\”' | 双引号 |
'\' | 一个反斜杠字符 |
'\ddd' | 1~3位八进制数所代表的字符 |
'\xhh' | 1~2位十六进制数所代表的字符 |
布尔型
即布尔类型的两个值true和false,该常量用于区分一个条件的真假。
布尔类型和数值之间的转化,非0的值可以转换为true,0可以转换为false。
任何一个非零的数字,在bool类型中都是1(true)。只有数字0,在bool变量中才是false(输出0)。
数据类型转换
C++语言中,往往都是不同数据类型的运算对象进行混合运算。
若参与运算的数据类型不同,要先转换成同一类型,然后进行运算。
或者需要将一个表达式的结果转换成期望的类型,需要依据数据类型转换规则进行转换。
隐式类型转换
从小类型到大类型可自动完成转换。
转换时按数据长度增加的方向进行,以保证精度不降低。
1、混合运算时
整型、实型、字符型数据间 混合运算 的情况下,需要将不一致的数据类型转换成一致的数据类型,然后进行运算。
2、赋值时
当赋值运算符两侧的数据类型不同时,需进行类型转换,这种转换是系统自动进行的。
1)float、double型赋值给int型:去掉小数。
2)int、char型赋值给float、double型:补0,缺多少位,补多少个。
3)char型(1字节)赋给int型(4字节):数值赋给int型的低8位,其它位补0。
4)long int型赋值给int型:long int型去掉低字节给int型。
强制类型转换
将某一数据的数据类型转换为指定的另一种数据类型,强制类型转换只是临时转换。
强制转换运算符组成的运算表达式的一般形式为:(类型名)(表达式)
方法1:(数据类型) 变量或表达式
例如:(int) a;
方法2:数据类型 (变量或表达式)
例如:int (a+b);