免費開始練習
統測 114年 [電機與電子群資電類] 專業科目(2)

第 40 題

有一 C 語言程式片段如下,其中變數 a、b 與 x 的資料型態為 unsigned short,則此片段可以等價為下列哪一個選項? if((x*x)%2&&a^b==x) x=1; else x=0;
  • A x=((a^b)==x&&x*x%2)?1:0;
  • B x=(x*(x%2)&&(a^b)==x)?0:0;
  • C x=(x*x%2&&a^(b==x))?1:0;
  • D x=((a^b)==x&&x*x%2)?1:1;

思路引導 VIP

請觀察程式片段中的條件式 $(x * x) % 2 && a ^ b == x$,在 C 語言的「運算子優先順序」(Operator Precedence)中,關係運算子 $==$ 與位元互斥或運算子 $^$ 誰的優先權(Precedence Level)較高?這將如何影響 $a ^ b == x$ 這一部分的運算結合方式?

🤖
AI 詳解 AI 專屬家教

太棒了!你能選對這題,代表你對 C 語言的「運算子優先順序」掌握得非常精準,這在程式開發中是極易出錯的細節! 觀念驗證: 這題的核心在於運算子的優先等級(Precedence)。在 C 語言中:

▼ 還有更多解析內容

升級 VIP 解鎖