C语言编程题目
2个回答
展开全部
首先要知道||和&&符号的区别
这两个都是逻辑运算符,
||
逻辑或,是个双目运算符,只要两边有一个值为真那么这个运算结果就为真
&&逻辑于,同样是个双目运算符,不同的是只有在符号两边的值都为真时这个运算结果才为真
!逻辑非,也就是说,如果一个值为真时,用逻辑非,那么这个值就变成了假
还有系统在判别真假时是用1个0来判断的,如果一个值或等式,其值为0,那么系统就认为是假,如果不是0而是任意整数那么系统就认为这个值或等式的值为真
好了了解了概念现在我们来计算这两个题
1、a||b+c&&b-c
因为a为真(a等于3,是非0整数)b+c也为真,所以a||b+c为真
b-c结果为1也为真,既然&&符号两边的式子都为真那么a||b+c&&b-c的值自然就是真的那么值也就是1了
2、!(a+b)+c-1&&b+c/2
!(a+b)本来a+b的值为真但是!运算以后就为假(其值为0)了但是+c-1后重新判断值,此时!(a+b)+c-1的值为0+5-1结果为4,自然为真,同样,另一面的b+c/2的值也为真,因为&&符号两边的值都为真,那么整个!(a+b)+c-1&&b+c/2的值自然也为真,也就是1了
这两个都是逻辑运算符,
||
逻辑或,是个双目运算符,只要两边有一个值为真那么这个运算结果就为真
&&逻辑于,同样是个双目运算符,不同的是只有在符号两边的值都为真时这个运算结果才为真
!逻辑非,也就是说,如果一个值为真时,用逻辑非,那么这个值就变成了假
还有系统在判别真假时是用1个0来判断的,如果一个值或等式,其值为0,那么系统就认为是假,如果不是0而是任意整数那么系统就认为这个值或等式的值为真
好了了解了概念现在我们来计算这两个题
1、a||b+c&&b-c
因为a为真(a等于3,是非0整数)b+c也为真,所以a||b+c为真
b-c结果为1也为真,既然&&符号两边的式子都为真那么a||b+c&&b-c的值自然就是真的那么值也就是1了
2、!(a+b)+c-1&&b+c/2
!(a+b)本来a+b的值为真但是!运算以后就为假(其值为0)了但是+c-1后重新判断值,此时!(a+b)+c-1的值为0+5-1结果为4,自然为真,同样,另一面的b+c/2的值也为真,因为&&符号两边的值都为真,那么整个!(a+b)+c-1&&b+c/2的值自然也为真,也就是1了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是给出了运算顺序之后的,
a||((b+c)&&(b-c)) 因为a=3!=0为真,而且是个“非”所以不用看后面的了,整个式子的值为真,也就1。
((!(a+b))+c-1)&&(b+c/2)
“与”前面和后面的值都为真,整个式子的值为真,既1。
你要清楚运算符的优先级,由高到低是:
非!------算术运算符------关系运算符------与&&------或||------赋值运算符
a||((b+c)&&(b-c)) 因为a=3!=0为真,而且是个“非”所以不用看后面的了,整个式子的值为真,也就1。
((!(a+b))+c-1)&&(b+c/2)
“与”前面和后面的值都为真,整个式子的值为真,既1。
你要清楚运算符的优先级,由高到低是:
非!------算术运算符------关系运算符------与&&------或||------赋值运算符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询