c语言中整型和浮点型混合运算的结果是什么类型
结果会是:单精度浮点型。在c语言中,若参与运算量的类型不同,则先转换成同一类型,然后进行运算。转换按数据长度增加的方向进行,以保证精度不降低。如int型和float型运算时,先把int量转成float型后再进行运算。
如果操作数中有一个是float类型,而另一个是double类型,则运算结果将是double类型。如果操作数中没有double类型的变量,则运算结果将是float类型或int类型,具体取决于操作数的类型。
结果肯定是浮点型数据。因为浮点型数据属于所谓“高类型”(比整型高),而整型数据属于“低类型”。计算机语言中数据类型的转换有自动和强制两种方式,浮点型数据加整型数据符合自动转换规范。
在C语言中,将整型变量和浮点型变量进行运算时,整型变量会自动转换为浮点型变量。但是,如果将一个浮点型变量和一个双精度型变量进行运算,则浮点型变量会自动转换为双精度型变量。
你的理解只对了一半。确切地说:表达式 5*0.9*a的值的确是浮点类型的。
…表达式float类型的操作数不会自动转化成double型,这是怎么说呢?使用…
1、表达式中如果只出现float浮点类型,那么表达式最终的类型不会是double。编译器可能会用到特殊的寄存器和指令来计算表达式的值,但是这只是个实现细节,表达式最终的类型还是float。
2、int x ;float y ;那么10+x+y值的数据类型是A)int B)double C)float。我觉得这个应选b,可答案却说选C,不知道怎么搞了,请高手指点。解析:老式编译器(90年代以前)的float会自动转换为double,不过现在不转了。
3、float是C语言中的一个数据类型的关键字,表示单精度浮点型(双精度浮点型为double)。定义格式为:floata;//a表示一个浮点型的变量。
4、向精度高的靠拢。(int),(float) float精度高。不是要自动转成double吗 — 不。(int)+(float) 不化成double。float型+double型,向精度高的靠拢,转成double。
5、http://zhidao.baidu.com/question/2389974html?fr=ala0 这个应该是数据结构的问题。在K&RC下,float值用于表达式或用作参数前,会自动转换成double类型。而ANSI C一般不会自动把float转换成double。
C语言的浮点型怎么转换为整型?
直接赋值给整数变量。如:int i = 5; 或 i = (int) 5;这种方法采用的是舍去小数部分,能用于你的问题。
在C语言中,将一个浮点数变换成整数的示例:main(){ float f=75;printf(f=%d,f=%f\n,(int)f,f);} 执行程序,输出结果为f=5,f=750000。 f=5即为由浮点数转化出的整数。
可通过强制类型转换或赋值过程中自动转换。强制类型转换。
double,双精度浮点型,输出使用%lf。short int,短整型,输出对应%d。
分析如下:一种简单的办法是直接强制转换到int型就是整数部分。减去这个int型就是小数部分了。代码如下:float n=1223;int x=(int)n;float y=n-(float)x;得出的x为数据的整数部分,y为数据的小数部分。
强制转换的话,小数部分将被舍去,不会进行四舍五入处理。