当前位置:编程学习 > C/C++ >>

求解答几个简单的C语言计算

1、x+a%3*(int)(x+y)%2/4; x=2.5,a=7,y=4.7结果为什么是2.5? 2、(float)(a+b)/2+(int)x%(int)y; a=2,b=3,x=3.5,y=2.5结果为什么是3.5? 下面a=3,b=4,c=5 a+b>c&&b= =c 结果为什么是0? a||b+c&&b-c 结果为什么是1?||这符号是什么用的忘了拜托说下、 ! (a>b)&&!c||1 结果为什么是1? !(x=a)&&(y=b)&&0 结果为什么是0? !(a+b)+c-1&&b+c/2 结果为什么是1? 拜托详细解释、麻烦了!
追问:可不可以详细解释一下
a%3=1   (int)(x+y)%2/4=0    所以  1*0=0  结果为x的值2.5
float(a+b)/2=2.5    (int)x%(int )y=1  所以结果为2.5+1=3.5
运算过程?(int)(x+y)%2/4=0  为什么等于0?
还有float(a+b)/2=2.5    (int)x%(int )y=1 这些得数怎么计算的、拜托解释了1*7%2运算是从左往右还是先进行求余运算?还有1/4=0、 0+2.5为什么也等于0?
(float)(a+b)/2+(int)x%(int)y;这个请详细解释
其他:1、a%3=1   (int)(x+y)%2/4=0    所以  1*0=0  结果为x的值2.5
2、float(a+b)/2=2.5    (int)x%(int )y=1  所以结果为2.5+1=3.5
至于下面的&& 需要两真结果才为真    ||只要一真则真 1、a%3=1 (int)(x+y)=7 1*7%2=1 1/4=0 0+2.5=0
2、因为用了显示类型转换,前面结果为2.5,后面是3%2=1,所以结果3.5

逻辑运算 不为0则为1
a+b>c为1 b==c为0 所以&&后为0
||是逻辑运算符,1 || 任意数为1,所以||前面为1 那么右边的就b不用看了 结果为1
同上||右边为1,则结果为1
&&两边只要存在0 则结果wei为0
!(a+b)+c-1 = 0+5-1=4 所以&&左边为1,右边4+5/2同样为1,所以结果为1 表示对楼主无能威力  干嘛不去看下书,这是基本知识啊。。。 

上一个:三)改错。 用递归算法求13+23+33+…+n3的值。
下一个:电脑被远程控制,求帮助, 知道这是违法行为,该如何处理,怎么截取证据.

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,