表达式8 4*(int)2.5 (int)
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/09 00:34:30
首先说一下基本优先级1)括号永远优先级最高2)无括号的默认优先级*/运算优先级最高%运算优先级次高+-运算优先级最低然后来看算式:a+(int)(b/3*(int)(a+c)/2)%4=2.5+(in
0,优先级()最高,其次++,再*/%++a%3*(int)(x+y)%2/48%3*7%2/42*7%2/414%2/40/40
B-20,int是舍去小数,直接砍掉再问:为什么我看答案是A.-21???就是不理解才来问的再答:你这是C语言的题?如果是,那答案是B;如果是数学题的话,那就是A。。。数学上int表示取不超过此数的最
-36,INT()是对数字的截获,对于小数去掉.是C++里的.无论是负还是正.从二进制来说:10000000011.11这是一个负数,000000011.11这里一个正数.位数不一定是这么多,但INT
a+(int)(b/3*(int)(a+c)/2)%4=2.5+(int)(2*(int)7.2/2)%4=2.5+(int)(2*7/2)%4=2.5+(int)7%4=2+7%4=2+3=5再问:
解a+b=3为单精度的3/2=1.5隐式类型转换3%2=1最终结果1.5+1=2.5O(∩_∩)O~
(int)x和(int)y分别对x和y取整,就直接去掉小数点及其后边的数所以它们运算后结果分别为2和42%4就是2除以4取它的余数,结果为2加号前边先算a+b结果是-1把-1强制转成float类型变成
a%3*(int)(x+y)%2/4,这是从左到右执行,但先执行(int)x+y=7,则a%3*(int)(x+y)%2/4=a%3*7%2/4;然后依次从左到右执行,a%3=1,1*7=7,7%2=
a+b=5(float)55.05.0/22.5(int)x3(int)y2%取余1最后+2.5+1=3.5
计算过程:a+b=5(float)55.05.0/22.5(int)x3(int)y2%取余1最后+2.5+1=3.5希望能解决您的问题.
a+(int)(b/3*(int)(a+c)/2)%4=2.5+(int)(2*(int)7.2/2)%4=2.5+(int)(2*7/2)%4=2.5+(int)7%4=2+7%4=2+3=5
B结果一定是1因为1
%是取余,/是取整7%3=1;7/3=2;
一共出现这么几个操作符:(),+,*,%,/,()优先级顺序依次为:(分块),(强制类型转换),*,+,/,%,其中/和%优先级相同所以运算的顺序应该是:1.执行分块(x+y)=2.5+4.7=7.2
尊敬的楼主,这是个C++问题,它不能简单理解为a在1和5之间,电脑和人的思维不同你可以,它要分开解,你知道真命题为1,假命题为0,它要重左往右算,不管什么数,要么大于等于1,要么小于1,者跟据上面可知
计算过程:a+b=5(float)55.05.0/22.5(int)x3(int)y2%取余1最后+2.5+1=3.5
答案是d正确的表达式为a>=1&&a再问:给力
答案是D在C语言里是不支持这种语法的.如果想要实现那个语句,可以用a>=1&&a