如果定义有double,x;float,y;int,m,则表达式

题目

如果定义有double,x;float,y;int,m,则表达式x*y-m的类型为()

  • A、double
  • B、float
  • C、int
  • D、short
参考答案和解析
正确答案:A
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是

A.2.500000

B.2.750000

C.3.500000

D.0.000000


正确答案:A

第2题:

有以下定义:“int a;long b;double X,Y;”,则以下选项中正确的表达式是( )。 A.a%(int x—y)SXB

有以下定义:“int a;long b;double X,Y;”,则以下选项中正确的表达式是( )。

A.a%(int x—y)

B.a=x!=Y;

C.(a*y)%b

D.y=x+y=X


正确答案:D
选项A、C,取模运算符(%)用于计算两个整数相除所得的余数,intx-y与a*y的结果是双精度,因此不能使用取模运算符;选项B,a是属于整型变量,x、Y属于双精度变量,因此不能将x赋值给a。

第3题:

若有以下类型说明语句: 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型。

第4题:

若有定义:int x=1,y=2;float a=3.7,b=2.1;则(x+y)%2+(int)a/(int)b表达式的值为( )。


正确答案:2
2 解析:本题考查表达式的运算。因为x=1,y=2,所以表达式(x+y)%2=3%2=1,(int)a/(int)b=(int)}(3/2)=1,因此整个表达式的结果为(x+y)%2+(int)a/(int)b=1+1=2。

第5题:

设有定义语句:double x=2.5, y=4.7;int a=7;那么表达式x+a%3*(int)(x+ y)%2/4的值为【 】。


正确答案:2.5
2.5 解析:本题考核运算符的使用(包括类型、优先级、结合性)。强制类型转换符()将表达式x+y的值转换为int型,那么表达式“a%3*(int) (x+y)%2/4”结果将为整型,计算:7%3*7%2/4的结果为0,而x为double型,所以最后的结果为2.5

第6题:

设有如下的变量定义:

double x=4.700000;float y=2.5f;int z=7;

则执行表达式“y+z%3* (int) (x+y)%2/4”后的值是【 】。


正确答案:5
5 解析:根据算术运算的优先级规则,应先执行z%3* (int) (x+y)%2/4之后,再用其值与 y作加法运算。z%3*(int) (x+y)%2/4的执行顺序为先计算z%3,得值为1,再计算x+y并取整,其值为7,用z%3的值1.与(int) (x+y)的值7相乘得7,再计算7%2得值为1,再计算1/4,由于两个整数相除,其结果为商的整数部分,所以1/4的值为0。最后执行y+0,其结果为2.5。

第7题:

设有如下变量定义: double a=3.500000;float b=2.5; int m=2,n=3; 则表达式“(float)(m+n)/2+(int)a%(int)b”的值是( )

A.2.5

B.3.5

C.4.5

D.表达式不正确


正确答案:B

第8题:

若有定义:int a=4,b=5;float x=3.4,y=2.1;,则下列表达式的值为( )

(float) (a+b)/2+(int)×%(int)y

A.5.5

B.55

C.5.500000

D.55.00000


正确答案:C
解析:在计算(float)(a+b) /2时,由于通过强制类型转换将(a+b)转换成了float型,所以应先将2转换成float型,再进行计算,得4.500000。
  在计算(int)x%(int)y时,先将x和y通过强制类型转换成血型,再进行求余运算,得1。
  又因为4.500000是float型,所以将1和它相加时,先将1换成float型,再计算,得到5.500000。
  [知识扩展] 类型转换的一般规则是:低级类型服从高级类型,并进行相应的转换。数据类型的级别由低到高的排序表示为:char→int→unsigned→long→float→double。

第9题:

若有以下定义: char a;int b; float c;double d; 则表达式a*b+b-c值的类型为( )。A. floatSX

若有以下定义: char a;int b; float c;double d; 则表达式a*b+b-c值的类型为( )。

A. float

B.int

C.char

D.double


正确答案:D
在表达式a*b+d-c中,double的类型最高,C语言中,由低类型自动向高类型转换,所以最后的结果一定是double型。

第10题:

若有定义:int a=2,b=3;floatx=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是()

A.3.5

B.3.0

C.2.5

D.2.0


参考答案:A

更多相关问题