作业帮 > 综合 > 作业

VC++6.0中double的意思

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 19:43:44
VC++6.0中double的意思
同学跟我说是双精度 不是很明白
具体例题如下
#include
{
double d=3.2;
int x,y;
x=1.2;
y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
解释一下这段程序的意思 逐句解释最佳(要解释 不是结果 结果我自己在VC中输一遍就行了)
尤其是其中double的意思 是显示双精度?
double后面的d=3.2是什么意思?给d赋值3.2?
x=1.2的话代入计算就应该得出y=(1.2+3.8)/5.0=1
为什么会得出0?(我用VC得出是0,但不知道为什么)请说下如何计算出来的
printf("%d\n",d*y)其中d*y为什么不是y?d*y是计算得出y后再乘以d?d又是何值?
#include //包含标准输入出输入出头文件
main()
{
double d=3.2;//定义双精度浮点型变量d,且赋初值为3.2
int x,y; //定义整型变量x,y
x=1.2; //给整型变量x赋初值1.2 但实际上x中存放的值是1
y=(x+3.8)/5.0; //是(1+3.8)/5.0 是4.8/5.0结果为0,不是你想的1.2+3.8=5.0
printf("%d\n",d*y); //输出d*y的值,是 3.2*0 结果为0;
}
double 和float 一样,是浮点型数据类型,
float是单精度,double是双精度,
double d=3.2; 是定义一个double类型的变量d且赋初值为3.2
x的值是1,不是1.2
y=(x+3.8)/5.0;
d是一个双精度浮点型数据,也就是一个实数,一个实数和一个整数相乘,结果应该是实数,但是printf给出的格式控制符是%d,也就是按整数输出.所以,最后输出的数应该是0.
如果是VC的话:程序还可以这样写:
#include
void main()
{double d=3.2;
int x,y;
x=1.2;
y=(x+3.8)/5.0;
cout