整型:短整型(short int)、基本整型(int)、长整型(long int)、长长整型(long long int)
浮点型:单精度浮点型(float)、双精度浮点型(double)、长双精度浮点型(long double)
注意:默认情况下均为有符号数即signed(有正有负),若为无符号数即只表示正数时,须在类型名前加unsigned,如:unsigned int、unsigned long int
除此以外还有布尔型(bool)ture / false、宽字符型(wchar_t)
typedef 声明、枚举(enum)、数组、字符串、引用、结构与联合等
字符指针、数组指针、多重指针
void
基本运算:加+ 、 减- 、 乘* 、除/ 、 取余%
自增自减:++、-- 后置则先取值后运算
关系运算:<、 >、 <= 、>=、 == 、!= 结果为布尔值
逻辑运算:与&& 、或|| 、非!
位运算:一般是机器语言汇编语言使用,按位处理数据
赋值运算:如i=i+1 、i+=1
条件运算:a>b? a:b
逗号运算:a=2,a*3,结果a=6
求字节数运算:sizeof (类型名) 或 sizeof 表达式
a. value (typeName)
b. static_cast< typeName >(value)
需要注意:
1.在将大的数据类型转化为小的数据类型时会造成数据丢失
2.在将大的浮点数转化为小的浮点数(如double转化为float)会造成精度的降低
3.浮点类型转化为整型时会造成小数部分的缺失
整型数据类型由小到大排序: bool、 char、 signed char、 unsigned char、 short int、 unsigned short int、 int 、unsigned int、 long int、 unsigned long int、 long long int、 unsigned long long int
浮点数由小到大排序:float、 double、 long double
当变量的数据类型所提供的位数无法适应某个值时,就会发生溢出(上溢)或下溢。就像往水桶里装水,水满则溢,变量也是这样,如果要存储的值超过了变量所能提供的位数,就会出现问题。
尽管某些系统在出现溢出或下溢时会显示错误信息,但大多数情况下是不会显示的。该变量现在只是保存了不正确的值,而程序还是会继续运行。
移位运算包含“逻辑移位”(logical shift)和“算术移位”(arithmetic shift)。
逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充。
算术移位:移出去的位丢弃,空缺位(vacant bit)用“符号位”来填充,所以一般用在右移运算中。
对于无符号数都是逻辑移位:
int i=1;
i=i<<2;//把i的值左移两位
000…001变为000…100