9.若定义x为double型变量,则能正确输入x值的语句是( ).
来源:学生作业帮助网 编辑:作业帮 时间:2024/04/26 18:14:31
double是双精度浮点型,不是整型,双精度浮点型数,直观上就是小数的确应该是2.03/2的值是1x是double类型x+3/2自动转型为double类型所以是小数.再问:Ŷ
因为3和2都是int型的,所以认为3/2的结果也是int的,舍弃后面的尾数,仅留下整数位的1.然后加上double型的x,复制给double型的y所以是2.0
double是双精度浮点数,变量的存储空间要比float占用的多,浮点数表示的精度要更准确.
y=x+3/2=1.0+1=2.0=2.0000002.0或者2.000000都是一样的再问:为什么不是1.0+1.5再答:先计算3/2,3和2都是整型,这个算出来的值就是1,如果是3.0/2或者3/
c.2.0;因为,double是双精度的浮点型,但3/2=1,除非是3.0/2或者(double)3/2都=1.5,所以结果为2.0这种题型要自己上级多实践才能发现其中的奥妙,才能有很深的体会.
c.2.0;因为,double是双精度的浮点型,但3/2=1,除非是3.0/2或者(x的值为1.03/2等于1但要转换为1.0C因为x和y是实型
因为虽然x是1.00000000但是3和2都是整形啊,做除法的时候发生了截断哦,所以3/2不是1.5,而是1.所以y=2.0000000你这么写就对了3.0/2补充:2.0也是对的啊,没错.如果你在输
3/2向0取整.是1y=1+1类型自动转化.所以y为2.0
2.000000000再答:速度真快
两个整数相除取整数.y=x+3/2=1+1=2
x=1.0y=2.5
第一个为X[0]第二个为X[1].第十五个为X[14]
这涉及到C语言的一些规定第一就是自动向上转换:也就是说占用空间少的类型和占用空间多的类型运算,运算结果转换为占用空间多的类型(这是为了防止运算结果放在少空间发生溢出)int占用4个字节double占用
#includevoidmain(){doubleg,f;f=1;g=f+5/4;printf("%lf",g);}#includevoidmain(){doublex,y;x=1;y=x+3/2;p
有lf的选项就可以选~注意不是1,而是英文的"l"
constdoublePI=3.14159;//或者用宏定义PI,#definePI3.14159doubleX=PI;
两个整数相除是整数,3/4=0;所以y=x=1.0;因为y是double型变量,所以,当然,这种表示不是惟一,如y=1.000000
如果不是double是int的话x和y运算结果将是int类型的小数点会被省去会导致计算不准确
y=1+3/2=2;再问:不是先乘除后加减吗?再答:是啊,3/2=1;(int值)1+1=2;