基本数据类型( int, short, long int, long long, c har, float, double, long double )
基本数据类型最大的特点:基本数据类型之间可以进行隐式转换。
例如:void main ()
{
char ch=‘a’;
int a=0;
a=ch; 等同于a=(int)ch;
ch=a; 这里可以由编译器进行隐式转换。可以把字符型变量ch给整型变量a,反之也行。 等同于ch=(char); 这里是显示转换。
}
基本数据类型之间进行隐式转换的特点:
把表示范围小的给表示范围大的需要进行扩充。扩充的时候跟目标没关,跟自身有关。如果自身是有符号的类型,扩充的时候给符号位。如果自身类型是无符号的,扩充的时候添0
把表示范围大的给表示范围小的要进行截取。截取权位小的。
参与运算时进行进行数据类型提升的规则:
(1)如果是char short bool 和int 型转换的时候都要转为int 。 如果有unsignde int 就全转为无符号整型。
(2)如果float参与运算时,都要转为long double (双精度double型)。
例如:char ch='a';
int a=0;
a=ch+23+12.23;这里把23默认为整型,然后把char型的ch转为整型与23相加得到结果。然后把相加的结果和12.23一起转换为double 型。
注意:只有参与运算的两个类型才能进行类型的提升。