5

只有当布尔表达式 、 和 都是 时,以下哪项的计算A结果BCfalse

答: !(A || B || C)
我的回答: !(A && B && C)

为什么我的答案不正确?如果A, Band Care allfalse并且 the!是分布式的,它将使它们全部成为true,从而返回true


鉴于a,bc是整数,请考虑布尔表达式

(a < b) || !((c == a * b) && (c < a))

以下哪项可以保证表达式是true

答案: c < afalse

结果(c == a * b)false也是因为存在&&吗?

4

5 回答 5

2
  1. 关键字:只有. A如果,BCis中的至少一个true!(A || B || C)则将是false(因为A || B || Cwill betrue! trueis false)。

  2. 结果不是(c == a * b)也因为&&?

    否:如果c < ais false,则(c == a * b) && (c < a) must also be false,意味着表达式! ((c == a * b) && (c < a))必须是true,暗示整个表达式必须是true(因为||,而且我们已经知道右手边会是true)。

于 2013-03-08T02:03:04.693 回答
0

因为如果有任何为假,您的表达式将评估为真。它们不一定都是假的才能评估为真,这就是问题所要求的。

于 2013-03-08T02:01:45.410 回答
0

关键词“仅当”,在您的回答中,AB 和 C 的其他组合为假,而某些为真也将产生真。虽然如果它们都是假的,它也会产生真,但是它说只有当

于 2013-03-08T02:01:55.600 回答
0

这是因为!在第一个。你是对的,通常会发生这种情况。数字电子产品也是如此。要得到答案,您必须使用 or,因为除非它们都相同,否则它将是正确的。这很奇怪,但它有效

于 2013-03-08T02:02:37.647 回答
0

否定运算符的分布方式并非您认为的那样——请参阅德摩根定律。首先计算括号。

我建议建立一个表达式的真值表来验证它的正确性。

于 2013-03-08T02:11:22.790 回答