C语言中,给float类型变量赋值整数1,输出的是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中,给float类型变量赋值整数1,输出的是啥?相关的知识,希望对你有一定的参考价值。



输出为0

参考技术A 比如float a=1;
其中包含一个赋值表达式,会自动将整型常量1转换为浮点型,而后赋值给a,会输出1.00000本回答被提问者采纳

c语言中将一个浮点型赋值给整型时,会不会四舍五入?

c语言中将一个浮点型赋值给整型时,不会四舍五入,会直接舍去小数部分的数据,也可以认为是执行了下取整运算。

将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分, 只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小数点后带若干个0。注意:赋值时的类型转换实际上是强制的。

例如执行赋值后,无论5.4还是5.6都会变成5。

扩展资料:

C语言中其它数据类型的转换:

1、单、双精度浮点型

由于C语言中的浮点值总是用双精度表示的,所以float 型数据只是在尾部加0延长为double型数据参加运算,然后直接赋值。double型数据转换为float型时,通过截尾数来实现,截断前要进行四舍五入操作。

2、char型与int型

int型数值赋给char型变量时,只保留其最低8位,高位部分舍弃。

char型数值赋给int型变量时, 一些编译程序不管其值大小都作正数处理,而另一些编译程序在转换时,若char型数据值大于127,就作为负数处理。

3、int型与long型

long型数据赋给int型变量时,将低16位值送给int型变量,而将高16 位截断舍弃。(这里假定int型占两个字节)。 将int型数据送给long型变量时,其外部值保持不变,而内部形式有所改变。

参考资料来源:百度百科-C语言类型强制转换

参考技术A

c语言中将一个浮点型赋值给整型时,不会四舍五入,会直接舍去小数部分的数据,也可以认为是执行了下取整运算。

将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分, 只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小数点后带若干个0。注意:赋值时的类型转换实际上是强制的。

例如执行赋值后,无论5.4还是5.6都会变成5。

扩展资料:

C语言中其它数据类型的转换:

1、单、双精度浮点型

由于C语言中的浮点值总是用双精度表示的,所以float 型数据只是在尾部加0延长为double型数据参加运算,然后直接赋值。double型数据转换为float型时,通过截尾数来实现,截断前要进行四舍五入操作。

2、char型与int型

int型数值赋给char型变量时,只保留其最低8位,高位部分舍弃。

char型数值赋给int型变量时, 一些编译程序不管其值大小都作正数处理,而另一些编译程序在转换时,若char型数据值大于127,就作为负数处理。

3、int型与long型

long型数据赋给int型变量时,将低16位值送给int型变量,而将高16 位截断舍弃。(这里假定int型占两个字节)。 将int型数据送给long型变量时,其外部值保持不变,而内部形式有所改变。

参考资料来源:百度百科-C语言类型强制转换

参考技术B 不会的,不过可以写一个函数自己转换啊
#include<stdio.h>
int fun(float x)
int a=(int)x;

if(a+0.5 > x)
return a;
else
return a+1;

int main()
printf("%d\n",fun(3.49));
printf("%d\n",fun(3.5));

return 0;
打印的为3和4,C语言很灵活的,楼主想要什么几乎都能实现本回答被提问者采纳
参考技术C

不会的,看程序的运行结果:

参考技术D 你好,不会的。浮点型数据赋给整型时,浮点型就会被自动转换成整型,整型只是整数部分。
希望能够帮到你。

以上是关于C语言中,给float类型变量赋值整数1,输出的是啥?的主要内容,如果未能解决你的问题,请参考以下文章

关于C语言中double型输出的问题

为啥C语言中float型变量的数据范围比int大

C语言,如何给3个char变量赋值?不能直接char a='D',这种。要求用printf,scanf.

C语言中的整形变量是啥?

C语言中printf输出float和double都用%f么(scanf又如何)

实验二