程序设计中,关于逻辑运算的一个问题.对于逻辑表达式“x and y or not z”,

问题描述:

程序设计中,关于逻辑运算的一个问题.对于逻辑表达式“x and y or not z”,
程序设计中,关于逻辑运算的一个问题.
对于逻辑表达式“x and y or not z”,and、or、not分别是逻辑与、或、非运算,优先级从高到低为not、and、or,and、or为左结合,not为右结合,若进行短路计算,则________.
A.x为真时,整个表达式的值即为真,不需要计算y和z的值
B.x为假时,整个表达式的值即为假,不需要计算y和z的值
C.x为真时,根据y的值决定是否需要计算z的值
D.x为假时,根据y的值决定是否需要计算z的值
书上给的答案是C.疑惑是这样的,不是说not的优先级最高吗?是不是应该先计算最右边的!z吗.然后C为么还说根据x再根据y然后决定是否再计算Z呢.不是应该先算!

你的理解没有错,从运算顺序来讲,确实是应该先算not z,但是这不影响答案C的表述.运算顺序是:1.not z 2.x and y3.(x and y) or ( not z)而答案C的意思是:当X为真的时候,如果Y也为真,那第1步和第三步完全不用算,因为...