在C语言中,为什么1.0/2.0=0.5 ,而1/2=0呢?

在C语言中,为什么1/2的运算结果为0;1.0/2.0的结果为0.5谢谢了,大神帮忙啊~

因为除号两边都是整数,1/2的结构是0.5,取整数以后就是0 第二个是因为除数与被除数有一个是小数结果不会取整数,就是0.5

控制情绪,珍惜和谐的局面。

1/2
二者都是整型,结果也是整型,0.5转化为整型就是0.

1和2都是整数型,结果不可能得到一个浮点型的小数

保留小数与取整方式不同

控制情绪,珍惜和谐的局面。



没有为什么,规定如此。
以后写程序多了就明白这么为什么规定了。

在C语言中,为什么1.0/2.0=0.5 ,而1/2=0呢?
答:1/2 二者都是整型,结果也是整型,0.5转化为整型就是0.

为什么在C语言程序中计算1.0/3.0*3结果不是1
答:1.0/3.0在c语言中结果是0.3333333,那个3不是无穷的,是受限制的,所以乘以3后,不是1,而是0.9999999

c语言一道求π的题,为何一定要double n=1.0才得到pi的正确数值,第一张...
答:结果sign/n是整型的(小数位舍去)然后将整型转化为双精度给term。而pi = pi + term 虽然得到的pi是双精度,但是这时term后的小数位都舍去了,所以结果不正确。(2)同样的,如果你的n或者sign有一个是双精度的。term = sign/n.根据c语言的运算规则,会将结果转化为sign和n中精度最大的。也就是...

c语言问题 在计算三角形面积时s=1.0/2*(a+b+c)中 为什么非要用1.0...
答:看看书就知道了,C语言中1/2是等于 0 的,而不是等于0.5 而且这个上课你们老师是应该强调的,C语言中int型的数相除是不会出现浮点数的

C语言表达式1+1.0中,“1”系统自动将其储存为什么,将“1.0”系统自动将...
答:都是常量,1为int,1.0为double,运算遇到double会提升,int提升为double,变成1.0+1.0

大学c语言,画横线那一定要用1.0吗不能用1?
答:不能,如果是1,那就是整形,下一行就不符合%f了

c语言求平均值为什么加.0
答:c语言编程求平均值:average=(a + b) / 2。如果是整数相加求平均值的话需要加.0一般是乘以1.0,或者将分子和分母任意一个改成.0的形式,如果是浮点型( double型和float型数据)就不需要加.0。

c语言的一个程序中,a=1.0 为双精度数,那a/3为什么也是双精度数呢...
答:a是双精度浮点小数,也就是double类型,而3是int型,在电脑中,double占8位,int类型占4位,系统会隐式也就是自动转换为类型更大的,以防止存储数据出错。a/3中,a是double类型,3是int类型,于是向上转换为double,基本上所有的书都会对转换这部分有介绍,楼主可查一下教材,应该在讲存储类型的那...

c语言中输出格式问题 %1.0f/%1.0f 1.0什么意思
答:,其中小数数位为。2、%m.nf表示输出m位浮点型数,其中,m为域宽(整数位数+小数位数+小数点),n为小数位数(自动对n位后小数进行四舍五入)或n个字符;若输出数本身的长度小于m,则左边补空格,即为右对齐的方式。例如用%7.2f输出45.34777,在屏幕上显示为:45.3478。

在c语言里,为什么数学表达式s=1/(1+1/x)要表示成s=1/(1+1.0/x)才是...
答:在C语言中,1为int型的,而1.0则是float型的。1/x结果默认为int型了,如果x=2,则1/x=0了,而1.0/x=0.5

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网