C语言 单精度双精度问题

2025-03-12 09:13:13
推荐回答(2个)
回答1:

该题其实考察的不是精度问题,是整数和浮点数之间的运算问题,结果没有错误,以后向这种问题你可以上机运行一下呀,一看结果就什么都明白了,首先你说的精度是指精确度,并不是保留小数的位数,这两个概念不同,你可能弄混了,而输出的时候,double和float默认都是保留六位,我就再这里给你解释一下这两个题目吧。 首先看第一题,题目的运算顺序就是从左到右计算,a%3值为1,(int)(x+y)值为7,a%3*(int)(x+y)值为7,a%3*(int)(x+y)%2值为1,a%3*(int)(x+y)%2/4值要看他的赋值对象和输出格式了,要是整形就直接舍去小数,要是浮点型就保留小数。 题目二就不用多解释了吧,多思考,多学习,祝你成功!
希望能解决您的问题。

回答2:

基本数据类型默认的都是十进制表示
单精度用float声明,双精度用double声明
如有帮助,忘采纳