我如何解决这个逻辑操作员问题

How do I solve this logical operator problem?

本文关键字:操作员 问题 何解决 解决      更新时间:2023-10-16

我的教授给了我们C CLA的逻辑操作员工作表,我对这个问题感到困惑。如果x = -2,y = 5,z = 0和t = -4,则每个逻辑表达式的值是多少?

3 * y / 4 < 8 && y >= 4

插入所有内容后,我会卡在此步骤中。3&lt;8&amp;&amp;5

我知道在左侧3 * 5 = 15,而15/4 = 3。现在,另一侧是我被卡住的地方。我知道5是正确的,因为它大于或等于4。5.任何人可以帮忙吗?

您可以通过遵循操作员的优先顺序及其关联性来将括号围绕在表达式中的各种子表达式中。

3 * y / 4 < 8 && y >= 4

(3 * y) / 4 < 8 && y >= 4

((3 * y) / 4) < 8 && y >= 4

(((3 * y) / 4) < 8) && y >= 4

(((3 * y) / 4) < 8) && (y >= 4)

应该为您提供表达式应评估的明确指南。

这似乎是操作员优先级的练习。考虑到优先级时,语句3 * y / 4 < 8 && y >= 4等于

(((3 * y) / 4) < 8) && (y >= 4)

代替变量,我们有

(((3 * 5) / 4) < 8 && (5 >= 4)

完成数学后,我们最终得到了

(3 < 8) && (5 >= 4)

3确实小于8,而5确实大于或等于4,因此布尔 and的两侧都是真实的,并且整个表达式被评估为true。