若已定义x和y为float类型,则表达式:x=1,y=x+3/2

题目

若已定义x和y为float类型,则表达式:x=1,y=x+3/2的值是()。

  • A、1
  • B、3
  • C、2.5
  • D、2.0
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有以下类型说明语句: char w;int x;float y, z; 则表达式w*x+z-y的结果为______类型。

A.float

B.char

C.int

D.double


正确答案:A
解析:在进行运算时,不同类型的数据参加运算;需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低到高为:char,shor→int→unsigned→long→double←float,故结果为float型。

第2题:

若变量x、Y已正确定义并赋值,以下符合C语言语法的表达式是( )。A.++x,y=x-B.x+1=ySXB

若变量x、Y已正确定义并赋值,以下符合C语言语法的表达式是( )。

A.++x,y=x-

B.x+1=y

C.x=x+10=x+y

D.double(x/10)


正确答案:A
赋值表达式左边必须是一个变量,而选项B)、c)中赋值号左边都是表达式,选项D)进行强制类型转换时,应写为(double)x/10。

第3题:

假定x和y为double型,则表达式x=2,y=x+3/2的值是

A.3.500000

B.3

C.2.000000

D.3.000000


正确答案:D

第4题:

若x,y,z均被定义为整数,则下列表达式能正确表达代数式1/(x*y*z)的是()。

A.1/x*y*z

B.1.0/(x*y*z)

C.1/(x*y*z)

D.1/x/y/(float)z


正确答案:B

第5题:

若int x=1,y=2;则计算表达式y =y-=x*=y后的y值是_________。


正确答案:
0【解析】对表达式从右向左进行计算x =y得x=2,则Y =y.=2,右边即y一.2得y=0,则y =0得y=0。

第6题:

若有定义语句:int x=3,y=2,z=1;则表达式x <y?x:y的值是______。


正确答案:2
2

第7题:

若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()。

A.2.5

B.2

C.1

D.2.0


正确答案:D

第8题:

若x,y,z均被定义为整数,则下列表达式终能正确表达代数式1/(x*y*z)的是()

A、1/x*y*z

B、1.0/(x*y*z)

C、1/(x*y*z)

D、1/x/y/(floAt)z


参考答案:B

第9题:

假定x和y为double型,则表达式x=2,y=x+3/2的值是A.3.500000 B.3 C.2.000000 D.3.000000


正确答案:D
本题考查C语言中变量类型的转换。
C语言中若参与运算的变量的数据类型不同,则先转换成同一类型,然后进行运算。转换数据始终往长度增加的方向进行,以确保精确度,如int和long运算,则将int转换为long再运算,所有的浮点运算都是以双精度(double)进行的。
题目中x、y都为double型数据,而表达式3/2为两个整型变量之间的计算,计算结果只保留整数部分,小数部分省略掉。3/2的结果为1。后面变为计算y=x+1,这时都需要变为double型数据,结果为3.000000。

第10题:

如已定义X和Y为double类型,则表达式X=1,y=x+5/2的值是( )。A.2B.3.0C.3SXB

如已定义X和Y为double类型,则表达式X=1,y=x+5/2的值是( )。

A.2

B.3.0

C.3

D.3.5


正确答案:B
题目中定义变量x和y为双精度double类型,根据给定算数表达式的优先级应先计算5/2,结果为2,将值代入后,由x和y的数据类型得出y为3.0。整个逗号表达式的值为后面y=x+5/2的值,所以选择B)。