c语言。若已定义x和y为double类型,则表达式“x

2021-03-11 08:57:36 字数 971 阅读 3213

1楼:嘘

c语言。若已定复义x和y为double类型,制则表达式“x=1,y=x+3/2”的值

是2.0。

解释:这是一个逗号表达式,它的值应为表达式式y=3/2的值,而前一个表达式已给x赋值1,在没有进行类型转换的情况下,3/2的值为1,所以x+3/2的值应为2.0。

逗号表达式的要领:

1、从左到右逐个计算;

2、逗号表达式作为一个整体,它的值为最后一个表达式的值;

3、逗号表达式的优先级别在所有运算符中最低。

注意:1、逗号表达式只有一个返回值。

2、逗号表达式的最大作用是:用在语法上只能一个表达式,但是逻辑上需要多个表达式的地方

2楼:唐寒夜

答案选d。

double、float都是copy浮点型。double(双精度型)比float(单精度型)存的数据更准确些,占的空间也更大。所以选d。

在32位的系统上,short占据的内存大小是2 个byte;int占据的内存大小是4个byte;long占据的内存大小是4个byte;float占据的内存大小是4个byte;double占据的内存大小是8个byte;char占据的内存大小是1个byte。

3楼:云端之韵

因为3和2都是int型的,所以认为3/2的结果也是int的,舍弃后面的尾数,仅留下整数位的1.然后加上double型的x,复制给double型的y所以是2.0

4楼:暖宝宝丶吹

1.x=1,,1是int类型,赋值给double的x的时候自动提升为double类型, 所以x=1.0(注意1.0是专double类型的属)。

2.3/2的结果是int的1,然后double的 x加上int的1,先会吧int的1提升为double的1.0,然后x+1.

0=2.0(2.0为double类型的)。

满意请采纳。