C 教材:||&& 算子

|| 是 OR 邏輯運算,而 && 是 AND 邏輯運算。 || 的優先度是 3,&& 的優先度是 4。 它們都是左傾。所以,以下兩個語句相同:

A || B && C || D && E   和   (A || (B && C)) || (D && E)

更有意義的是,凡是用 AND 和 OR 組成的邏輯語句, 只會做到可以決定 True 或 False 的程度就停下來,不再做下去。例如

c == ' ' || c == '\t' || c == '\n'
只要 c == ' ' 是 TRUE,整個語句必定是 TRUE, 後面的 || 運算都不會執行。 但是,如果 c == ' ' 是 FALSE,整個語句卻未必是 FALSE, 所以會去執行 c == '\t',如果這一句是 TRUE,整個語句是 TRUE, 也就不必繼續了。否則再執行下一句。

同理,若有

A && B && C
的情形,若 A 是 FALSE,整個語句必定是 FALSE, 就不必去執行 BC。 但是如果 A 是 TRUE,整個語句還未確定, 因此必須執行 B

習題

  1. 請寫出 x < 0 或 1 < x < 2 的邏輯語句。
[BCC16-C]
單維彰 (2000/03/30) ---
[Prev] [Next] [Up]