LONGEPASS
數位電子/程式語言/Q30
簡單
正確率 -
Q30.

表示條件:10<x<100 或x<0 的C 語言表達式,下列何者正確?

數位電子 · 乙級 · 程式語言 · Q30

難易度分析

2 / 5

此題考查 C 語言中邏輯運算子的正確語法結構,特別是區間判斷必須使用邏輯 AND 運算子進行拆解,而非直接套用數學符號,並需正確運用邏輯 OR 來組合多個不連續的條件範圍。

正確答案:①x>10&&x<100||x<0

① x>10&&x<100||x<0:使用 邏輯 AND 運算子 (&&) 連接 `x>10` 與 `x<100` 正確表達區間條件,再以 邏輯 OR 運算子 (||) 連接 `x<0`,符合 C 語言的邏輯運算規則,運算子優先順序 && 高於 ||,無需額外括號即可正確求值。

錯誤選項解析

  • ② 10<x<100||x<0:C 語言中 `10<x<100` 會由左至右結合為 `(10<x)<100`,`10<x` 的結果為 布林值 0 或 1,再與 100 比較恆為真,無法正確表達數學區間條件,此為常見語法陷阱。
  • ③ 10<x,x<100||x<0:逗號運算子 (,) 在 C 語言中會依序求值但僅回傳最後一個表達式的結果,不具備邏輯 AND 的功能,此處使用逗號無法正確連接兩個條件判斷式。
  • ④ x>10||x<100||x<0:全部使用 邏輯 OR (||) 連接會導致條件恆為真,因為任意數值必定滿足 `x>10` 或 `x<100` 其中之一,無法正確篩選出 10 到 100 之間的數值範圍。
Learning Tip

"邏輯運算子 && 與 || 的優先順序 是此類題型的核心考點,&& 優先於 || 執行。切記數學寫法 `a<x<b` 在 C 語言中不成立,必須拆成 `x>a && x<b`。另外需留意 短路求值 (Short-circuit evaluation) 特性:&& 遇假即停、|| 遇真即停,實務上可利用此特性避免空指標存取等錯誤。"

學員答題分佈

①x>10&&x<100||x<00%
②10<x<100||x<00%
③10<x,x<100||x<00%
④x>10||x<100||x<00%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目