同一句语句或表达式如果使用了多种类型的变量和常量(类型混用),C 会自动把它们转换成同一种类型。以下是自动类型转换的基本规则:1. 在表达式中,char 和 short 类型的值,无论有符号还是无符号,都会自动转换成 int 或者 unsigned int(如果 short 的大小和 int 一样,unsigned short 的表示范围就大于 int,...
自动类型转换 VS 强制类型转换 在C语言中,有些类型既可以自动转换,也可以强制转换,例如 int 到 double,float 到 int 等;而有些类型只能强制转换,不能自动转换,例如以后将要学到的 void * 到 int *,int 到 char * 等。可以自动转换的类型一定能够强制转换,但是,需要强制转换的类型不一定能够自动转换。
int类型自动转换成float类型printf("混合计算时,float类型等级最高,其他类型向float转换,结果为float类型即4字节: %d\n",sizeof(7+8LL+0.1f));//printf("浮点数默认为double类型,结果为double类型即8字节: %d\n",sizeof('A'+9ULL+0.8f+0.0));//定点存储向浮点存储转换,即整数向小数转换return0;...
C语言中的类型转换主要分为两种:隐式类型转换和显式类型转换。隐式类型转换 隐式类型转换(Implicit Casting)是指在没有明确要求的情况下自动进行的类型转换。例如,当你将一个整数赋值给一个浮点数变量时,C语言会自动将整数转换为浮点数。显式类型转换 显式类型转换(Explicit Casting)是指明确要求进行类型转换。
自动类型转换也叫隠式类型转换。C语言中设定了不同数据参与运算时的转换规则,编译器会自动地进行数据类型的转换,进而计算出最终结果,这就是自动转换。 数据类型转换如下图所示: 图中标示的是编译器默认的转换顺序,比如有 char 类型和 int 类型混合运算,则 char 类型自动转换为 int 后再进行运算;又比如有 int ...
1.自动类型转换 在C语言中,自动类型转换遵循以下规则: ①若参与运算量的类型不同,则先转换成同一类型,然后进行运算 ②转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算 a、若两种类型的字节数不同,转换成字节数高的类型 ...
C语言类型转换 1.自动转换 如:1+'2' //字符2转为50 2.隐式转换 如:int a;char b = a; 3.强制转换 如:char a = (int)'2' 一:自动转换 当不同类型的数据进行操作时,应当首先将其转换成相同的数据类型,然后进行操作,转换规则是由低级向高级转换。转换规则如下图所示:...
l + l,long同类型运算,结果是一个long类型。 在C语言中,高级别的数据类型能表示的数据范围大于或等于低级的数据类型。 类型级别: char < short < int < long 有符号整型类型同类型运算中: 比int低级的类型,都会转换成int,比int高级的类型不变。 2.2 无符号整型同类型 #include <stdio.h> int main() {...
【例2-11】自动数据类型转换 #include<stdio.h> int main(){ float PI=3.14159;int s,r=5;s=r*r*PI;printf("s=%d\n",s);return 0;} 程序运行结果:s=78 本例程序中,PI为实型,s,r为整型,在执行s=r*r*PI语句时,r和PI都转换成double型计算,结果也为double型,但由于s为整型,故赋值...