113 地方特考四等 電子工程 計算機概要 考古題詳解

113 年・地方特考・四等・電子工程
試題代碼 計算機概要

第 1 題2 分

一般而言,處理器利用下列哪一個元件,記錄下一個要抓取的指令的記憶體位址?

這一題的完整詳解

核心觀念

處理器在取指令時,需要知道下一個要讀取的指令位於哪個記憶體位址。負責保存這個位址的暫存器是程式計數器(Program Counter,PC)。一般情況下,處理器取出一條指令後,PC 會更新至下一條指令的位址;若執行跳躍或分支指令,PC 則會改為指定的目標位址。

解題方法

題目問的是「記錄下一個要抓取的指令的記憶體位址」的元件。辨認關鍵在於「下一個指令位址」:這正是程式計數器(PC)的功能,因此選 (B)。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 2 題2 分

為提高運算效能,超純量(superscalar)處理器通常採用亂序(out-of-order)及預測式執行(speculative execution)的方式執行指令。然而,當指令發生例外(exception)狀況或遇到中斷(interrupt)時,可能必須刪除某些已預先執行指令的結果,使處理器的狀態倒回某循序指令結束時的狀態,做到 precise interrupt。

下列超純量處理器中的微架構機制,何者是用於實現 precise interrupt 的必要機制?

這一題的完整詳解

核心觀念

本題考查超純量處理器如何在亂序執行及預測式執行下,仍維持精確例外(precise exception)或精確中斷(precise interrupt)。

處理器內部可讓多條指令同時執行,且指令完成的順序可能與程式順序不同。若發生例外或中斷,處理器必須能呈現一個一致的狀態:較早指令的結果已完成,較晚指令的結果尚未影響架構狀態。這需要依照程式順序提交指令,並能捨棄尚未提交的指令結果。

解題方法

辨認題幹中的關鍵要求:指令可能已亂序或預測式執行,但發生例外、中斷時,必須回到某個循序指令邊界的處理器狀態。能保存指令完成資訊、依程式順序提交結果,並在例外時清除較後指令結果的機制,是重排序緩衝器(reorder buffer, ROB)。

選項分析

  • (A) instruction dispatcher:錯誤。 指令派送器負責將解碼後的指令送往適當的執行單元或保留站,不負責依程式順序提交結果,也不負責回復例外狀態。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 3 題2 分

假設某一塊記憶體的大小為 32MB32\mathrm{MB}(Mega Byte),該記憶體的每個字組(word)大小為 88-Byte,則 CPU 至少要有多少條位址線,才足夠定址該記憶體的一個字組?

這一題的完整詳解

核心觀念

位址線數決定 CPU 可表示的不同位址數。若每個位址對應一個字組,nn 條位址線可定址 2n2^n 個字組,因此要先算出記憶體共有多少個字組,再找出足以涵蓋該數量的最小 nn。

本題依一般計算機概要慣例,1MB=220Byte1\mathrm{MB}=2^{20}\mathrm{Byte}。

解題方法

記憶體總容量為:

32MB=32×220Byte=225Byte32\mathrm{MB}=32\times 2^{20}\mathrm{Byte}=2^{25}\mathrm{Byte}

每個字組為 8Byte=23Byte8\mathrm{Byte}=2^3\mathrm{Byte},所以字組總數為:

225Byte23Byte/字組=222字組\frac{2^{25}\mathrm{Byte}}{2^3\mathrm{Byte/字組}} =2^{22}\mathrm{字組}

因此需要 2222^{22} 個不同位址,至少須有 2222 條位址線,因為 nn 條線可提供 2n2^n 個位址。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 4 題2 分

十進位數 183183 以二進位表示時,其數字為下列何者?

這一題的完整詳解

核心觀念

十進位轉二進位,可用「除以 2 取餘數」法:每次將商除以 22,記下餘數,直到商為 00。由於每個餘數代表一個二進位位元,將餘數由下往上排列,即為二進位表示。

解題方法

依序將 183183 除以 22,記錄各次餘數:

除法商餘數
183÷2183 \div 2919111
91÷291 \div 2454511
45÷245 \div 2222211
22÷222 \div 2111100
11÷211 \div 25511
5÷25 \div 22211
2÷22 \div 21100
1÷21 \div 20011

由下往上讀取餘數,得到 10110111210110111_2。

也可用位權驗算:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 5 題2 分

電腦 CPU 中的 ALU 單元,下列何者為主要功能?

這一題的完整詳解

核心觀念

CPU 的算術邏輯單元(ALU,Arithmetic Logic Unit)主要負責執行算術運算與邏輯運算,例如加減、比較、AND、OR 等。暫存器負責暫存資料;控制單元(CU,Control Unit)則負責解讀指令並協調各單元的作業。

解題方法

辨認 ALU 的名稱即可切入:其中的「算術邏輯」指出它處理的是運算。因此,詢問 ALU 的主要功能時,應選擇描述「執行運算」的選項。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 6 題2 分

假設你只有 11-to-44 解多工器(demultiplexer)的元件可以使用,則總共需要幾個 11-to-44 解多工器元件,才能組合成一個 11-to-6464 解多工器?

這一題的完整詳解

核心觀念

11-to-44 解多工器(demultiplexer,DEMUX)有 11 個資料輸入端與 22 個選擇端,可將輸入訊號導向 44 個輸出端之一。若要形成 11-to-6464 解多工器,可逐層擴充:每個元件的 44 個輸出端,都能接到下一層 44 個解多工器的輸入端。

解題方法

先由最末層往前推算所需元件數:

  • 最末層需要 6464 個輸出端,因此需要 64÷4=1664 \div 4=16 個解多工器。
  • 這 1616 個元件的輸入端由前一層供應;每個前一層元件可提供 44 路輸出,因此前一層需要 16÷4=416 \div 4=4 個。
  • 再往前一層,需要 4÷4=14 \div 4=1 個元件。

總數為:

16+4+1=2116+4+1=21
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 7 題2 分

將下列三進位數值 (210010)3(210010)_3 轉換為九進位,何者正確?

這一題的完整詳解

核心觀念

三進位每兩位可以直接合併成一位九進位,因為 9=329=3^2。因此,從三進位轉換成九進位時,從小數點往左每兩位分成一組,再逐組換算;不足兩位的最左組在前方補 00。

解題方法

將 (210010)3(210010)_3 從右往左每兩位分組:

(21  00  10)3(21\;00\;10)_3

各組換成九進位的一位數:

(21)3=2×3+1=7(21)_3=2\times3+1=7 (00)3=0,(10)3=1×3+0=3(00)_3=0,\qquad (10)_3=1\times3+0=3

依序排列,得到:

(210010)3=(703)9(210010)_3=(703)_9

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 8 題2 分

若作業系統沒有做好程序排程(process scheduling),使得某些程序 P1P1、P2P2、P3P3 不斷地獲得使用 CPU 的機會,但某一程序 P4P4 卻長時間無法使用 CPU,這種現象稱為:

這一題的完整詳解

核心觀念

本題考查作業系統的程序排程與「捱餓」(starvation)。捱餓是指某程序長時間無法取得所需資源或使用 CPU;即使其他程序持續獲得服務,該程序仍不斷等待。

解題方法

題幹指出 P1P1、P2P2、P3P3 不斷獲得 CPU 機會,而 P4P4 長時間無法使用 CPU。這表示排程不公平,使 P4P4 持續等待,符合捱餓的定義。

選項分析

  • (A) 捱餓(starvation)—正確。 某程序長期得不到 CPU 或其他資源,正是捱餓。
  • **(B) 死結(deadlock)—錯誤。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 9 題2 分

下列何者不是使用虛擬記憶體的主要好處?

這一題的完整詳解

核心觀念

虛擬記憶體(Virtual Memory)讓作業系統將程式使用的位址空間,對應到實際的主記憶體與輔助儲存裝置。程式不必一次全部載入主記憶體,只有目前需要的部分才會載入;若所需頁面不在主記憶體,就會發生缺頁,作業系統再從輔助儲存裝置將它載入。

因此,虛擬記憶體的主要好處包括:讓程式的位址空間不受實體記憶體容量直接限制、提高多工環境下可同時執行的程式數量,以及減少程式開始執行前必須載入的內容。虛擬記憶體的存取則可能因位址轉換與缺頁處理而增加時間。

解題方法

辨別選項描述的是「虛擬記憶體的管理效益」,還是「記憶體存取速度的提升」。虛擬記憶體藉由延後載入與頁面置換管理記憶體,並不會讓主記憶體本身變快;一旦缺頁,還需讀取速度較慢的輔助儲存裝置,存取延遲反而可能增加。

選項分析

  • (A) 程式不再受到實際記憶體之可用空間的限制:正確。 程式可使用比目前可用主記憶體更大的虛擬位址空間,作業系統再按需將程式頁面載入主記憶體。這不是表示實體記憶體完全不受限制;
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 10 題2 分

假設某一張彩色影像的解析度為 800×600800\times600,每個像素的顏色採用「索引顏色(indexed color)」(也可稱為「調色盤顏色(palette color)」)來編碼,假設使用的調色盤顏色設定為 3232 色,則編碼此張彩色影像需要多少位元?

這一題的完整詳解

核心觀念

索引顏色以每個像素儲存一個「調色盤索引」,而不是直接儲存 RGB 各色通道的數值。可表示的顏色數為 NN 時,每個像素所需位元數為:

⌈log⁡2N⌉\lceil \log_2 N \rceil

影像的總位元數則為「像素總數 × 每像素位元數」。

解題方法

調色盤有 3232 色,因此每個像素的索引需要:

log⁡232=5 bits\log_2 32 = 5\text{ bits}

影像共有:

800×600=480,000 pixels800 \times 600 = 480{,}000\text{ pixels}

所以影像像素資料所需位元數為:

480,000×5=2,400,000 bits480{,}000 \times 5 = 2{,}400{,}000\text{ bits}

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 11 題2 分

下列何種記憶體的處理速度最快?

這一題的完整詳解

核心觀念

本題考記憶體階層的存取速度。一般而言,記憶體越靠近處理器,存取速度越快,但容量通常越小、成本也越高。典型速度由快至慢為:

暫存器  >  快取記憶體  >  主記憶體(RAM)  >  輔助記憶體\text{暫存器} \;>\; \text{快取記憶體} \;>\; \text{主記憶體(RAM)} \;>\; \text{輔助記憶體}

暫存器(Register)位於處理器內部,用來暫存指令執行時所需的資料、位址或運算結果,供處理器快速存取。

解題方法

先辨認選項中的記憶體階層,再比較存取速度。暫存器直接供處理器運算使用,存取速度通常快於快取記憶體與 RAM,因此本題選暫存器。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 12 題2 分

某個關聯式資料庫中,原本已有二個關聯(relation)表 AA 和 BB,若想產生一個新的關聯表 CC,包含同時存在於關聯表 AA 和關聯表 BB 中的元組(tuples),則該使用下列哪一個關聯運算?

這一題的完整詳解

核心觀念

關聯代數的 交集(intersection) 會產生同時出現在兩個關聯中的元組。以集合表示,新關聯表 CC 為:

C=A∩BC=A\cap B

也就是只有同時存在於 AA 與 BB 的元組會列入 CC。

解題方法

題目要找的是「同時存在於關聯表 AA 和 BB 中」的元組,直接對照關聯運算的意義即可:兩個集合共有的元素稱為交集,因此應使用 intersection。

關聯代數中的交集通常要求兩個關聯相容,也就是欄位數相同,且對應欄位的資料型態相容。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 13 題2 分

下列何者是目前常見的資料庫管理軟體?

這一題的完整詳解

核心觀念

本題考查常見軟體的用途分類。資料庫管理系統(Database Management System,DBMS)用來建立、管理及查詢資料庫;MySQL 是常見的關聯式資料庫管理系統。

解題方法

辨認各選項的主要功能,找出專門用於資料庫管理的軟體。文書處理、簡報製作及社群通訊軟體都不屬於 DBMS。

選項分析

  • (A) Word:錯誤。 Microsoft Word 是文書處理軟體,主要用來編輯與排版文件。
  • **(B) PowerPoint:錯誤。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 14 題2 分

下列為 C 語言中宣告的一個陣列 a[10]a[10],何者為此陣列第一個元素的記憶體位置?

這一題的完整詳解

核心觀念

在 C 語言中,陣列名稱用在一般運算式時,會轉換為指向陣列第一個元素的指標。因此,對陣列 a[10] 而言,a 代表第一個元素 a[0] 的位址。

解題方法

a[10] 表示陣列有 10 個元素,索引從 0 開始,依序為 a[0] 至 a[9]。陣列名稱 a 在此處轉換成指向 a[0] 的指標,所以第一個元素的記憶體位置可寫成 a,也可寫成 &a[0]。

選項分析

  • (A) a[0]a[0]:錯誤。 $a[0]$ 是第一個元素的值,不是其記憶體位置;要取得其位址應寫成 &a[0]。
  • **(B) &a\&a:錯誤。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 15 題2 分

若在一個堆疊(Stack)中,依序推入(Push)55、88、2020、11、−5-5 和 2020 等數字,接著執行兩次彈出(Pop),則堆疊頂端的元素應為何者?

這一題的完整詳解

核心觀念

堆疊(Stack)採用「後進先出」(LIFO, Last In, First Out)原則:最後推入的元素位於堆疊頂端,執行 Pop 時先移除頂端元素。

解題方法

依序 Push 後,堆疊由底部到頂端為:

5, 8, 20, 1, −5, 205,\ 8,\ 20,\ 1,\ -5,\ 20

兩次 Pop 會先移除最上方的 2020,再移除 −5-5。此時堆疊由底部到頂端為:

5, 8, 20, 15,\ 8,\ 20,\ 1

因此,堆疊頂端元素是 11。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 16 題2 分

下圖中從節點 aa 至節點 hh 的最短路徑,其長度為何?

(原卷包含圖形,文字擷取未包含圖形內容。)

🖼️ 本題原卷含圖表。基於試題來源之版權考量,本站不轉載原卷影像; 題目文字已完整轉錄,圖表請自行參閱考選部公告之試題原檔。
這一題的完整詳解

核心觀念

本題考查加權無向圖的「單源最短路徑」問題。邊上的數字代表兩節點間的距離或成本,要求從節點 aa 到節點 hh 的最小總權重。

可使用 Dijkstra 演算法,或直接比較各條可行路徑的權重:

路徑長度=∑各邊權重\text{路徑長度}=\sum \text{各邊權重}

由於圖中的邊權重皆為正數,Dijkstra 演算法適用。

解題方法

從圖中可得一條重要路徑:

a→c→i→ha\rightarrow c\rightarrow i\rightarrow h

其長度為:

a→c:4,c→i:4,i→h:4a\rightarrow c:4,\qquad c\rightarrow i:4,\qquad i\rightarrow h:4

因此:

4+4+4=124+4+4=12

再比較其他主要路徑:

  • a→d→e→i→ha\rightarrow d\rightarrow e\rightarrow i\rightarrow h
3+3+4+4=143+3+4+4=14
  • a→d→e→f→ha\rightarrow d\rightarrow e\rightarrow f\rightarrow h
3+3+7+3=163+3+7+3=16
  • a→c→d→e→i→ha\rightarrow c\rightarrow d\rightarrow e\rightarrow i\rightarrow h
4+2+3+4+4=174+2+3+4+4=17
  • a→d→e→f→g→ha\rightarrow d\rightarrow e\rightarrow f\rightarrow g\rightarrow h
3+3+7+2+6=213+3+7+2+6=21
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 17 題2 分

有一棵二元樹之前序(Prefix)走訪結果為 BB、AA、DD、CC、EE、HH、FF、GG。若此二元樹根節點之右子樹的樹根為 EE,則此二元樹根節點之左子樹的節點個數為何?

這一題的完整詳解

核心觀念

二元樹的前序走訪順序為「根節點、左子樹、右子樹」。因此,前序序列會先列出根節點,再依序列出左子樹的所有節點,最後列出右子樹的所有節點。

解題方法

前序序列是 B、A、D、C、E、H、F、GB、A、D、C、E、H、F、G,所以根節點為 BB。題目已知根節點的右子樹樹根為 EE;在前序走訪中,右子樹樹根會是右子樹序列的第一個節點。

因此,EE 之前的節點可分成根節點 BB 與左子樹的節點:

B、A、D、CB、A、D、C

扣除根節點 BB,左子樹共有 A、D、CA、D、C 三個節點。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 18 題2 分

下列何種樹狀資料結構,不保證為平衡樹(Balanced tree)?

這一題的完整詳解

核心觀念

本題考樹的形狀限制,以及這些限制是否足以保證樹高平衡。平衡樹通常要求左右子樹高度差受限,或整棵樹的高度維持在 O(log⁡n)O(\log n);僅符合某種節點排列或子節點數量規則,不一定代表平衡。

解題方法

逐一檢查各選項的定義,並判斷該定義是否限制樹高:

  • 若節點必須按層填滿,樹高會隨節點數以對數速度增加。
  • 若只限制每個節點的子節點數量,或只要求符合搜尋次序,仍可能形成細長的樹。

選項分析

(A) 完整二元樹(Complete binary tree):錯誤。 完整二元樹除最後一層外,其餘各層都填滿;最後一層的節點由左至右排列。因此,樹高約為 log⁡2n\log_2 n,不會退化成單側鏈狀,符合平衡樹的高度特性。

(B) 完滿二元樹(Full binary tree):錯誤。 完滿二元樹要求每個節點都有 00 個或 22 個子節點,但不限制左右子樹高度差。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 19 題2 分

何者不是下圖的子圖(Subgraph)?

(原卷包含圖形及各選項圖示,文字擷取未包含完整圖形內容。)

🖼️ 本題原卷含圖表。基於試題來源之版權考量,本站不轉載原卷影像; 題目文字已完整轉錄,圖表請自行參閱考選部公告之試題原檔。
這一題的完整詳解

核心觀念

本題考「子圖(Subgraph)」的定義。

若圖 G=(V,E)G=(V,E) 的圖形 H=(VH,EH)H=(V_H,E_H) 是 GG 的子圖,必須符合:

VH⊆V,EH⊆EV_H\subseteq V,\qquad E_H\subseteq E

也就是說,子圖可以少掉原圖的頂點或邊,但不能增加原圖不存在的邊。

由題圖可讀出原圖的邊為:

E={(2,3),(3,4),(2,1),(2,4)}E=\{(2,3),(3,4),(2,1),(2,4)\}

解題方法

逐一檢查各選項中的每一條邊,是否都存在於原圖中。只要某選項含有原圖不存在的邊,就不是原圖的子圖。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 20 題2 分

若以廣度優先搜尋(Breadth-first Search)走訪下圖(從節點 11 開始),各節點的走訪順序應為何?(若同時有多個選擇,請優先挑選數字較大的節點。)

(原卷包含圖形,文字擷取未包含圖形內容。)

🖼️ 本題原卷含圖表。基於試題來源之版權考量,本站不轉載原卷影像; 題目文字已完整轉錄,圖表請自行參閱考選部公告之試題原檔。
這一題的完整詳解

核心觀念

廣度優先搜尋(Breadth-first Search, BFS)按照「距離起點的層級」逐層走訪:

  1. 先走訪起點。
  2. 將起點所有尚未走訪的相鄰節點加入佇列。
  3. 依佇列先進先出順序處理節點。
  4. 若同時有多個節點可選,依題意選擇數字較大的節點。

解題方法

由節點 11 開始,圖中節點 11 的相鄰節點為 2、3、42、3、4。依「數字較大者優先」,加入佇列的順序為:

4, 3, 24,\ 3,\ 2

目前走訪順序:

1, 4, 3, 21,\ 4,\ 3,\ 2

接著處理節點 44。節點 44 尚未走訪的相鄰節點為 5、65、6,依數字較大者優先,順序為:

6, 56,\ 5

因此完整的 BFS 走訪順序為:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 21 題2 分

下列 C 函式為實作何種排序法?

void sort(long list[], long n) { long c, d, t;

for (c = 0; c < (n - 1); c++)
{
    for (d = 0; d < n - c - 1; d++)
    {
        if (list[d] > list[d + 1])
        {
            t = list[d];
            list[d] = list[d + 1];
            list[d + 1] = t;
        }
    }
}

}

這一題的完整詳解

核心觀念

本題考辨認排序法的操作方式。**氣泡排序(Bubble sort)**會反覆比較相鄰的兩個元素;若順序錯誤,就交換位置。每一輪掃描後,較大的元素會逐步移到未排序區段的末端。

解題方法

內層迴圈逐一比較 list[d] 與 list[d + 1]:

if (list[d] > list[d + 1])

若左側元素較大,程式便交換兩者。內層迴圈每輪掃描未排序部分,範圍是 d = 0 到 n - c - 2;因此每輪結束時,該區段的最大值會被推到末端。外層迴圈逐輪縮小掃描範圍,直到完成排序。

例如,排序 [5, 2, 4]:

  • 第一輪:比較 5 與 2,交換成 [2, 5, 4];再比較 5 與 4,交換成 [2, 4, 5]。
  • 最大值 5 已到末端,後續只需處理前面的未排序部分。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 22 題2 分

關於利用循序搜尋法(Sequential Search)尋找串列資料的應用時機,下列敘述何者正確?

這一題的完整詳解

核心觀念

循序搜尋法(Sequential Search,也稱線性搜尋)是從串列的第一個元素開始,依序與目標值比較,直到找到目標或搜尋完所有元素。它不要求串列事先排序,適合資料量不大、搜尋次數不多,或資料未排序且不值得先花時間排序的情況。

若串列有 nn 個元素,循序搜尋的時間複雜度為 O(n)O(n);搜尋成功時,平均約需比較 n+12\frac{n+1}{2} 次,搜尋失敗時則需比較 nn 次。

解題方法

判斷各選項是否符合循序搜尋的使用情境:資料已排序、大量資料或頻繁搜尋,通常較適合考慮其他搜尋方式;資料未排序且只需搜尋少數幾次,循序搜尋便能直接逐一比對,免去排序的額外成本。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 23 題2 分

以 C 語言撰寫的程式片段如下,執行的結果為何?

int a = 8; a = a >> 2; printf("a=%d\n", a);

這一題的完整詳解

核心觀念

>> 是 C 語言的右移運算子。將整數右移 1 位,相當於除以 2 並去除餘數;右移 2 位則相當於除以 22=42^2=4。本題的 a 是正整數,因此可直接依此規則計算。

解題方法

初值為 a=8a=8。將 8 寫成二進位:

810=100028_{10}=1000_2

右移 2 位後,低位補 0:

10002>>2=00102=2101000_2 \mathbin{>>} 2 = 0010_2 = 2_{10}

因此,printf 會輸出:

a=2

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 24 題2 分

下列 C 指令的輸出為何?

short s = 32768 / 2; printf("%hd %hd", s << 1, s << 2);

這一題的完整詳解

核心觀念

本題考查 short 的範圍、整數提升(integer promotion)、位元左移,以及 printf 格式指定詞 %hd 的作用。

常見平台上,short 為 16 位元,範圍是 −32768-32768 至 3276732767。運算時,short 通常會先提升為 int;因此左移運算是在 int 型別上進行,不會先以 16 位元 short 的寬度截斷。

解題方法

先計算初始值:

32768/2=1638432768 / 2 = 16384

因此 s 的值為 1638416384。接著,s 在左移運算前提升為 int:

s≪1=16384×2=32768s \ll 1 = 16384 \times 2 = 32768 s≪2=16384×4=65536s \ll 2 = 16384 \times 4 = 65536

兩個左移結果都能以常見平台的 int 表示。printf 中的 %hd 會將對應引數轉換為 short 再輸出。若採用 16 位元二補數表示,超出 short 正範圍的值會呈現如下結果:

  • 3276832768 轉成 16 位元二補數的 short,數值為 −32768-32768。
  • 6553665536 轉成 16 位元二補數的 short,數值為 00。

所以輸出為:

-32768 0

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 25 題2 分

在程式語言的發展過程中,最早被設計出來的高階程式語言 FORTRAN,隸屬於下列哪一種類別?

這一題的完整詳解

核心觀念

本題考查程式語言的分類。命令式程式語言以一連串指令描述運算步驟,程式會改變變數或記憶體中的狀態;FORTRAN 是早期為科學與數值計算設計的高階程式語言,屬於命令式語言。

解題方法

依程式如何描述運算來判斷:FORTRAN 程式以敘述句指定計算步驟,例如設定變數、執行運算、依條件分支或重複執行,符合命令式語言的特徵。它不是以物件、函數組合或邏輯規則為主要組織方式。

選項分析

  • (A) 命令式(imperative)程式語言:正確。 FORTRAN 以指令描述程式執行步驟,並透過變數與控制流程完成計算,屬於命令式程式語言。
  • **(B) 物件導向式(object-oriented)程式語言:錯誤。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 26 題2 分

執行以下 Python 程式並輸入「65」,下列何者為程式的輸出?

score = int(input())

if (score >= 90): print("A") elif (score >= 80): print("B") elif (score >= 60): print("C") else: print("F")

這一題的完整詳解

核心觀念

本題考查 Python 的條件判斷 if、elif、else。程式會由上而下檢查條件;一旦遇到第一個成立的條件,就執行該區塊,並跳過後續分支。

解題方法

輸入 65 後,int(input) 將輸入文字轉成整數,因此 score = 65。依序判斷:

  1. score >= 90:65≥9065 \ge 90 不成立。
  2. score >= 80:65≥8065 \ge 80 不成立。
  3. score >= 60:65≥6065 \ge 60 成立,因此執行 print("C")。

程式輸出 C。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 27 題2 分

考慮下列 C 語言程式的宣告:

union allType { char character; int integer; float real; double doubleNum; };

如果 sizeof(char) 是 11、sizeof(int) 是 44、sizeof(float) 是 44、sizeof(double) 是 88,sizeof(allType) 是多少?

這一題的完整詳解

核心觀念

union(聯合)的所有成員共用同一段記憶體,因此聯合所需的大小,至少要能容納最大成員。它不像 struct 一樣把各成員依序排列、累加大小。

解題方法

各成員的大小為:

max⁡(1,4,4,8)=8\max(1,4,4,8)=8

因此,allType 至少需要 88 個位元組,才能容納最大的成員 double doubleNum。在本題所給的大小與一般考題假設下,`sizeof(allType) = 8

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 28 題2 分

執行下列 C++ 程式碼後,螢幕印出的數字為何?

int f(int x) { if (x % 2 == 0) return 2 * x; return x + 1; }

int main() { cout << f(f(f(2) + f(3))) << endl; return 0; }

這一題的完整詳解

核心觀念

本題考查 C++ 函式呼叫、巢狀呼叫的求值順序,以及 if 條件判斷。函式 f(x) 的規則是:

f(x)={2x,x 為偶數x+1,x 為奇數f(x)= \begin{cases} 2x, & x \text{ 為偶數}\\ x+1, & x \text{ 為奇數} \end{cases}

其中,x % 2 == 0 用來判斷 x 是否為偶數;條件成立就執行 return 2 * x,否則執行 return x + 1。

解題方法

由內而外計算巢狀函式呼叫:

  1. 計算括號內的兩個函式值:
  • f(2)f(2):22 是偶數,因此 f(2)=2×2=4f(2)=2\times2=4。
  • f(3)f(3):33 是奇數,因此 f(3)=3+1=4f(3)=3+1=4。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 29 題2 分

執行下列 C++ 程式碼後,螢幕印出的數字為何?

int f(int m) { static int n = 0; n++; return (m + n); }

int main() { cout << f(f(f(3))) << endl; return 0; }

這一題的完整詳解

核心觀念

函式內的 static 區域變數只初始化一次,並在多次函式呼叫間保留其值。因此,f 每執行一次,n 就加 11,且函式回傳當次的 m+nm+n。

巢狀函式呼叫會先計算最內層,再將其回傳值作為外層呼叫的引數。

解題方法

由內而外逐次計算:

  1. 最內層 f(3):n 從 00 加至 11,回傳 3+1=43+1=4。
  2. 中間層 f(4):n 從 11 加至 22,回傳 4+2=64+2=6。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 30 題2 分

C 函數 bar() 的執行,產生下列何輸出結果?

void bar(void) { int i, j; for (i = 0; i < 5; i++) { for (j = 0; j < i + 1; j++) printf("*"); printf(" "); } }

這一題的完整詳解

核心觀念

本題考查 C 語言的巢狀 for 迴圈,以及迴圈內 printf 的執行次數。外層迴圈控制列數,內層迴圈控制每列印出的星號數。

解題方法

外層迴圈中,i 依序取 0、1、2、3、40、1、2、3、4。每一輪內層迴圈的條件是 j < i + 1,因此該輪會印出 i+1i+1 個星號。內層迴圈結束後,執行一次 printf(" "),在該列星號後印出一個空格。

i星號數該輪輸出
01*
12**
23***
34****
45*****

合併各輪輸出為:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 31 題2 分

給定以下類別定義:

class A { public: f() { cout << "$$$"; } A() { cout << ":::"; } A(int a) { cout << "***"; }

private: };

若在 main() 中執行以下指令,則將產生的輸出為何?

A *p = new A; A v(1); v.f(); p->f();

這一題的完整詳解

核心觀念

本題考 C++ 物件的建構子呼叫時機與成員函式呼叫:

  • new A 會在動態配置的記憶體中建立一個 A 物件,並呼叫無參數建構子 A。
  • A v(1) 會建立物件 v,並呼叫帶一個整數參數的建構子 A(int a)。
  • 呼叫 f 只執行函式本體,不會再次呼叫建構子。

解題方法

依程式執行順序,記錄每一步印出的字串:

  1. A *p = new A; 建立動態物件時呼叫 A,輸出 :::。

  2. A v(1); 以整數 1 建立物件時呼叫 A(int a),輸出 ***。

  3. v.f; 執行 f,輸出 $$$。

  4. p->f; 透過指標呼叫動態物件的 f,再輸出 $$$。

依序串接,結果為:

:::+***+$$$+$$$=:::***$$$$$$\texttt{:::}+\texttt{***}+\texttt{\$\$\$}+\texttt{\$\$\$} =\texttt{:::***\$\$\$\$\$\$}

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 32 題2 分

執行下列 C++ 程式碼後,螢幕印出的數字為何?

int main() { int A[3][4] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24};

int *p1 = A[1];
int *p2;

p2 = p1 + 4;

cout << *p2 << endl;
return 0;

}

這一題的完整詳解

核心觀念

本題考查二維陣列的記憶體排列方式,以及指標加法。C++ 的二維陣列採「列優先」排列:同一列的元素在記憶體中連續存放。

A[1] 是第二列的起始位置,因此 p1 指向 A[1][0]。對 int* 指標加上 44,會向後移動 44 個 int 元素。

解題方法

將陣列依列排列如下:

索引元素
A[0]2, 4, 6, 8
A[1]10, 12, 14, 16
A[2]18, 20, 22, 24

因此:

  • p1 = A[1],指向 A[1][0],值為 10。
  • p2 = p1 + 4,向後移動四個 int 的位置。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 33 題2 分

關於乙太網路(Ethernet)的敘述,下列何者錯誤?

這一題的完整詳解

核心觀念

乙太網路(Ethernet)是區域網路(LAN)的技術,主要在資料連結層運作,透過媒體存取控制(MAC)位址識別同一區域網路中的網路介面,並以訊框傳遞資料。乙太網路的實體層則規定訊號如何透過傳輸媒介傳送,媒介可以是雙絞線、同軸電纜或光纖等有線媒介。

解題方法

逐項核對乙太網路的網路層級、位址類型與傳輸媒介。乙太網路主要提供實體層與資料連結層的功能;傳輸層則負責端對端的資料傳輸服務,例如 TCP 或 UDP。因此,若選項把乙太網路說成架設在傳輸層上,便是層級混淆。

選項分析

  • (A) 以 MAC 位址來彼此傳遞訊息:正確。 乙太網路訊框包含來源與目的 MAC 位址,網路介面及交換器據此在區域網路中傳送訊框。
  • **(B) 乙太網路可以架在傳輸層上:錯誤。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 34 題2 分

網路通訊設備交換器(Switch)是屬於 OSI 網路協定第幾層?

這一題的完整詳解

核心觀念

OSI 七層模型中,交換器(Switch)一般指依據乙太網路訊框內的 MAC 位址轉送資料的設備,屬於資料連結層(第 2 層)。交換器會學習 MAC 位址與連接埠的對應關係,並據此將訊框送往目的設備所在的連接埠。

解題方法

判斷網路設備屬於哪一層,可看它主要依據什麼資訊轉送資料:

  • 依據實體訊號或位元傳送:實體層。
  • 依據 MAC 位址與訊框轉送:資料連結層。
  • 依據 IP 位址路由封包:網路層。
  • 依據連接埠號碼進行端對端通訊:傳輸層。

題目所稱的 Switch 是一般乙太網路交換器,依據 MAC 位址轉送訊框,因此屬於資料連結層。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 35 題2 分

有關光纖通訊(Fiber-optic communication),下列何者可為其軸心材質及傳輸原理?

這一題的完整詳解

核心觀念

光纖通訊利用光在纖維中的傳播來傳送訊號。光纖的主要結構包括纖芯(core)與包覆於外側的包層(cladding);纖芯通常以玻璃製成,且折射率高於包層。

光線在纖芯與包層交界處入射時,若符合全反射條件,便會反覆在纖芯內反射並沿光纖傳播。因此,光纖的主要傳輸原理是光的全反射。

解題方法

題目要辨認兩件事:光纖的軸心材質,以及訊號沿纖維傳輸的原理。

先判斷材質:一般光纖的纖芯採用玻璃等透明介電材料;「矽」是元素名稱,並非本題所稱光纖軸心的標準材質描述。再判斷原理:光在纖芯與包層交界處反覆全反射,沿光纖前進。因此,應選「玻璃纖維、光全反射」。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 36 題2 分

對於 IP 位址(IPv4)的敘述,下列何者錯誤?

這一題的完整詳解

核心觀念

本題考查 IPv4 的傳統類別定址(Classful Addressing)、網路位址與主機位址的區分,以及特殊用途的 Loopback 位址。

IPv4 位址長度為 32 位元。傳統類別定址依位址最前面的位元判別類別:

類別第一個八位元組範圍預設網路/主機位元數
Class A1–1268/24
Class B128–19116/16
Class C192–22324/8

其中 127.x.y.z 保留作為 Loopback 位址,0 與 255 等特殊範圍也不適合直接套用一般主機位址規則。

解題方法

先看各選項敘述的關鍵條件:主機位址全為 1、127 開頭,以及 IP 位址的第一個八位元組。判定類別時,只需將位址的第一個數字與類別範圍比較;判斷 Class C 網路的主機位址數量時,則依其預設主機位元數計算。

選項分析

  • (A) 正確。 在一般子網路中,主機位址欄位全為 1 是該子網路的廣播位址。例如某網路的主機欄位為 8 位元,全部設為 1 即代表對該子網路廣播。此規則指的是主機欄位,不是整個 IPv4 位址全為 1。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 37 題2 分

有關 OSI 模型中傳輸層(Transport Layer)的協定,下列何者正確?

這一題的完整詳解

核心觀念

本題考查傳輸層中 TCP 與 UDP 的服務特性,以及應用層協定使用的傳輸方式。

  • TCP 是面向連線的可靠傳輸協定,具備錯誤檢查、重傳、流量控制與壅塞控制等機制。建立連線時使用三方交握。
  • UDP 是無連線的傳輸協定,標頭較簡單,不負責確認、重傳或壅塞控制,因此不保證可靠送達。
  • 應用層協定會依需求選用 TCP 或 UDP;不能一概認定都採用 TCP。

解題方法

逐項核對各選項是否符合 TCP、UDP 的基本特性:

  1. 判斷 TCP 是否具有壅塞控制機制。
  2. 判斷三方交握屬於 TCP 還是 UDP。
  3. 比較 TCP 與 UDP 是否都提供可靠傳輸與重傳。
  4. 檢查列出的應用是否全都採用 TCP,尤其留意 DNS 與 PING。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 38 題2 分

有關 RSA 加密系統的敘述,下列何者錯誤?

這一題的完整詳解

核心觀念

RSA 是一種公開金鑰密碼系統,安全性主要建立在大整數分解的困難性上。它使用一組彼此相關的公開金鑰與私密金鑰:公開金鑰可供加密或驗證簽章,私密金鑰則用於解密或產生簽章。

RSA 由 Ron Rivest、Adi Shamir 與 Leonard Adleman 於 1977 年提出;Diffie 與 Hellman 提出的是公開金鑰密碼學的重要概念及 Diffie–Hellman 金鑰交換方法,並非 RSA 的發明者。

解題方法

逐項核對 RSA 的系統類型、安全性基礎、發明者,以及金鑰長度敘述。題目問「何者錯誤」,其中把 RSA 的發明者與金鑰交換演算法混為一談的選項,與 RSA 的基本事實不符。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 39 題2 分

有關 UDP(User Datagram Protocol)的敘述,下列何者錯誤?

這一題的完整詳解

核心觀念

本題考查 UDP 的傳輸層定位、資料傳遞方式,以及它與 TCP 的特性差異。UDP 是一種簡單、無連線的傳輸層協定,提供多工與解多工功能,但不提供可靠傳輸、流量控制或壅塞控制等機制。

解題方法

逐項判斷敘述是否符合 UDP 的基本特性。關鍵是分辨 UDP 與 TCP 的複雜度及速度:UDP 標頭較簡單、額外控制機制較少,因此通常開銷較低、傳輸速度較快;「較複雜且速度慢」描述的是相反特性。

選項分析

  • (A) 正確。 UDP 屬於傳輸層協定,負責在主機間傳遞資料,並以連接埠號辨識應用程式。
  • **(B) 正確。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 40 題2 分

垃圾信件主要因為下列何種協定,很容易捏造不實身分來濫發電子郵件?

這一題的完整詳解

核心觀念

本題考查電子郵件傳送協定及垃圾郵件的來源偽造問題。SMTP(Simple Mail Transfer Protocol,簡易郵件傳送協定)負責在郵件伺服器之間傳送電子郵件。傳統 SMTP 傳送流程缺乏充分的寄件者身分驗證,寄件者欄位可被偽造,因此常被濫用來大量寄送垃圾郵件。

解題方法

先看題幹描述的行為:垃圾郵件寄件者「捏造不實身分」並濫發電子郵件。這與郵件傳送時偽造寄件者資訊的問題相符,應選擇負責傳送電子郵件的 SMTP。寄件者驗證不足是垃圾郵件容易出現的原因之一;實務上可透過 SPF、DKIM、DMARC 等機制協助驗證寄件網域與郵件來源。

選項分析

  • (A) SMTP:正確。 SMTP 用於傳送電子郵件。傳統 SMTP 未充分驗證寄件者身分,寄件資訊容易遭偽造,因而常被用來濫發垃圾郵件。
  • **(B) SNMP:錯誤。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

其他考古題

113 年地方特考四等・其他類科的《計算機概要》