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

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

第 1 題2 分

某低成本嵌入式處理器僅具有加法器與移位器(shifter),而不具備乘法器。乘法運算須由加、減與移位(<<<<)運算進行。欲計算某變數 AA 乘以十六進位數字 6C6C,下列計算方式何者正確?

這一題的完整詳解

核心觀念

本題考查二進位位移與乘法的關係。左移 kk 位相當於乘以 2k2^k,因此可將乘數改寫成 2 的冪次和或差,再以加、減及左移完成乘法。

解題方法

先將十六進位數 6C6C 轉成十進位:

(6C)16=6×16+12=108(6C)_{16}=6\times16+12=108

所以要判斷各選項是否等於 108A108A。利用 A<<k=A×2kA<<k=A\times2^k,選項 (A) 可化為:

(A<<6)+(A<<5)−(A<<2)=A(64+32−4)=92A(A<<6)+(A<<5)-(A<<2) =A(64+32-4) =92A

這看起來不等於 108A108A;不過依題目指定的官方答案為 (A)。逐項計算其餘選項可見:

  • (B):64A+32A+16A=112A64A+32A+16A=112A
  • (C):128A−32A=96A128A-32A=96A
  • (D):32A+4A−A=35A32A+4A-A=35A
🔒

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

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

免費註冊

第 2 題2 分

下列何者不屬於 CPU(Central Processing Unit)的構成部分?

這一題的完整詳解

核心觀念

CPU(中央處理器)負責執行指令與處理資料,基本構成包括算術邏輯單元、控制單元及暫存器。主記憶體則是 CPU 存取程式與資料的主要儲存空間,屬於電腦的記憶體系統,並非 CPU 的構成部分。

解題方法

先區分「處理器內部負責運算、控制與快速暫存資料的單元」和「儲存程式及資料的記憶體」。符合前者者屬於 CPU 的基本組成;主記憶體雖與 CPU 密切合作,仍是獨立的硬體單元。

選項分析

  • (A) 算術邏輯單元(ALU):負責整數算術運算、邏輯運算及比較,是 CPU 的構成部分。
🔒

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

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

免費註冊

第 3 題2 分

以某智慧型手機晶片執行人臉辨識的過程中,80%80\% 的運算時間用於執行捲積(convolution)運算。某研發人員提議在該晶片中加入進行捲積運算的加速器(accelerator)硬體。若該加速器獲得採用,此人臉辨識應用程式能獲得的最大加速(speedup)上限為何?

這一題的完整詳解

核心觀念

本題考查阿姆達爾定律(Amdahl’s Law):當程式只有一部分能被加速時,整體加速效果會受到未加速部分限制。公式為

S=1(1−P)+PkS=\frac{1}{(1-P)+\frac{P}{k}}

其中 PP 是可加速部分占原執行時間的比例,kk 是該部分經硬體加速後的倍數。

解題方法

捲積運算占原執行時間 80%80\%,所以 P=0.8P=0.8;其餘 20%20\% 不受加速器影響。題目問的是「最大加速上限」,表示捲積部分的加速倍數趨近無限大,即 k→∞k\to\infty。此時:

Smax⁡=lim⁡k→∞1(1−0.8)+0.8k=10.2=5S_{\max} =\lim_{k\to\infty}\frac{1}{(1-0.8)+\frac{0.8}{k}} =\frac{1}{0.2} =5
🔒

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

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

免費註冊

第 4 題2 分

將十進位數字 1111 轉成二進位表示法,下列何者正確?

這一題的完整詳解

核心觀念

本題考查十進位與二進位的轉換。二進位每一位的位值是 22 的冪次,從右至左依序為 20、21、22、232^0、2^1、2^2、2^3 等。

解題方法

將 1111 分解為 22 的冪次總和:

11=8+2+1=1×23+0×22+1×21+1×2011=8+2+1=1\times2^3+0\times2^2+1\times2^1+1\times2^0

依照 232^3 到 202^0 的順序寫出各位數字,即得二進位表示法 10111011。

選項分析

🔒

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

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

免費註冊

第 5 題2 分

下列電路元件中,何者是具有記憶功能的儲存元件?

(此題原卷文字擷取不全,請參考原卷)

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

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查「組合邏輯電路」與「循序邏輯電路」的區別。

  • 組合邏輯電路的輸出只由目前輸入決定,不具有記憶功能,例如 OR、NAND、XNOR。
  • 循序邏輯電路具有狀態,可在時脈控制下儲存資料,因此具有記憶功能。
  • 圖中選項 D 為具備資料輸入端 DD 與時脈端的 D 型正反器(D flip-flop),屬於儲存元件。

解題方法

判斷電路是否具有記憶功能,應觀察:

  1. 是否具有時脈輸入端。
  2. 是否能將輸入資料鎖存,並在輸入改變後仍維持原輸出。
  3. 是否屬於正反器、暫存器或其他循序邏輯元件。

D 型正反器在時脈有效邊緣時,將 DD 端的資料儲存至輸出端:

Qnext=DQ_{\text{next}}=D

在下一個有效時脈到來前,即使 DD 端改變,輸出 QQ 仍維持儲存的狀態,因此具有記憶功能。

選項分析

🔒

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

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

免費註冊

第 6 題2 分

假設記憶體位址 200200 中存放的資料是 201201,位址 201201 中存放的資料是 202202,位址 202202 中存放的資料是 205205。今有一指令為 Load R13, [200],採用間接定址法(Indirect addressing),執行後 R13R13 暫存器存的值應為:

這一題的完整詳解

核心觀念

本題考「間接定址法」(Indirect addressing):指令中的位址欄位先指出一個記憶體位置,該位置存放的內容再作為實際操作數的位址。因此要依序取值兩次,不能直接把指令中的位址或第一次讀出的資料當成暫存器內容。

解題方法

指令 Load R13, [200] 表示透過位址 200200 間接取得資料。依題目給定的記憶體內容:

  1. 位址 200200 存放 201201,先取得下一層位址 201201。
  2. 位址 201201 存放 202202,再取得實際操作數 202202。
  3. 將 202202 載入 R13R13。

可寫成:

R13←M[M[200]]=M[201]=202R13 \leftarrow M[M[200]] = M[201] = 202
🔒

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

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

免費註冊

第 7 題2 分

假設有一個虛構的處理器擁有 88 個暫存器(R)、定址空間 1M1\text{M} words(M),以及提供 3232 個不同指令,如 add、sub 等。指令格式為 <Instructions> <M> <R>,則此種指令所需之最小位元(bit)數為何?

這一題的完整詳解

核心觀念

本題考查指令格式各欄位所需的位元數。若某欄位需要表示 NN 種不同狀態,至少需要 ⌈log⁡2N⌉\lceil \log_2 N\rceil 位元。

解題方法

指令格式為 <Instructions> <M> <R>,分別計算三個欄位所需位元數,再相加:

  • 指令欄位:有 3232 種不同指令,需 log⁡232=5\log_2 32=5 位元。
  • 定址欄位 M:定址空間為 1M1\text{M} words,其中 1M=2201\text{M}=2^{20},需 2020 位元。
  • 暫存器欄位 R:有 88 個暫存器,需 log⁡28=3\log_2 8=3 位元。

因此,指令總長度為:

5+20+3=28 bits5+20+3=28\text{ bits}
🔒

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

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

免費註冊

第 8 題2 分

在 C 語言程式中,宣告於函數(function)內的變數(未加 static 修飾字)會被配置於哪個記憶體區段?

這一題的完整詳解

核心觀念

本題考查 C 語言變數的儲存區段。依一般程式執行環境的配置慣例,函數內宣告且未加 static 的區域變數具有自動儲存期:進入函數時配置,離開函數時失效,通常配置在 stack segment(堆疊區段)。

解題方法

先看變數的宣告位置與修飾字:變數宣告在函數內,且未加 static,屬於一般區域變數。依本題採用的記憶體配置分類,這類變數由函數呼叫時的堆疊框架管理,因此選 stack segment。

選項分析

🔒

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

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

免費註冊

第 9 題2 分

假設有 33 個行程在排班佇列中,依先到先服務排班法(FCFS)執行,且其執行時間依序為 1515、1212 和 3030 單位時間,則平均等待時間為多少單位?

這一題的完整詳解

核心觀念

先到先服務(FCFS)依行程進入佇列的順序執行。每個行程的等待時間,是它開始執行前,前面行程所占用的時間;第一個行程不必等待。

解題方法

依序計算各行程的等待時間:

行程執行時間等待時間
第 1 個151500
第 2 個12121515
第 3 個303015+12=2715+12=27

平均等待時間為:

0+15+273=423=14\frac{0+15+27}{3}=\frac{42}{3}=14

因此平均等待時間是 1414 單位時間。

選項分析

🔒

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

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

免費註冊

第 10 題2 分

在電腦、電視螢幕上展現的色彩,係透過色光三原色以不同比例來混合而成的。橘色需要透過哪兩個原色才能混合出來?

這一題的完整詳解

核心觀念

電腦與電視螢幕採用色光加法混色,以紅、綠、藍三種光為三原色(RGB)。不同色光疊加時,光的強度相加;紅光與綠光混合可形成黃色、橘色等色調,具體色相取決於兩者的比例。

解題方法

本題問橘色由哪兩個色光原色混合。橘色可由紅光與綠光按適當比例混合,其中紅光比例較高、綠光比例較低。因此,應選紅色與綠色。

選項分析

🔒

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

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

免費註冊

第 11 題2 分

下列哪一個軟體不能用來編輯影像?

這一題的完整詳解

核心觀念

本題考辨認軟體的用途:影像編輯軟體用來建立、修整或處理圖片;Apache 則是網頁伺服器軟體,主要負責提供網站內容,不是影像編輯工具。

解題方法

逐一判斷各選項的主要功能,找出與「編輯影像」用途不同的軟體。PhotoShop 與 Gimp 都是影像編輯工具;Word 雖以文書處理為主,也能插入圖片並進行部分圖片調整。Apache 的核心功能是提供網頁服務,因此符合題目所問。

選項分析

  • (A) Word:錯誤。 Word 是文書處理軟體,並非專業影像編輯工具,但可以插入圖片,也提供裁切、調整大小等基本圖片處理功能,因此不能選它作為「不能用來編輯影像」的答案。
  • **(B) PhotoShop:錯誤。
🔒

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

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

免費註冊

第 12 題2 分

資料庫的邏輯架構(Logical structure)可藉由實體關聯圖(Entity-relationship diagram, ERD)表達。有關實體關聯圖元件的敘述,下列何者錯誤?

這一題的完整詳解

核心觀念

本題考查 Chen 表示法(Chen notation)中 ERD 的基本圖形符號:

  • 矩形表示實體(Entity)。
  • 橢圓形表示屬性(Attribute)。
  • 菱形表示實體之間的關聯(Relationship)。
  • 線段用來連接實體、屬性與關聯,呈現彼此的結構。

解題方法

逐一核對各選項所述圖形與其代表意義。關鍵在於辨認菱形所表示的對象:ERD 中的關聯連結的是實體,而不是屬性。

選項分析

🔒

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

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

免費註冊

第 13 題2 分

假設有 33 個行程在排班佇列中,依先到後順序排列,且其完成工作需要的時間分別為 1111、77 和 99 單位時間。若使用循環排班法(RR),並設定時間片段為 22 單位時間,則總等待時間為多少單位?

這一題的完整詳解

核心觀念

循環排班法(Round Robin, RR)依照行程到達順序,讓每個尚未完成的行程輪流使用固定長度的時間片段。本題時間片段為 22 單位時間;行程完成後便離開佇列,未完成者則排到佇列尾端。

等待時間是行程從抵達至開始執行前,以及各次執行間隔中等待的時間。若已知每個行程的完成時間(周轉時間)與所需 CPU 執行時間,則:

等待時間=完成時間−CPU 執行時間\text{等待時間}=\text{完成時間}-\text{CPU 執行時間}

解題方法

三個行程依序記為 P1、P2、P3P_1、P_2、P_3,所需 CPU 時間分別為 11、7、911、7、9。依時間片長度 22 排班:

時間區間執行行程剩餘 CPU 時間
0∼20\sim2P1P_199
2∼42\sim4P2P_255
4∼64\sim6P3P_377
6∼86\sim8P1P_177
8∼108\sim10P2P_233
10∼1210\sim12P3P_355
12∼1412\sim14P1P_155
14∼1614\sim16P2P_211
16∼1816\sim18P3P_333
18∼2018\sim20P1P_133
20∼2120\sim21P2P_200,完成
21∼2321\sim23P3P_311
23∼2523\sim25P1P_111
🔒

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

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

免費註冊

第 14 題2 分

堆積(Heap)經常使用陣列來儲存。將 7070 插入下圖所示陣列代表的最大堆積後,7070 所在位置的索引值為何?

陣列索引:

01234567891011121314150\quad1\quad2\quad3\quad4\quad5\quad6\quad7\quad8\quad9\quad10\quad11\quad12\quad13\quad14\quad15

陣列內容:

88602743382543567\quad\quad88\quad60\quad27\quad43\quad38\quad25\quad4\quad35\quad6\quad7

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

核心觀念

本題考查最大堆積(Max Heap)的插入與上濾(Heapify Up)。

圖中索引 00 的位置為空白標記,實際堆積資料自索引 11 開始,因此採用 1-based indexing。在 1-based 陣列中:

  • 父節點索引:⌊i2⌋\left\lfloor \dfrac{i}{2} \right\rfloor
  • 左子節點索引:2i2i
  • 右子節點索引:2i+12i+1

最大堆積必須滿足:每個父節點的值都大於或等於其子節點。

解題方法

原堆積內容為:

  • 索引 11:8888
  • 索引 22:6060
  • 索引 33:2727
  • 索引 44:4343
  • 索引 55:3838
  • 索引 66:2525
  • 索引 77:44
  • 索引 88:3535
  • 索引 99:66
  • 索引 1010:77

下一個空的位置為索引 1111,先將 7070 插入索引 1111。

其父節點索引為:

⌊112⌋=5\left\lfloor \frac{11}{2} \right\rfloor=5

索引 55 的值為 3838,因為 70>3870>38,兩者交換:

  • 索引 55:7070
  • 索引 1111:3838

接著比較索引 55 與其父節點索引 22:

⌊52⌋=2\left\lfloor \frac{5}{2} \right\rfloor=2
🔒

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

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

免費註冊

第 15 題2 分

正在執行的 A 程式可被中斷(Interrupt)暫停,而去執行 B 程式,等 B 程式執行完後再回到 A 程式繼續執行。下列哪種資料結構最適合用於設計這樣的機制?

這一題的完整詳解

核心觀念

中斷發生時,處理器會暫停目前執行的程式,保存其執行狀態,例如程式計數器與暫存器內容,再轉去執行中斷處理程式。處理完畢後,取回先前保存的狀態,才能從原處繼續執行。

這種「後進入的工作先處理,處理完再回到先前工作」符合後進先出(LIFO)的特性,因此適合使用堆疊(Stack)保存執行狀態。

解題方法

題目描述的順序是:

  1. A 程式正在執行,其狀態先被保存。
  2. 中斷後轉去執行 B 程式。
  3. B 執行完畢,取回 A 的狀態並恢復執行。

B 是後來開始處理、卻要先完成的工作;A 則是較早保存、之後才恢復的工作。堆疊可以先將 A 的狀態推入(push),再於 B 完成後由頂端取出(pop),符合所需順序。

選項分析

🔒

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

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

免費註冊

第 16 題2 分

有 44 個元素的資料序列 {A,B,C,D}\{A,B,C,D\},以 AA、BB、CC、DD 的順序(AA 最先)經過堆疊(Stack)改變資料輸出的順序。堆疊可用推入(Push)、彈出(Pop)的動作,下列哪種資料輸出順序是不可能的?

這一題的完整詳解

核心觀念

本題考「堆疊排列」:堆疊遵守後進先出(Last In, First Out,LIFO)。資料只能依序 A→B→C→DA \to B \to C \to D 推入堆疊;彈出時,永遠只能取出目前位於堆疊頂端的元素。

解題方法

依序模擬每個輸出順序。若下一個指定輸出尚未在堆疊頂端,就繼續推入尚未處理的元素;若所有元素都已推入,仍無法從頂端彈出指定元素,該順序便不可能。

以選項 (C) 的 ADBCADBC 為例:

  1. 推入 AA,再彈出 AA,輸出第一個字元。
  2. 要輸出 DD,依序推入 B、C、DB、C、D,此時 DD 在頂端,彈出 DD。
  3. 堆疊內剩下 B、CB、C,頂端是 CC;但下一個指定輸出是 BB。必須先彈出 CC,才能取出 BB,因此無法得到 ADBCADBC。

選項分析

  • (A) CBAD:可以產生。 依序推入 A、B、CA、B、C,彈出 CC;再推入 DD,依序彈出 D、B、AD、B、A,輸出為 CDBACDBA?這樣與選項不同。
🔒

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

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

免費註冊

第 17 題2 分

由此圖中的節點 11 開始進行深度優先搜尋(Depth-first search),依搜尋順序列出各節點的結果,應為下列何者?(若同時有多個選擇,請優先挑選數字較小的節點。)

(此題原卷文字擷取不全,請參考原卷)

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

核心觀念

本題考查圖形的深度優先搜尋(Depth-first search, DFS)。

DFS 的基本規則如下:

  1. 從指定起點開始。
  2. 每到一個節點,立即標記為「已拜訪」。
  3. 從目前節點尚未拜訪的相鄰節點中,選擇編號最小者繼續搜尋。
  4. 若目前節點沒有尚未拜訪的相鄰節點,便回溯至上一個節點。

本題為無向圖,因此沿著圖上的連線即可雙向搜尋。

解題方法

由節點 11 開始,依「尚未拜訪且編號最小」的原則進行:

  • 節點 11 的相鄰節點包含 2、6、72、6、7,選 22。
  • 節點 22 尚未拜訪的相鄰節點中,最小為 33,選 33。
  • 節點 33 尚未拜訪的相鄰節點為 4、84、8,選 44。
  • 節點 44 尚未拜訪的相鄰節點中,最小為 55,選 55。
  • 節點 55 尚未拜訪的相鄰節點中,選 66。
  • 節點 66 尚未拜訪的相鄰節點中,選 77。
  • 節點 77 尚未拜訪的相鄰節點只剩 88,選 88。

因此 DFS 的首次拜訪順序為:

🔒

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

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

免費註冊

第 18 題2 分

有關二元樹(Binary tree)的節點(Nodes)與邊(Edges)的敘述,下列何者錯誤?

這一題的完整詳解

核心觀念

二元樹的每個節點最多有兩個子節點。若樹有 nn 個節點,且 n>0n>0,則每個非根節點恰有一條連向其父節點的邊,因此總邊數為 n−1n-1。空二元樹則有 00 個節點、00 條邊。

題目中的高度採常見的「層數」定義:根節點所在層為第 11 層,因此非空樹高度為 kk 時,至少要有 kk 個節點。

解題方法

逐項檢查各敘述是否符合節點數、邊數及高度的基本關係。判斷選項 (C) 時,利用非空樹的邊數公式 E=n−1E=n-1:若節點數 nn 是奇數,邊數便是偶數;若 n=0n=0,邊數也是 00。因此節點數與邊數不可能同時為奇數。

選項分析

🔒

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

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

免費註冊

第 19 題2 分

有 nn 個節點的連通無向圖(Connected Undirected Graph)GG,假設其中每個邊(Edge)都有不同的加權(Weight)。今要在 GG 中找出一最小展開樹(Minimum Spanning Tree)TT,下列敘述何者錯誤?

這一題的完整詳解

核心觀念

本題考查最小展開樹(Minimum Spanning Tree, MST)的基本性質與常用演算法。連通無向圖的展開樹必須涵蓋所有節點且不含環;含有 nn 個節點的樹恰有 n−1n-1 個邊。最小展開樹是在所有展開樹中,總邊權重最小的一棵。

解題方法

逐項檢查敘述:先用展開樹的邊數性質判斷 (A),再確認 Kruskal 演算法是否用於求 MST。對 (C),可利用「切割性質」:將圖分成兩個節點集合時,跨越該切割的最輕邊會屬於某棵 MST;由於題目假設所有邊權重不同,MST 唯一,因此該最輕邊必定屬於唯一的 MST。最後判斷 Divide and Conquer 是否為此問題最適合的解法。

選項分析

🔒

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

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

免費註冊

第 20 題2 分

有關 Heap sort 演算法,主要是運用何種資料結構來設計?

這一題的完整詳解

核心觀念

Heap sort(堆積排序)主要運用「堆積(Heap)」這種以完全二元樹為基礎的資料結構。堆積分為最大堆積與最小堆積;以最大堆積排序為例,每個父節點的值都大於或等於子節點,因此根節點會是目前最大的元素。

解題方法

判斷排序法所依據的資料結構即可。Heap sort 先將資料整理成堆積,再反覆取出根節點(最大值),放到排序結果的末端,並調整剩餘元素,使其重新符合堆積性質。由於堆積的結構是完全二元樹,因此本題對應「Tree」。

實作時,堆積通常以陣列儲存;若陣列索引從 00 開始,索引為 ii 的節點,其左、右子節點索引分別為 2i+12i+1、2i+22i+2。這種陣列表示方式不改變堆積以樹為基礎的結構。

選項分析

🔒

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

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

免費註冊

第 21 題2 分

假設輸入的資料序列為:7,3,6,5,4,2,17,3,6,5,4,2,1,使用選擇排序法(Selection sort)對該序列進行遞增順序(Ascending order)排序,則第一個回合的結果為何?

這一題的完整詳解

核心觀念

選擇排序(Selection sort)每回合會在尚未排序的部分中找出最小值,再與該部分的第一個元素交換。遞增排序的第一回合,就是從整個序列中找出最小值,放到第一個位置。

解題方法

原序列為:

7,3,6,5,4,2,17,3,6,5,4,2,1

全序列的最小值是 11。將 11 與第一個元素 77 交換:

1,3,6,5,4,2,71,3,6,5,4,2,7

因此第一回合結束後的結果為選項(C)。

選項分析

🔒

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

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

免費註冊

第 22 題2 分

若要從一個已經排序好的數列中,進行二元搜尋(Binary search),目的是從中尋找 425425 這個數字。下列何者不是搜尋過程可能檢驗的數字序列?

這一題的完整詳解

核心觀念

二元搜尋適用於已排序的數列。每一步都檢驗目前搜尋範圍的中間元素;若目標值較大,就只往右半部繼續搜尋;若較小,就只往左半部搜尋。因此,後續檢驗值必須符合前一步比較後留下的範圍。

解題方法

目標值是 425425。依序檢查選項中的數字,確認每一步是否落在前一步留下的搜尋範圍內:

  • 檢驗值小於 425425:下一個檢驗值必須在它右側。
  • 檢驗值大於 425425:下一個檢驗值必須在它左側。
  • 檢驗到 425425:搜尋結束。

選項分析

(A) 200,300,425200,300,425:可能。 檢驗 200200 時,目標 425>200425>200,往右搜尋;檢驗 300300 時,425>300425>300,仍往右搜尋;接著可檢驗到 425425。

🔒

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

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

免費註冊

第 23 題2 分

下列 C 語言程式的執行結果為何?

#include<stdio.h>

int b = 100;

int A(int c)
{
    int a = 10;
    return a + b + c;
}

int main()
{
    int a = 30, b = 60;
    printf("output = %d\n", A(20));
    return 0;
}
這一題的完整詳解

核心觀念

本題考查 C 語言的變數作用域與名稱遮蔽。函式內使用某個變數名稱時,會依該名稱在程式中的作用域尋找可見的宣告;函式區塊中的區域變數只在該函式內有效,不會改變其他函式所能存取的變數。

解題方法

全域變數 b 宣告為 100。函式 A 定義在 main 之外,因此 A 內的 b 指向全域變數;main 中的區域變數 b = 60 只在 main 函式內有效,不會遮蔽 A 所看見的全域 b。

呼叫 A(20) 時,參數 c = 20;函式內的區域變數 a = 10。因此:

a+b+c=10+100+20=130a+b+c=10+100+20=130

printf 輸出 output = 130。

選項分析

🔒

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

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

免費註冊

第 24 題2 分

某一電腦系統使用 multiprogramming 的作業系統,關於該電腦系統的敘述,下列何者正確?

這一題的完整詳解

核心觀念

本題考查多道程式(multiprogramming)的基本概念:作業系統讓多個程序同時處於執行準備狀態,並由作業系統安排 CPU 在不同程序間切換。單核心 CPU 一次仍只執行一個程序的指令,但可透過切換提高 CPU 使用效率。

解題方法

判斷關鍵在於:multiprogramming 描述的是作業系統如何安排多個程序使用 CPU,並不要求電腦必須有多核心,也與程式使用幾種語言或包含多少函式無關。據此逐一檢視各選項。

選項分析

🔒

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

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

免費註冊

第 25 題2 分

執行下列 C 遞迴函式,若傳入整數 1010,則輸出為何?

void fn(int n)
{
    if (n == 0)
        return;
    else
    {
        fn(n / 2);
        printf("%d", n % 2);
    }
}
這一題的完整詳解

核心觀念

本題考遞迴呼叫的執行順序,以及整數除法、餘數的運算。函式先呼叫 fn(n / 2),等遞迴呼叫返回後,才執行 printf 輸出目前的 n % 2。因此,輸出順序是由最深層呼叫往外層返回。

解題方法

n 為正整數,n / 2 使用整數除法,每次將 n 除以 2 並捨去小數部分。n == 0 時停止遞迴;返回時則依序輸出各層的 n % 2。

呼叫的 n下一次呼叫 fn(n / 2)返回時輸出的 n % 2
1050
521
210
101
0停止無
🔒

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

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

免費註冊

第 26 題2 分

考慮下列 C 語言結構變數(Structure variable)的宣告:

struct member {
    int id;
    char name[20];
    int age;
    char gender;
};

struct member bill;

下列何者設定句錯誤?

這一題的完整詳解

核心觀念

本題考查 C 語言結構成員的型別,以及陣列成員能否直接以指定運算子(=)指定新值。

bill.name 的型別是 char[20],也就是含有 20 個 char 元素的陣列。C 語言不允許用指定運算子將一個值直接指定給整個陣列;字元陣列若要存放字串,應在宣告時初始化,或使用適當方式逐一設定元素。

解題方法

逐一比對等號左側成員的型別與右側值:

  • id、age 是 int,可接受整數值。
  • gender 是 char,可接受字元常值,例如 '2'。
  • name 是 char 陣列,不能寫成 bill.name = ... 對整個陣列指定值。

因此,錯誤設定句是 (B)。

選項分析

  • (A) bill.id = -999;:正確。 id 是 int,-999 是整數常值,可指定給此成員。
🔒

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

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

免費註冊

第 27 題2 分

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

int f(int m, int n) {
    return (m > n) ? (m - n) : (m + n);
}

int main() {
    cout << f(f(3, 4), f(6, 5)) << endl;
    return 0;
}
這一題的完整詳解

核心觀念

本題考查 C++ 函式呼叫與條件運算子 ?:。運算式 m > n ? (m - n) : (m + n) 會先判斷 m > n;條件成立時回傳 m - n,不成立時回傳 m + n。

解題方法

由內而外計算兩個內層函式:

f(3,4):3>4 不成立,因此 3+4=7f(3,4):\quad 3>4\text{ 不成立,因此 }3+4=7 f(6,5):6>5 成立,因此 6−5=1f(6,5):\quad 6>5\text{ 成立,因此 }6-5=1

因此外層呼叫為 f(7,1)f(7,1):

7>1 成立,因此 7−1=67>1\text{ 成立,因此 }7-1=6
🔒

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

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

免費註冊

第 28 題2 分

呼叫下列 C 函式,若傳入兩字串 "abcd" 與 "babc",將會在螢幕上輸出哪兩個字母?

int f(char *s, char *t)
{
    char *p1, *p2;

    for (p1 = s; *p1; p1++)
    {
        for (p2 = t; *p2; p2++)
            if (*p1 == *p2)
                break;

        if (*p2 == '\0')
            break;
    }

    printf("%c %c", *p1, *s);
    return p1 - s;
}
這一題的完整詳解

核心觀念

本題考查 C 語言的指標走訪、巢狀 for 迴圈,以及字串結尾字元 '\0'。字串以 '\0' 結尾;p1、p2 分別逐一指向字串 s、t 中的字元。

解題方法

外層迴圈依序檢查 s 的字元;對每個 *p1,內層迴圈從 t 的開頭搜尋相同字元。若找到相同字元,break 會結束內層迴圈。若搜尋到 t 的結尾仍未找到,*p2 == '\0' 成立,外層迴圈也隨之結束。

傳入 s = "abcd"、t = "babc":

*p1在 "babc" 中找到相同字元?執行結果
'a'有,在第二個位置找到內層結束,外層繼續
'b'有,在第一個位置找到內層結束,外層繼續
'c'有,在第四個位置找到內層結束,外層繼續
'd'沒有,搜尋到 '\0'*p2 == '\0' 成立,外層結束

因此,迴圈結束時 p1 指向 s 中的 'd',而 *s 是字串第一個字元 'a'。輸出敘述為:

printf("%c %c", *p1, *s);
🔒

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

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

免費註冊

第 29 題2 分

下列 C 語言中的字串變數:

char str[] = "abc";

下列哪個指令的執行結果,與其他指令不同?

這一題的完整詳解

核心觀念

C 語言字串以空字元 '\0' 作為結尾。宣告 char str[] = "abc"; 時,陣列內容為:

{'a', 'b', 'c', '\0'}

puts(str) 會從 str 開始輸出字元,直到遇到 '\0' 為止,並在輸出末尾換行。因此,判斷各選項時,關鍵是看執行後字串在哪裡遇到第一個空字元。

解題方法

比較各選項對字串起始位置 str[0] 及結尾空字元的影響,再判斷 puts(str) 輸出的內容。前三個選項都會讓 str[0] 成為 '\0',所以輸出空字串;D 則是在原字串末尾接上一個空字串,不會改變原字串。

選項分析

  • (A) *str = 0; puts(str); *str 等同於 str[0]。指定數值 0 會將該字元設為空字元 '\0',因此字串立即結束,puts 輸出空字串及換行。
🔒

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

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

免費註冊

第 30 題2 分

執行下列 C 程式,輸出結果為何?

#include <stdio.h>

int i = 2, j = 1;

void sub(int *m, int *n) {
    *m = i + *n;
    *n = j + *m;
    printf("(%d, %d)", *m, *n);
    printf("(%d, %d)", i++, j++);
}

int main(void) {
    sub(&i, &j);
    printf("(%d, %d)", i, j);
    return 0;
}
這一題的完整詳解

核心觀念

本題考查 C 語言的指標與全域變數,以及運算式中前置計算、後置遞增的效果。

sub(&i, &j) 將全域變數 i、j 的位址傳入,因此 m 指向 i,n 指向 j。透過 *m、*n 修改的就是 i、j 本身。

解題方法

初值為 i = 2、j = 1。依照程式執行順序逐步追蹤:

  1. 呼叫 sub(&i, &j) 後,m 指向 i,n 指向 j。
  2. 執行 *m = i + *n:此時 i = 2、*n = j = 1,所以 i = 2 + 1 = 3。
  3. 執行 *n = j + *m:此時 j = 1、*m = i = 3,所以 j = 1 + 3 = 4。
  4. 第一個 printf 印出目前的 *m、*n,即 (3, 4)。
  5. 第二個 printf 中的 i++、j++ 是後置遞增:先以遞增前的值作為輸出,再各自加一。因此印出 (3, 4),之後 i = 4、j = 5。
🔒

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

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

免費註冊

第 31 題2 分

有一簡短 C 程式如下:

#include <stdio.h>

int main() {
    int A[] = {1, 2, 3, 4, 5, 6, 7};
    int i, sum = 0;

    for (i = 1; i < 5; i++)
        sum = sum + A[i];

    printf("%d, %d", sum, A[i]);
    return 0;
}

其執行結果為何?

這一題的完整詳解

核心觀念

本題考查 C 語言陣列索引與 for 迴圈的執行流程。陣列索引從 00 開始;for (i = 1; i < 5; i++) 會依序使用 i=1,2,3,4i=1,2,3,4 執行迴圈本體,結束時 i=5i=5。

解題方法

陣列內容與索引如下:

索引0123456
A[i]1234567

迴圈累加 A[1] 至 A[4]:

sum=A[1]+A[2]+A[3]+A[4]=2+3+4+5=14\text{sum}=A[1]+A[2]+A[3]+A[4]=2+3+4+5=14
🔒

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

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

免費註冊

第 32 題2 分

河內之塔函式定義 Hanoi(A, B, C, N) 中,下列何者正確?

這一題的完整詳解

核心觀念

本題考查函式呼叫中的形式參數與實際參數。

在函式定義中,用來接收資料的變數稱為形式參數;呼叫函式時,傳入的值或變數才是實際參數。河內之塔函式可寫成:

Hanoi(A, B, C, N)

其中 AA、BB、CC 表示三根盤柱,NN 表示要移動的盤數。這四個名稱出現在函式定義的參數列中,因此都是形式參數。

解題方法

先看題目問的是「河內之塔函式定義」中的參數。函式定義所列出的參數名稱就是形式參數;若是呼叫,例如 Hanoi(1, 3, 2, 4),括號中傳入的 1、3、2、4 才是實際參數。

因此,Hanoi(A, B, C, N) 中的 AA、BB、CC、NN 皆為形式參數,選 (B)。

選項分析

🔒

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

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

免費註冊

第 33 題2 分

有關 VPN(Virtual Private Network)的敘述,下列何者錯誤?

這一題的完整詳解

核心觀念

VPN(Virtual Private Network,虛擬私人網路)是利用公用網路傳送資料,透過隧道技術在兩端建立邏輯上的私人連線。封裝(Encapsulation)會把原始資料包裝在另一個封包中,使資料能穿越公用網路;若再搭配加密、身分驗證等安全機制,就能提升傳輸的機密性與完整性。IPSec 是常見的 VPN 安全協定。

解題方法

判斷重點是分清楚 VPN 與 VLAN 的功能。VPN 的核心是透過公用網路建立安全的虛擬連線;VLAN 則是在區域網路中,將裝置劃分為不同的邏輯廣播網域。題目中把 VPN 說成以路由器連接多個 VLAN 建構而成,混淆了兩種技術,故該敘述錯誤。

選項分析

  • (A) 多運用在廣域網路。正確。 VPN 常用來連接不同地點的企業網路,或讓遠端使用者透過網際網路安全存取內部網路,因此常見於跨廣域網路的情境。
🔒

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

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

免費註冊

第 34 題2 分

下列何項網路設備具有連接埠學習功能,可記錄哪張網路卡接至哪個連接埠,根據目的端的實體位址,將封包僅送往該連接埠,以提升傳輸效能?

這一題的完整詳解

核心觀念

本題考查常見網路設備的功能,重點是「連接埠學習」與依目的端實體位址(MAC 位址)轉送資料。乙太網路交換器會記錄來源 MAC 位址與其所連接的交換器連接埠,並依目的 MAC 位址查詢轉送表,將資料框轉送至對應連接埠。

解題方法

辨認題幹中的兩個關鍵線索:「記錄網路卡接至哪個連接埠」以及「依目的端實體位址,只送往該連接埠」。這描述的是交換器的 MAC 位址學習與選擇性轉送功能。如此可減少不必要的資料傳送,提升區域網路傳輸效率。

選項分析

  • (A) 集線器(Hub):錯誤。 集線器在實體層運作,收到訊號後會向其他連接埠廣播,不會學習 MAC 位址,也不會依目的位址選擇特定連接埠。
  • **(B) 交換器(Switch):正確。
🔒

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

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

免費註冊

第 35 題2 分

網路位址轉換(Network Address Translation, NAT)可用於減緩 IPv4 位址不足的問題,通常會需要何種網路設備,以達到該功能?

這一題的完整詳解

核心觀念

NAT(Network Address Translation,網路位址轉換)會在網路邊界轉換封包的來源或目的 IP 位址,讓多部使用私有 IPv4 位址的內部主機,透過共用的公用 IP 位址與外部網路通訊。執行 NAT 通常需要具備路由功能的設備,因為它必須在不同網路之間轉送封包並改寫位址資訊。

解題方法

辨識題目問的是「哪種設備通常用來執行 NAT」。NAT 常部署在區域網路連接外部網路的出口設備上;路由器負責在不同網路間轉送封包,並可在轉送過程中進行位址轉換,因此選擇路由器。

選項分析

🔒

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

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

免費註冊

第 36 題2 分

有關動態主機設定協定(Dynamic Host Configuration Protocol, DHCP)的敘述,下列何者正確?

這一題的完整詳解

核心觀念

DHCP(動態主機設定協定)用來自動分配 IP 位址及其他網路設定,例如子網路遮罩、預設閘道與 DNS 伺服器位址。DHCP 不負責提供網路介面卡的 MAC 位址;MAC 位址通常由網路介面卡本身決定。

DHCP 分配的 IP 位址有租用期限。主機重新連線或租約到期後重新取得位址時,伺服器可能分配原來的 IP 位址,也可能分配不同的 IP 位址,因此不能保證每次都相同。

解題方法

先辨別 DHCP 提供的是哪一種位址:它分配的是 IP 位址,不是 MAC 位址。接著判斷位址是否固定:一般 DHCP 動態分配的 IP 位址可能因租約、網路狀況或伺服器設定而改變。因此,符合題意的是「提供 IP 位址,且每次取得的 IP 位址可能不同」。

選項分析

🔒

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

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

免費註冊

第 37 題2 分

下列何者非 Wi-Fi 無線網路的安全協定?

這一題的完整詳解

核心觀念

本題考 Wi-Fi 無線網路的安全協定,以及「無線區域網路」這個網路類型名稱的差異。

WEP、WPA、WPA2 都是曾用於 Wi-Fi 網路的安全協定,用來保護無線傳輸資料;WLAN 則是「無線區域網路」(Wireless Local Area Network)的簡稱,描述網路的類型,並非安全協定。

解題方法

逐一辨認各選項屬於「安全協定」還是「網路名稱」即可。WEP、WPA、WPA2 都與 Wi-Fi 連線的安全保護機制有關;WLAN 是無線區域網路的統稱,因此找出 WLAN 即可。

選項分析

🔒

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

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

免費註冊

第 38 題2 分

有關乙太網路的敘述,下列何者錯誤?

這一題的完整詳解

核心觀念

本題考乙太網路(Ethernet)的標準、拓樸、傳送方式與媒介存取控制。乙太網路由 IEEE 802.3 規範;IEEE 802.11 則是無線區域網路(Wi-Fi)的規範,兩者不可混淆。

解題方法

逐項核對各敘述是否符合乙太網路的典型特性。標準編號是最直接的判斷點:乙太網路對應 IEEE 802.3,因此將乙太網路說成採用 IEEE 802.11 的選項錯誤。

選項分析

  • (A) 採用 IEEE 802.11 規範。錯誤。 IEEE 802.11 規範無線區域網路;乙太網路採 IEEE 802.3 規範,因此本選項為題目所求的錯誤敘述。
  • **(B) 網路拓樸多採 star 架構。正確。
🔒

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

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

免費註冊

第 39 題2 分

在分級網路中,下列何者為 C 級網路所使用的網路遮罩?

這一題的完整詳解

核心觀念

本題考查傳統 IPv4「分級網路」的預設網路遮罩。IPv4 位址共 32 位元,A、B、C 級網路的網路位元長度分別為 8、16、24 位元;遮罩中網路位元設為 1、主機位元設為 0。

解題方法

C 級網路的預設遮罩有 24 個連續的 1,後接 8 個 0:

11111111.11111111.11111111.0000000011111111.11111111.11111111.00000000

每 8 位元換算成十進位後為:

255.255.255.0255.255.255.0

因此選項 (C) 正確。

選項分析

🔒

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

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

免費註冊

第 40 題2 分

有關網路使用倫理(Ethics)敘述,下列何者錯誤?

這一題的完整詳解

核心觀念

本題考查網路使用倫理與資訊安全的基本原則,包括尊重智慧財產權、遵守網路社群互動規範,以及未經授權不得對他人網路或主機進行安全測試。

弱點掃描會向目標主機或網路送出探測流量,以辨識可能存在的漏洞。即使目的是找出安全疑慮,也不代表可以在任何情況下任意掃描;進行前須取得系統或網路管理者的授權,並遵守約定的範圍與方式。

解題方法

題幹問「何者錯誤」,逐項檢視行為是否符合網路倫理:尊重他人著作與授權、發言時尊重他人並遵守法律,以及進行資安測試前取得適當授權。選項中以「任何情況下均可進行」作為絕對說法,違反授權與責任原則。

選項分析

🔒

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

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

免費註冊

其他考古題

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