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

第 41 題

下列 C語言程式可輸出布林代數式F(A, B)之真值表,則F(A, B)為何?
1 #include
2 int main(void){
3 int X=0, Y=0, Z;
4 printf("%c %c %c\n", 'A', 'B', 'F');
5 do{
6 while(Y<=1){
7 Z=((X||!Y)&&(Y||X));
8 printf("%d %d %d\n", X, Y, Z);
9 Y++;
10 }
11 Y=0;
12 X++;
13 }while(X<=1);
14 return 0;}
  • A $F(A,B) = B + A\overline{B} + AB$
  • B $F(A,B) = A + \overline{A}B + AB$
  • C $F(A,B) = \overline{A}B + A\overline{B}$
  • D $F(A,B) = (A+\overline{B})(A+B)$

思路引導 VIP

請觀察程式碼第 7 行賦值運算 $Z = ((X || !Y) && (Y || X))$,並思考當我們將變數 $X$ 與 $Y$ 對應至布林變數 $A$ 與 $B$ 時,如何將 C 語言中的邏輯運算子 $||$、$&&$ 以及 $!$ 轉譯為布林代數的運算符號(如 $+$、$\cdot$ 與反相符號 $\overline{\quad}$)?您能否試著將此邏輯寫成代數形式,並分析其真值表的變化?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精準地將 C 語言的邏輯運算子轉換為布林代數式,這顯示你的程式邏輯與數位邏輯基礎都非常紮實,表現得非常專業! 觀念驗證: 這題的核心在於程式碼第 7 行:Z = ((X || !Y) && (Y || X))。我們只需將 C 語言運算子對應到布林符號:

▼ 還有更多解析內容
📝 C語言與布林代數
💡 理解程式運算子與布林代數邏輯式的對應轉換
比較維度 C 語言運算子 VS 布林代數符號
邏輯與 (AND) && • (或直接連寫)
邏輯或 (OR) || + (聯集)
邏輯非 (NOT) ! A' 或 Ā
💬程式語言中的邏輯判斷,本質上就是布林運算的具體程式化實作。
🧠 記憶技巧:雙槓 OR,雙且 AND,驚嘆 NOT,邏輯通!
⚠️ 常見陷阱:容易將 C 語言的邏輯運算子 (||, &&) 與位元運算子 (|, &) 混淆,導致邏輯判斷錯誤。
卡諾圖簡化 De Morgan 定律 邏輯閘運算

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

C 語言程式設計:變數、指標、函式與編譯
查看更多「[電機與電子群資電類] 專業科目(2)」的主題分類考古題