Examly題庫立即開始練習
國中教甄|資訊科技資訊科技114 年第 50 題單選題

以下C程式碼的輸出結果為何? #include <stdio.h> int main() { int x=16,y=2; int z=(x>>1)|(y<<1); printf("%d\n", z); return 0; }

A13
B10
C8
D12正確答案
答案與詳解
D
正確答案
將數值轉換為二進位後,分別進行右移與左移位元運算,再透過位元 OR 運算得出結果 12。

逐選項解析

A13✕ 錯誤
計算過程發生錯誤,可能誤將位元 OR 運算當作一般加法並加上其他數值,或二進位轉換錯誤。
B10✕ 易錯陷阱
僅計算 x 右移 1 位得到 8,而 y 未進行左移運算直接相加(8+2=10),屬於忽略部分運算子的陷阱。
C8✕ 易錯陷阱
D12✓ 正確

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本

資訊科技 相關題目

想練更多資訊科技考古題?

Examly 收錄 50 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Examly