2、C++中的变量类型及转换

C++中的数据类型包括常量与变量,而敞亮和变量都具有类型。有这些数据类型还能构成更加复杂的额数据结构;

例如利用指针和结构体类型可以构成表、树、栈等复杂的数据结构。

C++中可以使用的数据类型如下图:

变量的类型可以互相转换,分为自动转换和强制转换:

  • 自动转换(范围最大化原则):
  1. 若参与运算量的类型不同,则先转换成同一类型,然后进行运算;
  2. 转换按数据长度增加的方向进行,以保证精度不会降低。如int型和long型 运算时,先把int型转换成long型后在进行运算。
  3. 所有的浮点运算 都是以双精度进行的,即使仅含有float单精度量运算的表达式,也要先转换成double型在做运算。
  4. char型和short型参与运算时,必须先转换成int型。
  5. 在赋值运算中,复制好 两边量的数据类型不同时,复制好右边量的类型将转换成左边量的类型。如果右边梁的数据类型长度比左边长时,将丢失一部分数据,会降低精度。
int a = 1;
float b = 2.3;
a = b;        
cout << "a= " << a << endl;        //输出为2,丢失小数部分

int a1 = 1;
double b1 = 2.3;
cout << "a1+b1= " << a1 + b1 << endl;        //输出为a1+b1=3.3
  • 强制转换:
  1. 强制转换通过类型转换运算来实现,其一般表现形式如下:
int aa = 1;
float bb = 2.3;
cout << "aa+bb=" << aa + (int)bb << endl;    //输出为aa+bb=3
一个初识C++的小白
原文地址:https://www.cnblogs.com/Real-m/p/13203210.html