对于逻辑表达式“x and y or not z”,and、or、not分别是逻辑与、或、非运算,优先级从高到低为not、and、or,and、or为左结合,not为右结合,若进行短路计算,则()。

【正确答案】 B
【答案解析】

本题考查程序语言基础知识。
对逻辑表达式可以进行短路计算,其依据是:a and b的含义是a和b同时为“真”,则a and b为“真”,因此,若a为“假”,贝抚论b的值为“真”或“假”,a and b必然为“假”;a or b的含义是a和b同时为“假”,则a or b为“假”,因此,若a为“真”,则无论b的值为“真”或“假”,a or b必然为“真”。
在优先级和结合性规定下,对逻辑表达式“x and y or not z”求值时,应先计算“x and y”的值,若为“假”,才去计算“z”的值。因此,若x的值为“假”,则“x and y”的值为“假”,需要计算“not z”来确定表达式的值而不管y是“真”是“假”。当x的值为“真”,则需要计算y的值:若y的值为“真”,则整个表达式的值为“真”(从而不需再计算“not z”);若y的值为“假”,则需要计算“not z”来确定表达式的值。