A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© neobug 中级黑马   /  2015-6-29 23:43  /  1731 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我目前自学c语言基础中,想问问四舍五入一直存在么?比如  int(13.2+2.3)这里面是15.5  加个int要四舍五入么?

19 个回复

正序浏览
neobug 发表于 2015-7-2 09:11
设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是(  B )
A.b=1.0/a           B.b=(flo ...

1/2 本来是0.5,但是整个表达式是int类型,所以只保留了整数部分0,也就是1/2=0,后来(float)0,把0转成浮点数,那么就变成0.000000,浮点数是7位有效数字,小数点后默认6位
回复 使用道具 举报
额  也不太清楚啊
回复 使用道具 举报
不存在 “入”;
回复 使用道具 举报

哪里啊?
回复 使用道具 举报
小小羊 发表于 2015-7-2 00:04
int型取整数部分,小数部分忽略不计,转换成float或者double型

哦 谢谢
回复 使用道具 举报
αメ炫 发表于 2015-7-1 23:41
c默认是不会处理四舍五入的,8/3,int/int结果还是int,直接截断取整数部分,不管小数,printf 输出保留 ...

设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是(  B )
A.b=1.0/a           B.b=(float)(1/a)
  C.b=1/(float)a      D.b=1/(a*1.0)
   b 答案 是不是 0.0?  1/a = 0?
回复 使用道具 举报
语法错误
回复 使用道具 举报
int型取整数部分,小数部分忽略不计,转换成float或者double型
回复 使用道具 举报
neobug 发表于 2015-7-1 22:30
比如   8/3   去小数点后两位  这样就要四舍五入吧?  还有什么情况有么?

c默认是不会处理四舍五入的,8/3,int/int结果还是int,直接截断取整数部分,不管小数,printf 输出保留两位小数时会四舍五入那是printf函数做了特殊处理,其他还有啥函数特殊处理了我也不知道
回复 使用道具 举报
αメ炫 发表于 2015-6-30 17:17
不对,至少printf   %m.nf的时候会四舍五入

比如   8/3   去小数点后两位  这样就要四舍五入吧?  还有什么情况有么?
回复 使用道具 举报
αメ炫 来自手机 中级黑马 2015-6-30 17:17:58
10#
不对,至少printf   %m.nf的时候会四舍五入来自: iPhone客户端
回复 使用道具 举报
solon 中级黑马 2015-6-30 16:41:20
9#

互相学习嘛
回复 使用道具 举报
neobug 中级黑马 2015-6-30 15:54:10
8#
solon 发表于 2015-6-30 15:34
据我所知计算机没有四舍五入,除非你自己写函数实现。

非常感谢!
回复 使用道具 举报
neobug 中级黑马 2015-6-30 15:52:54
7#
solon 发表于 2015-6-30 15:34
据我所知计算机没有四舍五入,除非你自己写函数实现。

非常感谢!
回复 使用道具 举报
neobug 发表于 2015-6-30 14:51
哦~~了解了    其他有什么类型 啊什么的  有四舍五入的情况吗

据我所知计算机没有四舍五入,除非你自己写函数实现。
回复 使用道具 举报
solon 发表于 2015-6-30 14:15
int类型小数点后面的全部舍去

哦~~了解了    其他有什么类型 啊什么的  有四舍五入的情况吗
回复 使用道具 举报
int类型小数点后面的全部舍去
回复 使用道具 举报
zhanghao2744491 发表于 2015-6-30 01:21
入不了。9也入不了的。

什么时候会有四舍五入的情况呢?
回复 使用道具 举报
入不了。9也入不了的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马