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

第 41 題

下列 C語言程式可輸出布林代數式F(A, B)之真值表,則F(A, B)為何?
#include
int main(void){
int X=0, Y=0, Z;
printf("%c %c %c\n", 'A', 'B', 'F');
do{
while(Y<=1){
Z=((X||!Y)&&(Y||X));
printf("%d %d %d\n", X, Y, Z);
Y++;
}
Y=0;
X++;
}while(X<=1);
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 解鎖記憶小卡

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

🏷️ 相關主題

程式語言設計與實作
查看更多「[電機與電子群資電類] 專業科目(2)」的主題分類考古題