mtwm.net
当前位置:首页 >> 跪求:若有定义:int x=3,y=2;FloAt A=2.5,B=3.5;则表达式(x+y)%2+... >>

跪求:若有定义:int x=3,y=2;FloAt A=2.5,B=3.5;则表达式(x+y)%2+...

int x=3,y=2;float a=2.5,b=3.5;(x+y)%2+(int)a/(int)b1.计算x+y=3+2=5;2.(x+y)%2表示除以2的余数.5/2=2余13.(int)a/(int)b;强制转换a=2,b=3;a/b=2/3=0 所以结果是1+0=1;注意:1.float型转换为int型,只取整数部分不产生四舍五入等效果.如float型3.82转换为int结果就是32.两个int型相除,结果也为int型,也是取整数部分.如2/3=0.666取整数部分结果就是0

(x+y)%2+(int)a/(int)b=(3+2)%2+(int)2.5/(int)3.5=5%2+2/3=1+0=1

(x+y)%2+(int)a/(int)b 其实就是(3+2)%2+(int)2.5/(int)3.5 首先执行括号里面的内容,得到表达式:5%2+(int)2.5/(int)3.5 小数强制转换成整数,只会得到整数部分!所以得到表达式:5%2+(int)2/3"%"是取余的意思,所以5%2得到的余数是1 2/3是一个小于1的小数,转化成整数之后就是0,于是得到表达式:1+0 所以最后的结果就是1

结果等于 1 .如下:(x+y)%2+(int)a/(int)b等于:(2+3)%2+2/3等于5%2+2/3等于1+2/3等于1+0等于1

怎么看不见表达式

1 2

3.5 (float)(a+b)/2+(int)x%(int)y= (float)(2+3)/2+(int)3.5%(int)2.5= (float)(5)/2+3%2= 5.0/2 + 1= 2.5 +1 = 3.5

答案是1吧!(3+2)%2结果是1,int(a)/int(b)把浮点型转换成整型.2/3=0.5,由于是整型,所以,小数位省略.所以,就是0啦!1+0=1.已经够清楚了.

float)(a+b)/2+(int)x%(int)y=5.0/2+3%2=2.5+1=3.5

答案应该选B 表达式前半部分a+b完成后转化成浮点数,所以结果为2.5,后半部分为取整后取模,结果为1

相关文档
5689.net | ltww.net | pznk.net | bnds.net | zxwg.net | 网站首页 | 网站地图
All rights reserved Powered by www.mtwm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com