114 原住民特考四等 電子工程類科 計算機概要 考古題詳解
第 1 題2 分
一般而言,處理器遇到下列何種情況,不會引起例外(exception)處理?
核心觀念
本題考處理器遇到不同狀況時,是否需要進入例外處理(exception handling)。
例外是處理器執行指令時發生的特殊事件,需暫停目前流程並交由例外處理機制處理。未定義指令及分頁失誤(page fault)都會引發例外;快取失誤則是處理器在快取中找不到所需資料或指令,硬體會向較低層記憶體取回,通常由處理器自動處理,不會引發例外。
解題方法
判斷重點是區分「快取階層內部的資料查找」與「虛擬記憶體分頁失誤」:
- 快取失誤時,資料仍可由主記憶體等較低層記憶體取得,屬於一般記憶體階層的處理流程。
- 若所需頁面不在主記憶體、必須由作業系統安排從硬碟載入,則會發生分頁失誤,處理器以例外機制轉交處理。
因此,題目問「不會引起例外處理」,應選一般由硬體自動處理的快取失誤。
選項分析
第 2 題2 分
CPU 執行指令的主要步驟,依次為下列何者?
核心觀念
本題考查 CPU 的指令週期。一條指令通常依序經過三個主要步驟:
- 擷取(Fetch):依程式計數器(PC)指出的位置,從記憶體取出指令。
- 解碼(Decode):控制單元分析指令內容,判斷要執行的操作及所需資料。
- 執行(Execute):由 CPU 執行指定操作,例如算術運算、資料搬移或跳躍。
解題方法
依照指令實際處理的先後順序判斷:CPU 必須先取得指令,才能分析指令內容;完成解碼後,才能執行指令。因此順序是:
第 3 題2 分
若要將數字 儲存到一個 16 位元的記憶體空間中,使用二的補數法(Two’s complement representation)表示為:
核心觀念
本題考查負整數的 16 位元二的補數表示法。先將正整數寫成固定 16 位元的二進位,再逐位反相並加 ,即可得到其相反數的二的補數表示。
解題方法
先求 的二進位:
因此, 的 16 位元表示為:
逐位反相:
再加 :
所以 的 16 位元二的補數表示為 。
選項分析
第 4 題2 分
將兩個八進位數字進行相減:,有關八進位結果,下列何者正確?
核心觀念
八進位以 為基數,每一位的數字只能是 到 。直式減法遇到不夠減時,需向左邊借 ,借來的數值相當於本位的 。
解題方法
由個位開始計算 :
- 個位: 不夠減 ,向八位借 ,因此 。
- 八位:原本的 借出 後剩下 ,。
- 六十四位:。
因此:
選項分析
第 5 題2 分
有關 NOR 閘的敘述,下列何者正確?
核心觀念
NOR 閘的輸出是 OR 閘輸出的反相。對輸入 、 而言:
只有當所有輸入皆為 時,NOR 輸出才為 ;只要任一輸入為 ,輸出便為 。NOR 閘也屬於「萬用閘」,可以只用 NOR 閘組合出 NOT、OR、AND 等基本邏輯功能,進而實現任意布林邏輯函數。
解題方法
先辨認 NOR 的定義:它是「OR 後反相」,再依真值表判斷各選項。接著確認 NOR 是否為萬用閘,即可選出正確敘述。
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
選項分析
第 6 題2 分
假設 和 做 XOR 邏輯運算的結果為 ,再將 和 做 XOR 邏輯運算,其結果下列何者正確?
核心觀念
本題考查 XOR(互斥或)的定義與性質。XOR 的結果在兩個輸入不同時為 ,相同時為 。其中同一個值與自己做 XOR,結果必為 :
解題方法
題目先定義:
再將 和 做 XOR:
利用 XOR 的結合律,可將式子整理為:
第 7 題2 分
假設 CPU 處理程序(Process)有 P1、P2、P3,其中 P1 所需時間為 15 毫秒;P2 所需時間為 7 毫秒;P3 所需時間為 10 毫秒。若 CPU 使用最短工作先處理(Shortest Job First, SJF)方式進行,平均等待時間(毫秒)下列何者正確?
核心觀念
本題考 最短工作先處理(Shortest Job First, SJF)排程與平均等待時間的計算。非搶先式 SJF 會先執行所需時間最短的程序;等待時間是程序從開始排程到實際取得 CPU 執行前所等待的時間。
解題方法
依執行時間由短至長排列:
假設三個程序同時到達,且採非搶先式 SJF:
| 程序 | 等待時間 |
|---|---|
| P2 | 毫秒 |
| P3 | 毫秒 |
| P1 | 毫秒 |
因此平均等待時間為:
第 8 題2 分
有關電腦作業系統(Operating System)中的分時系統(Time-Sharing System)特性,下列何者錯誤?
核心觀念
分時系統(Time-Sharing System)讓多個使用者透過終端機共用電腦資源。作業系統將 CPU 時間切成短暫的時間片,輪流分配給不同使用者的工作,使各工作能交錯執行,呈現出近似同時使用的效果。
分時系統常具備多元程式規劃,並透過使用者隔離、權限控管及資源管理,避免使用者的工作彼此不當干擾。
解題方法
判斷各選項是否符合分時系統的特性。關鍵在於分時系統只能縮短並公平分配 CPU 等候時間,不能保證使用者完全不用等待 CPU 回應;實際上,各工作仍須輪流取得 CPU 時間片。
選項分析
- (A) 使用者不需等待 CPU 回應:錯誤。 多個使用者共享 CPU,CPU 會依排程輪流服務各工作。使用者可能需要等待取得 CPU 時間片,因此不能說「不需等待」。
第 9 題2 分
下列哪種技術,可以用在 3D 物件上貼上圖片,使其具有特定的外觀,例如磚牆或木紋?
核心觀念
本題考 3D 電腦圖學中的紋理映射(Texture Mapping)。紋理映射是將 2D 圖片或紋理資料指定到 3D 物件表面,讓物件呈現磚牆、木紋、布料或圖案等外觀。
解題方法
題目問的是「在 3D 物件上貼上圖片」,關鍵在於把圖片內容映射到物件表面。這正是紋理映射的用途,因此選 (A)。
選項分析
- **(A) 紋理映射(Texture Mapping):正確。**將圖片或紋理貼附並映射到 3D 物件表面,以呈現特定的視覺外觀。
- **(B) 程序化建模(Procedural Modeling):錯誤。
第 10 題2 分
從技術的角度來說,虛擬實境(Virtual Reality)系統應包含三個基本主要特徵,以英文字首的縮寫為三個「I」。下列何者不屬於這三個基本特徵?
核心觀念
虛擬實境(Virtual Reality, VR)的三項基本特徵常以「3I」表示:融入(Immersion)、互動(Interaction)與想像(Imagination)。它們分別說明使用者的沉浸感、與虛擬環境的即時互動,以及虛擬情境所提供的想像空間。
解題方法
辨認題幹所說的「三個 I」,逐一核對選項的英文名稱與中文譯名。凡是不屬於 Immersion、Interaction、Imagination 的選項,即為本題答案。
選項分析
- (A) 實作(Implementation):錯誤選項。Implementation 的意思是實作或實施,不是 VR 三項基本特徵之一,因此符合題目所問。
第 11 題2 分
有關 HTML 敘述,下列何者正確?
核心觀念
HTML 是「超文字標記語言」(HyperText Markup Language),用標籤標示網頁內容的結構與意義,例如標題、段落、連結及圖片。瀏覽器會讀取 HTML 文件並呈現網頁。
解題方法
辨認 HTML 的用途即可:HTML 用來描述網頁內容的結構,屬於標記語言;它不是防毒程式、網頁存取協定,也不是執行網頁的程式。
選項分析
第 12 題2 分
下列是某個學校選課系統的資料庫,其中一個表格如下:
Enrollment(StudentID, ClassID, Classroom)
這個表格有以下規範:
(1) StudentID 是主鍵(Primary Key)。
(2) ClassID 屬性和 Classroom 屬性有相依性。
這個表格有違反哪一種正規化(Normalization)?
核心觀念
本題考查資料表的函數相依與第二、第三正規化(2NF、3NF)。
已知 StudentID 是主鍵,因此可推得:
題目另指出 ClassID 與 Classroom 有相依性,也就是:
這形成非主鍵屬性 Classroom 對主鍵 StudentID 的傳遞相依:
依第三正規化的判準,非主鍵屬性不應傳遞相依於候選鍵,因此此表違反 3NF。
解題方法
先確認主鍵,再檢查非主鍵屬性之間是否存在函數相依。
- 主鍵:
StudentID - 非主鍵屬性:
ClassID、Classroom - 相依關係:
StudentID → ClassID,且ClassID → Classroom
因此 Classroom 是透過 ClassID 間接依賴主鍵,構成傳遞相依。將表拆成 Enrollment(StudentID, ClassID) 與 Class(ClassID, Classroom),即可消除這項相依。
第 13 題2 分
在一個長度為 的陣列中,若要同時找出「最大值」與「最小值」,最少需要比較多少次才能完成?(不考慮其他資料結構或額外輔助陣列)
核心觀念
本題考查在陣列中同時找出最大值與最小值所需的比較次數。若分別掃描一次找最大值、再掃描一次找最小值,會需要 次比較;利用「兩兩分組」則能減少比較次數。
解題方法
將陣列元素兩兩比較。每一組只需一次比較,就能判定組內較大者與較小者;再分別將較大者與目前最大值比較、較小者與目前最小值比較。每兩個元素合計需要 次比較,因此平均每個元素需要 次比較。
若 為偶數,先用一次比較決定第一組的最大值與最小值,再處理剩餘 個元素:
若 為奇數,先將一個元素同時設為目前最大值與最小值,再處理剩餘元素:
第 14 題2 分
假設有一個序列 [A, B, C, D],僅能依照由左至右的順序推入(Push)至堆疊(Stack)中,而推入的過程中,在堆疊裡的資料可在任何時間點被移出(Pop)。下列何者不可能是移出時的順序?
核心觀念
本題考堆疊(Stack)的 後進先出(Last In, First Out,LIFO)特性:最後推入堆疊的資料,必須最先移出。輸入資料只能依序為 推入,但每次推入後可選擇繼續推入,或從堆疊頂端移出資料。
解題方法
依照選項指定的移出順序模擬操作。若下一個要移出的資料不在堆疊頂端,就必須先推入後續資料;若該資料已在堆疊內、但上方還有其他資料,便無法先將它移出。
選項分析
-
(A) :可行。 依序推入 、立即移出 ;再推入並移出 、、,即可得到此順序。
-
(B) :可行。 推入並移出 、;接著推入 、。此時 在堆疊頂端,先移出 ,再移出 ,符合指定順序。
第 15 題2 分
堆疊(Stack)是一種遵循下列何種原則的線性資料結構?
核心觀念
堆疊(Stack)是一種線性資料結構,遵循「後進先出」(Last In, First Out,LIFO)的原則:最後放入堆疊的資料,會最先取出。堆疊的插入與刪除通常都在同一端進行,該端稱為堆疊頂端(Top)。
解題方法
辨認堆疊的存取原則即可作答。若依序將資料 、、 放入堆疊,取出時會先取出 ,再取出 ,最後取出 ,因此是後進先出。選項 (B) 的 FILO(First In, Last Out,先進後出)表達相同的次序。
選項分析
第 16 題2 分
若對一棵二元樹進行「中序(Inorder)」走訪,並列印出每個節點的值,下列敘述何者正確?
核心觀念
二元樹的中序走訪(Inorder Traversal)依序處理:
走訪左右子樹時,也各自依照相同規則進行。因此,中序走訪會先沿著左側一路往下,直到最左側的節點,再回到其父節點繼續走訪。
解題方法
依中序走訪的定義,從根節點開始,先進入左子樹;若仍有左子節點,就繼續往左,直到抵達最左側節點並列印。接著回到父節點,再依序處理根節點與右子樹。
若最左側節點是葉節點,便會從該葉節點開始列印;若最左側節點不是葉節點,則應稱為「最左側節點」,而非「最左邊的葉節點」。本題官方答案為 C,採用的是常見二元樹題型中「由最左側葉節點開始,再往父節點走訪」的表述。
選項分析
第 17 題2 分
有關資料庫中 B-tree 的敘述,下列何者正確?
核心觀念
B-tree(B 樹)是平衡的多路搜尋樹,常用於資料庫與檔案系統的索引。它的平衡特性是:根節點到每個葉節點的路徑長度相同,讓搜尋、插入與刪除的效率維持穩定。
B-tree 的節點可容納多個鍵值,並可有多個子節點,因此它不是二元樹。一般以逐筆插入鍵值建立 B-tree;節點溢位時進行分裂,並將中間鍵值往父節點提升,調整過程由下往上進行。
解題方法
判斷本題的關鍵,是區分「樹的種類」、「平衡條件」與「建立時的調整方向」:
- B-tree 是多路搜尋樹,不是二元樹。
- B-tree 要維持平衡,根到各葉節點的路徑長度相同。
- 插入造成節點溢位時,會分裂節點並將鍵值提升至父節點,因此調整方向可描述為由下往上。
依此判斷,(D) 符合 B-tree 的建立與調整方式。
選項分析
(A) 又稱作二元樹(Binary Tree)。—錯誤
B-tree 是多路搜尋樹,節點可包含多個鍵值,也可有多個子節點;二元樹的每個節點最多只有兩個子節點。兩者結構不同,不能將 B-tree 稱為二元樹。
第 18 題2 分
下圖為一個無向圖(Undirected Graph),下列敘述何者錯誤?
(原卷此處包含無向圖圖形。)
核心觀念
本題考無向圖的「完全圖」、「連通圖」與「生成樹」:
- 完全圖:任意兩個不同節點之間都有一條邊。含 個節點的完全圖有 條邊。
- 連通圖:任意兩個節點之間都存在路徑。含 個節點的連通圖至少有 條邊;邊數不必固定。
- 生成樹:涵蓋圖中所有節點且不含環的樹。對連通圖執行廣度優先搜尋(BFS),可用搜尋時發現節點所經過的邊建構生成樹。
解題方法
先依圖判讀節點間的連線:圖中五個節點兩兩相連,因此是完全圖,也是連通圖。再檢查各選項的通則敘述:連通圖只保證能以至少 條邊連通所有節點,並不要求邊數恰為 ;該公式計算的是完全圖的邊數。
選項分析
第 19 題2 分
關於圖形(Graph)結構的敘述,下列何者錯誤?
核心觀念
圖形(Graph)由頂點(Vertex,也稱節點)與連接頂點的邊(Edge)組成,可記為 。依邊是否具有方向,可分為有向圖與無向圖。一般圖形允許同一對頂點之間有多條邊;若限制任兩個頂點間至多一條邊,則稱為簡單圖(Simple Graph)。
解題方法
逐項對照圖形的基本定義,特別留意選項是否把「一般圖形」的性質誤當成「簡單圖」的限制。選項 D 將每對頂點之間的邊數限制為一條,這不是所有圖形都必須符合的條件。
選項分析
(A) 正確。 圖形依邊是否有方向,可分為有向圖與無向圖。
第 20 題2 分
有關泡沫排序法(Bubble Sort)進行由小到大數字排序的關鍵步驟,下列何者正確?
核心觀念
泡沫排序(Bubble Sort)透過比較相鄰元素,若順序不符便交換位置,讓較小或較大的元素逐步移動。由小到大排序時,常見作法是由數列尾端向前比較相鄰元素,將當輪最小值逐步交換到尚未排序區段的前端。
解題方法
依題目所述「由小到大」排序,判斷每一輪的比較與交換會把哪個值推向哪一端。由尾端往前比較時,若前一個數比後一個數大,就交換;較小的數便會逐步往前移,直到抵達未排序區段的前端。
例如數列為 ,由尾端往前比較:
- 比較 與 ,順序正確,不交換。
- 比較 與 ,順序不符,交換為 。
此輪將最小值 推到前端,符合選項(A)的描述。
選項分析
第 21 題2 分
下列何種排序(Sorting)的方式,可以在最差的情況下(Worst Case)維持最好的效能?
核心觀念
本題考查各種排序法在最差情況下的時間複雜度。排序資料筆數為 時:
- 堆積排序(Heap Sort):最差時間複雜度為 。
- 插入排序(Insertion Sort):最差時間複雜度為 。
- 快速排序(Quick Sort):最差時間複雜度為 。
- 選擇排序(Selection Sort):最差時間複雜度為 。
最差情況下的時間複雜度階數越低,演算法效能越好。因此, 優於 。
解題方法
比較四種排序法的最差時間複雜度:
| 排序法 | 最差時間複雜度 | 說明 |
|---|---|---|
| 堆積排序 | 建立堆積並反覆取出最大值或最小值 | |
| 插入排序 | 每次插入都可能移動前面所有元素 | |
| 快速排序 | 分割極不平均時,遞迴深度可達 | |
| 選擇排序 | 每一輪都需掃描尚未排序的資料 |
堆積排序的最差時間複雜度仍為 ;快速排序雖然平均效能良好,但最差情況會退化為 。故本題問「最差的情況下」時,應選堆積排序。
選項分析
第 22 題2 分
有關二元搜尋法(Binary Search)要求搜尋前的資料,具有下列何種特性?
核心觀念
二元搜尋法(Binary Search)每次比較資料區間中間位置的值,並依比較結果,捨棄不可能包含目標值的一半資料。要正確判斷該保留左半部或右半部,搜尋前的資料必須已按相同規則排序。
例如,資料由小到大排列時,若中間值小於目標值,就能排除中間位置左側的資料;若中間值大於目標值,就能排除右側資料。
解題方法
題目問的是二元搜尋法開始搜尋前,資料須具備的特性。判斷關鍵在於:每次比較中間值後,能否根據大小關係排除一半資料。只有資料已排序,這種判斷才成立,因此選項 (B) 正確。
選項分析
第 23 題2 分
考慮下列 C 語言的函數(Function)原型(Prototype)宣告:
int foo(int **a, float b[ ], int c);
此副程式 foo 的參數傳遞方法,依序分別為:
核心觀念
C 語言的函數參數在呼叫時,都是以「傳值」方式傳入:函數取得的是引數值的副本。題目中的「傳址」是常見的教科書簡稱,指傳入指標,使函數能透過該指標存取或修改呼叫端所指向的資料;嚴格來說,C 並沒有真正的「傳址呼叫」。
判斷本題時,依各參數的型別看它是否為指標:
int **a:a是「指向int指標的指標」。float b[]:函數參數中的陣列宣告會調整為指標型別,即float *b。int c:一般整數值。
解題方法
依序辨認參數型別,並判斷傳入值是否為指標:
int **a是指標型別,呼叫時傳入的是位址值,因此依題目慣例稱為傳址。float b[]在函數參數中等同於float *b,也是指標型別,因此稱為傳址。int c是一般整數型別,傳入整數值的副本,因此稱為傳值。
第 24 題2 分
假設 int 型態的大小為 4 bytes,若有一個 int arr[10] 的陣列,其起始位址是 1000(十進位)。有關 arr[5] 的記憶體位址是多少?
核心觀念
陣列元素在記憶體中連續排列;第 個元素的位址計算式為:
C 語言陣列索引從 開始,因此 arr[0] 位於起始位址,arr[5] 則需往後移動 個元素。
解題方法
題目給定起始位址為 ,且每個 int 占 bytes。從 arr[0] 移至 arr[5],需跨過 個 int:
因此,arr[5] 的記憶體位址是十進位的 。
選項分析
第 25 題2 分
關於程式語言的設計敘述,下列何者錯誤?
核心觀念
本題考程式設計的基本原則:副程式的主要用途是將程式切分成可重複使用、較容易維護與測試的模組;結構化程式設計的三種基本控制結構;以及 C++ 的程式設計典範與變數命名原則。
解題方法
逐項判斷敘述是否符合程式設計的基本概念。特別留意「使用副程式」與「加快程式執行速度」並非必然因果:副程式能改善程式的組織與重用性,但呼叫副程式本身可能帶來額外開銷,因此不能概括說使用副程式就會讓程式執行更快。
選項分析
- (A) 錯誤。 副程式可將功能拆分、重複使用,提升程式的可讀性、可維護性與模組化程度,但不保證加快執行速度。呼叫副程式通常涉及參數傳遞、流程轉移等成本;特定情況下,編譯器可能透過內嵌等最佳化降低成本,但這不代表使用副程式必然較快。因此本選項是錯誤敘述。
- **(B) 正確。
第 26 題2 分
根據下列 C 語言的程式碼,下列何者正確?
if (a < 6) b = a + 2; else if (a < 10) b = a + 4; else b = a + 6;
核心觀念
本題考查 C 語言 if...else if...else 的條件判斷與執行順序。程式由上而下檢查條件;第一個成立的分支執行後,後續分支便不再執行。
解題方法
依序將各選項的 值代入,判斷第一個成立的條件,再計算該分支指定的 值:
- : 不成立,接著 成立,因此 。
- : 不成立,接著 成立,因此 。
- : 與 都不成立,因此 。
- : 與 都不成立,因此 。
選項分析
第 27 題2 分
有關 XML(Extensible Markup Language)的敘述,下列何者錯誤?
核心觀念
XML(Extensible Markup Language,可延伸標記語言)是一種以標籤描述資料的文字格式,常用於不同系統之間交換資料。XML 的標籤可由使用者依資料內容自行命名,並能以巢狀結構表示資料間的包含關係。
解題方法
逐項比對 XML 的基本特性,找出與其語法規則相反的敘述。XML 元素可以包含其他元素,因此標籤能夠巢狀排列;否認這項特性的選項就是錯誤選項。
選項分析
第 28 題2 分
下列函式為檢測一個整數是否為質數。有關第 8 行 for(____) 程式,下列何者正確?
bool prime_or_not(int n) { if (n == 1) return false;
if (n == 2)
return true;
if (n % 2 == 0)
return false;
for(____)
if (n % i == 0)
return false;
return true;
}
核心觀念
質數是大於 ,且只有 與自身兩個正因數的整數。檢查整數 是否為質數時,不必測試到 ;只要檢查不大於 的整數即可。
若 是合數,可寫成 。若 和 都大於 ,則 ,不成立。因此,合數必定至少有一個因數不大於 。
程式先處理 、,再排除大於 的偶數。剩下需要檢查的是大於 的奇數,所以試除數從 開始,每次增加 。
解題方法
適合的迴圈條件須同時符合兩點:
- 從第一個尚未排除的奇數 開始。
- 只檢查到 ,並以 為間隔跳過偶數。
因此應寫成:
for (int i = 3; i <= sqrt(n); i += 2)
若在迴圈中找到 可整除 ,即 ,代表 有除 與自身以外的因數,便回傳 false;若試到 仍沒有因數,則回傳 true。
第 29 題2 分
下列程式執行後的結果,何者正確?
#include <iostream> #include <iomanip> using namespace std;
int main() { int data[][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {8, 7, 6, 5}, {4, 3, 2, 1}};
for (int i = 0; i < 4; i++)
cout << data[i][2];
return 0;
}
核心觀念
本題考二維陣列的索引方式。data[][4] 表示每一列有 4 個元素;C++ 陣列索引從 0 開始,因此每列的欄索引依序是 0、1、2、3。
解題方法
程式中的迴圈讓 i 依序取 0、1、2、3,每次輸出 data[i][2],也就是逐列取出第 3 欄:
i | data[i][2] | 輸出 |
|---|---|---|
| 0 | 3 | 3 |
| 1 | 7 | 7 |
| 2 | 6 | 6 |
| 3 | 2 | 2 |
cout 未加入空格或換行,因此輸出會連在一起,結果為 3762。
選項分析
第 30 題2 分
下列的 C++ 程式碼片段,下列敘述何者錯誤?
#include <iostream> using namespace std;
class StudentClass { private: string name; int grade;
public: StudentClass() { name = ""; grade = 1; }; };
int main() { StudentClass s1;
/* 以下省略 */
}
核心觀念
本題考查 C++ 類別的建構子初始化與 private 存取權限。
StudentClass 的預設建構子會在建立物件時執行:
name = "";:將name設為空字串。grade = 1;:將grade設為整數 。
此外,name 與 grade 都宣告在 private: 區段,因此它們是類別的私有資料成員。類別外的程式碼不能直接存取這些成員;main 也屬於類別外部。
解題方法
先看物件建立時會執行哪個建構子,判斷成員的初始值;再根據成員的存取權限,判斷 main 是否能直接讀取它們。
StudentClass s1;
這行會呼叫 StudentClass,因此 s1.name 的值為空字串,s1.grade 的值為 。
第 31 題2 分
對於 C++ 程式語言,下列敘述何者正確?
核心觀念
本題考查 C++ 物件的建構時機與解構時機。物件並非只要在程式碼中有宣告,就一定會在執行過程中完成建構;是否建構,與物件的儲存期及程式流程有關。
具有靜態儲存期的物件,在程式啟動時完成初始化後,會在程式終止時解構。局部自動物件則通常在執行流程離開其作用範圍時解構,不必等到整個程式結束。
解題方法
逐一檢查選項中的「所有」與「才可以」等絕對用語,並區分兩件事:物件是否實際完成建構,以及建構後何時解構。只要存在一種符合 C++ 規則的情形,就能判斷絕對敘述是否成立。
選項分析
(A) 錯誤。 物件不必等到程式中所有物件都建構完成後,才開始解構。例如函式中的局部物件在函式返回、離開作用範圍時就會解構;此時程式其他部分的物件可能尚未建構,或仍會在之後建構。
第 32 題2 分
在物件導向程式(Object-Oriented Programming)中,類別(Class)的作用,下列敘述何者正確?
核心觀念
本題考查物件導向程式設計中「類別(Class)」與「物件(Object)」的關係。類別是建立物件的範本,會描述物件具有哪些資料(屬性)與可執行哪些操作(方法);依照類別建立出的個別實體,稱為物件。
解題方法
判斷各選項是否符合「類別用來定義物件的共同結構與行為」即可。題目問的是類別的主要作用,不是程式執行計算、檔案分類或節省記憶體。
選項分析
- (A) 在程式中執行計算。 錯誤。計算通常由運算式或方法執行。類別可以定義執行計算的方法,但類別本身的主要作用不是直接執行計算。
第 33 題2 分
在神經網路中,有關「神經元」(Neuron)的作用,下列何者正確?
核心觀念
神經網路中的神經元是執行運算的基本單位。它會接收來自其他神經元或輸入層的資訊,依據連結權重與偏置進行計算,再經由活化函數產生輸出,傳送給後續神經元。
解題方法
辨認神經元的功能即可:它負責「接收輸入、進行計算、產生輸出」,不是電腦中的儲存裝置或硬體控制器。因此,符合神經元作用的是「接收資訊並進行計算」。
選項分析
第 34 題2 分
關於 IPv6 的敘述,下列何者錯誤?
核心觀念
本題考 IPv6 的標頭格式、位址長度與文字表示法。IPv6 位址長度為 128 bits,通常寫成八組 16 bits 的十六進位數字,以冒號分隔。連續的零組可用 :: 縮寫一次。
解題方法
先判斷各選項是否符合 IPv6 的基本定義。IPv4 與 IPv6 都有標頭,但兩者的標頭格式不同;再檢查位址長度、分段方式,以及 :: 壓縮寫法是否符合規則。
選項分析
- (A) 錯誤,為本題答案。 IPv6 的標頭格式與 IPv4 不同。IPv6 基本標頭固定為 40 bytes,欄位設計也有變更;例如 IPv4 的標頭檢查碼、分段相關欄位在 IPv6 的基本標頭中不再以相同方式存在。因此不能說兩者格式相同。
- **(B) 正確。
第 35 題2 分
在 OSI 七層模型中,路由器(Router)是網路中負責選擇與轉送資料封包路徑的重要設備。有關路由器主要工作於 OSI 模型的下列何一層?
核心觀念
本題考查 OSI 七層模型中各層的主要功能,以及路由器負責的工作。OSI 模型由下而上依序為:實體層、資料鏈路層、網路層、傳輸層、會議層、表達層、應用層。
路由器根據網路位址(例如 IP 位址)判斷封包的目的網路,並選擇適當路徑轉送,因此主要工作於網路層。
解題方法
抓住題幹中的「選擇與轉送資料封包路徑」:這涉及判斷封包要前往哪個網路,屬於網路層的路由功能。路由器會參考路由表等資訊選擇轉送路徑,故選網路層。
選項分析
第 36 題2 分
有關 OAuth 2.0 授權框架(OAuth 2.0 Authorization Framework),下列敘述何者正確?
核心觀念
OAuth 2.0 是一種授權框架,用途是讓使用者授權第三方應用程式,在限定範圍內存取其受保護的資源。第三方應用程式使用授權取得的權杖(Access Token)代表使用者存取資源,無須取得或知道使用者的帳號密碼。OAuth 2.0 本身處理的是「授權」,不是加密或雙因子認證。
解題方法
先辨認 OAuth 2.0 的核心目的:第三方應用程式可在使用者授權後,取得範圍受限的存取權。再檢查各選項是否把授權與加密、身分驗證方式或特定裝置平台混為一談。
選項分析
- (A) 它主要用於加密用戶數據。錯誤。 OAuth 2.0 不負責加密使用者資料,而是規範授權流程及存取權杖的使用。資料傳輸的機密性通常由 TLS 等機制保護。
第 37 題2 分
當使用者瀏覽某些網站時,瀏覽器會在本機儲存 cookies。有關 cookies 的功能,下列敘述何者錯誤?
核心觀念
本題考查 Cookie 的用途與限制。Cookie 是網站透過瀏覽器儲存在使用者本機的小型資料,常用來維持登入狀態、記錄偏好設定,或協助網站與廣告商辨識使用者。它不是用來保存網頁內容的快取機制。
解題方法
逐一判斷敘述是否符合 Cookie 的典型用途。關鍵在於區分 Cookie 與 瀏覽器快取:Cookie 儲存的是網站設定或識別資訊;快取則可保存網頁資源,例如圖片、樣式表及其他靜態檔案,以減少重複下載、加快載入。
選項分析
(A) 正確。 網站可透過 Cookie 保存登入識別資訊,讓使用者再次造訪時維持登入狀態,減少重新輸入帳密的需要。實際登入通常還須配合伺服器端的工作階段管理。
第 38 題2 分
有關物件導向(Object-Oriented)語言,下列何者錯誤?
核心觀念
本題考查程式語言是否支援物件導向(Object-Oriented)程式設計。物件導向常以類別(class)與物件(object)組織程式,並運用封裝、繼承與多型等特性。判斷時須區分「語言是否支援物件導向」與「語言是否只能採用物件導向」:語言支援物件導向,不代表所有程式都必須以物件方式撰寫。
解題方法
逐一判斷選項中的語言是否具備物件導向程式設計能力。Python、Java、C# 都是常見的物件導向語言;Pascal 的傳統形式主要採程序導向,雖有物件導向延伸版本,但依本題一般考試分類,Pascal 為錯誤選項。
選項分析
第 39 題2 分
使用 Email 與遠方的使用者通訊時,下列何種通訊協定定義兩部電腦的互動方式?
核心觀念
本題考查應用層通訊協定的功能。使用 Email 傳送郵件時,**SMTP(Simple Mail Transfer Protocol,簡易郵件傳輸協定)**負責規範郵件伺服器之間,以及用戶端與郵件伺服器之間的郵件傳送互動。
解題方法
先辨認題幹情境是「使用 Email 與遠方使用者通訊」,再對照各協定的主要用途。電子郵件的寄送與轉送使用 SMTP,因此選擇 SMTP。
題目所說的「定義兩部電腦的互動方式」,可理解為協定規範通訊雙方如何交換郵件及回應;在電子郵件傳送情境中,符合此用途的是 SMTP。
選項分析
第 40 題2 分
你的朋友發現一個駭客網站,聲稱能夠破解社群帳號,並邀請你一起使用,下列敘述何者正確?
核心觀念
本題考查資訊安全與網路行為的法律責任。未經他人同意,嘗試取得或控制社群帳號,可能侵害他人帳號與資料安全,並涉及刑事責任。以命題當年(民國 114 年)法規為準,《刑法》第 358 條規範無故輸入他人帳號密碼、破解電腦安全措施或利用電腦系統漏洞而入侵他人電腦或相關設備的行為;其他不當取得或使用他人資料的行為,也可能依具體情形涉及其他法律責任。
解題方法
先辨認網站宣稱提供的服務是「破解社群帳號」,也就是未經授權侵入帳號的行為。接著判斷各選項是否拒絕參與、嘗試破解或協助散布。遇到涉及未授權存取的情境,應拒絕操作,也不應協助宣傳。
選項分析