113 高普考普通考試 電信工程 計算機概要 考古題詳解

113 年・高普考・普通考試・電信工程
試題代碼 計算機概要

第 1 題2 分

下列二進位數值中,何者與十進位數值 6.766.76 最為接近?

這一題的完整詳解

核心觀念

二進位小數的每一位,依序代表 2−12^{-1}、2−22^{-2}、2−32^{-3}……。因此,二進位小數可換算成十進位數值,再與 6.766.76 比較距離。

解題方法

選項中的整數部分與小數部分分別換算:

  • (A) 0111.1002=7+12=7.50111.100_2=7+\frac{1}{2}=7.5
  • (B) 0110.1012=6+12+18=6.6250110.101_2=6+\frac{1}{2}+\frac{1}{8}=6.625
  • (C) 0110.1102=6+12+14=6.750110.110_2=6+\frac{1}{2}+\frac{1}{4}=6.75
  • (D) 0110.1112=6+12+14+18=6.8750110.111_2=6+\frac{1}{2}+\frac{1}{4}+\frac{1}{8}=6.875

各選項與 6.766.76 的差距為:

🔒

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

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

免費註冊

第 2 題2 分

將十進位數字 −93-93 用八位元的二補數(2’s complement)表示,答案為:

這一題的完整詳解

核心觀念

八位元二補數以最高位元作為符號位。正數以一般二進位表示;負數可由其絕對值的二進位逐位取反,再加 11 得到。八位元二補數的表示範圍為 −128-128 至 127127,因此 −93-93 可用八位元表示。

解題方法

先將 9393 轉成八位元二進位:

93=64+16+8+4+1=0101_110193 = 64+16+8+4+1 = 0101\_1101

逐位取反:

0101_1101⟶1010_00100101\_1101 \longrightarrow 1010\_0010

再加 11:

1010_0010+1=1010_00111010\_0010 + 1 = 1010\_0011

所以 −93-93 的八位元二補數為 1010_00111010\_0011。

選項分析

🔒

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

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

免費註冊

第 3 題2 分

下列 I/O 介面,何者不能用來連結電腦和外接式光碟機?

這一題的完整詳解

核心觀念

本題考「I/O 介面」的用途:哪些介面能傳輸電腦與外接式光碟機之間的資料。SCSI、IEEE 1394(FireWire)及 USB 都曾用於連接外接儲存設備;HDMI 的用途則是傳送影音訊號至顯示器等影音設備,不是光碟機的資料傳輸介面。

解題方法

先辨認各介面的主要用途,再看它是否適合連接外接式光碟機。外接光碟機需要透過介面傳輸讀取到的資料;能連接外接儲存設備的介面符合需求,主要用於影音輸出的介面則不符合。

選項分析

  • (A) HDMI:錯誤選項,亦為本題答案。 HDMI 是影音介面,主要用來將電腦或播放設備的影像、音訊輸出至螢幕、電視等設備,不能用來連結電腦與外接式光碟機。
🔒

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

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

免費註冊

第 4 題2 分

某個編碼器(encoder)共有 45 條輸入線(輸入值只有 1 個位元是 1,其餘 44 位元是 0),則該編碼器至少要有多少條輸出線?

這一題的完整詳解

核心觀念

本題考編碼器(encoder)的輸入與輸出位元數。題目所述為「一次只有一條輸入線為 1」的輸入型態,因此 45 條輸入線中共有 45 種可能的有效輸入狀態。輸出位元必須足以區分這 45 種狀態。

若輸出線有 nn 條,最多可表示 2n2^n 種不同編碼,因此須滿足:

2n≥452^n \ge 45

解題方法

依序比較 2 的次方:

25=32<45,26=64≥452^5=32<45,\qquad 2^6=64\ge45

所以至少需要 6 條輸出線,才能為 45 種輸入狀態各指定一個不同的二進位編碼。

選項分析

🔒

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

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

免費註冊

第 5 題2 分

有關比較一個二進位數字、一個十進位數字和一個十六進位數字,下列何者為正確的大小關係?

這一題的完整詳解

核心觀念

不同進位制的數字不能直接比較,須先換算成相同進位。二進位每一位代表 22 的冪,十六進位每一位代表 1616 的冪;十進位則是一般的整數表示。

解題方法

將三個數都換算為十進位:

(10110101)2=1×27+0×26+1×25+1×24+0×23+1×22+0×21+1×20=128+32+16+4+1=181(10110101)_2 =1\times2^7+0\times2^6+1\times2^5+1\times2^4+0\times2^3+1\times2^2+0\times2^1+1\times2^0 =128+32+16+4+1 =181

十六進位中,B=11B=11,因此:

(B3)16=11×161+3×160=176+3=179(B3)_{16}=11\times16^1+3\times16^0=176+3=179

(175)10(175)_{10} 已是十進位數。比較得:

181>179>175181>179>175
🔒

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

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

免費註冊

第 6 題2 分

某些電腦會有 TLB(Translation Look-aside Buffer)硬體,下列何者為 TLB 的主要功能?

這一題的完整詳解

核心觀念

TLB(Translation Look-aside Buffer,快表)是位於處理器記憶體管理單元中的小型高速快取,用來儲存近期使用過的「虛擬頁碼與實體頁框碼」對應關係。它的主要功能是加速虛擬位址轉換,減少每次存取記憶體時查詢頁表所需的時間。

解題方法

判斷 TLB 的功能時,先抓住「位址轉換」這個關鍵詞。虛擬位址通常由虛擬頁碼與頁內位移組成;頁表提供虛擬頁碼對應的實體頁框碼,而頁內位移保持不變。若 TLB 中找到該筆對應資料(TLB 命中),便可快速取得實體頁框碼;若未命中,則需查詢頁表,並可將結果放入 TLB 供後續使用。

因此,TLB 加速的是虛擬位址到實體位址的轉換,不是一般快取資料的命中率,也不負責 I/O 傳輸。

選項分析

🔒

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

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

免費註冊

第 7 題2 分

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

這一題的完整詳解

核心觀念

循環排班法(Round Robin, RR)依佇列順序輪流分配 CPU,每次最多執行一個時間片;若行程尚未完成,就回到佇列尾端。平均等待時間是各行程在佇列中等待 CPU 的時間總和除以行程數。

本題三個行程的 CPU 執行時間分別為 15、12、3015、12、30,時間片 q=3q=3,依序記為 P1、P2、P3P_1、P_2、P_3。

解題方法

依 RR 規則排出執行順序,直到各行程完成:

P1(0–3)→P2(3–6)→P3(6–9)→P1(9–12)→P2(12–15)→P3(15–18)P_1(0\text{–}3)\to P_2(3\text{–}6)\to P_3(6\text{–}9) \to P_1(9\text{–}12)\to P_2(12\text{–}15)\to P_3(15\text{–}18)

此後 P2P_2 已執行完畢,佇列剩下 P1、P3P_1、P_3,依序輪替:

P1(18–21)→P3(21–24)→P1(24–27)→P3(27–30)→P1(30–33)→P3(33–36)P_1(18\text{–}21)\to P_3(21\text{–}24) \to P_1(24\text{–}27)\to P_3(27\text{–}30) \to P_1(30\text{–}33)\to P_3(33\text{–}36)

P1P_1 在時間 3333 完成;接著 P3P_3 獨自執行最後的 1212 單位時間,於時間 4545 完成。因此完成時間為:

C1=33,C2=15,C3=45C_1=33,\qquad C_2=15,\qquad C_3=45

三個行程均在時間 00 到達,等待時間可用「完成時間減去 CPU 執行時間」計算:

🔒

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

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

免費註冊

第 8 題2 分

下列何種技術讓機器語言執行檔,可以在不同的處理機指令集上執行?

這一題的完整詳解

核心觀念

本題考「虛擬機器」如何協助程式跨不同處理機指令集執行。不同處理機可能使用不同的機器指令,某一種處理機的機器語言執行檔,通常不能直接由另一種指令集的處理機執行。

虛擬機器可提供一個抽象的執行環境,由虛擬機器或其執行引擎處理程式指令與實際處理機指令集之間的差異,使程式能在不同平台上執行。

解題方法

抓住題幹的關鍵詞「不同的處理機指令集」。能處理跨平台執行問題的技術,是提供跨平台執行環境的虛擬機器;其餘選項分別與儲存空間、沉浸式體驗或網路連線有關,無法解決指令集不同的問題。

選項分析

  • (A) 虛擬機器(Virtual Machine)—正確 虛擬機器提供程式執行所需的抽象環境。若程式以虛擬機器可辨識的指令或中介格式執行,虛擬機器可透過直譯或即時編譯等方式,將其轉換或對應到所在處理機的指令,因此能支援跨不同處理機指令集的平台執行。依本題命題意旨,答案為此選項。
🔒

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

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

免費註冊

第 9 題2 分

下列何種壓縮方法是屬於無損耗壓縮(lossless compression)?

這一題的完整詳解

核心觀念

本題考「無損耗壓縮」與「有損耗壓縮」的差別。無損耗壓縮可在解壓縮後完整還原原始資料;有損耗壓縮則會捨棄部分資訊,解壓縮後無法逐位元還原原檔。

解題方法

辨認各選項的壓縮方法及其典型用途:JPEG、MPEG、MP3 通常透過捨棄人眼或人耳較不易察覺的資訊來降低檔案大小,屬於有損耗壓縮;Run-length encoding(RLE,游程編碼)則將連續重複的資料改以「資料值+重複次數」表示,解碼後能還原原始資料,因此是無損耗壓縮。

例如,資料序列 AAAAABBB 可編碼成「A 重複 5 次、B 重複 3 次」,解碼後仍能完全還原。

選項分析

🔒

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

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

免費註冊

第 10 題2 分

某個關聯式資料庫中,已有一個關聯(relation)表 Student1,其屬性(attributes)包括 reg_no、name、score、address。對 Student1 使用下列哪一種關聯運算,可以產生一個新的關聯表 Student2,其屬性只包括 reg_no、name、address?

這一題的完整詳解

核心觀念

本題考關聯代數中的投影(Project)。投影用來選取關聯表中的特定屬性,形成只包含所選欄位的新關聯;其他未選取的屬性會被排除。

解題方法

原關聯表 Student1 的屬性為:

{reg_no, name, score, address}\{reg\_no,\ name,\ score,\ address\}

題目要求新表 Student2 只保留 reg_no、name、address,也就是選取欄位並移除 score。因此對 Student1 進行投影:

Student2=πreg_no, name, address(Student1)Student2 = \pi_{reg\_no,\ name,\ address}(Student1)

選項分析

🔒

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

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

免費註冊

第 11 題2 分

設有 16 位元運算 AA 如下:(1000 1110 1010 0101)2(1000\ 1110\ 1010\ 0101)_2。今欲使用運算子與運算元 BB,以將位於運算元 AA 中間的 8 位元取補數(Complement),使用的運算子與運算元 BB 應為何者?

這一題的完整詳解

核心觀念

本題考位元邏輯運算。XNOR(同或)在兩個輸入位元相同時輸出 11,不同時輸出 00;因此,對某一位元與 11 做 XNOR,結果會是該位元的補數:

xXNOR⁡1=x‾x \operatorname{XNOR} 1 = \overline{x}

題目要求將 AA 中間的 8 位元取補數,其餘位元維持不變。

解題方法

將 AA 依 4 位元分組:

A=(1000 1110 1010 0101)2A=(1000\ 1110\ 1010\ 0101)_2

中間的 8 位元是 1110 10101110\ 1010;兩側的 8 位元是 10001000 與 01010101。要用 XNOR 達成目標,BB 在中間 8 位元須為 11,讓這些位元取補數;兩側則須為 00,讓這些位元保持不變。因此:

B=(0000 1111 1111 0000)2B=(0000\ 1111\ 1111\ 0000)_2

逐位運算可得:

AXNOR⁡B=(1000 1110 1010 0101)2XNOR⁡(0000 1111 1111 0000)2=(1000 0001 0101 0101)2\begin{aligned} A \operatorname{XNOR} B &=(1000\ 1110\ 1010\ 0101)_2 \operatorname{XNOR}(0000\ 1111\ 1111\ 0000)_2\\ &=(1000\ 0001\ 0101\ 0101)_2 \end{aligned}

中間的 1110 10101110\ 1010 變成其補數 0001 01010001\ 0101,兩側則保持不變。

選項分析

🔒

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

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

免費註冊

第 12 題2 分

小明欲將 45 插入如圖所示的二元搜尋樹(Binary Search Tree),他應該將 45 放到下列哪一個節點(node)?

(灰色節點為目前有資料的節點)

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

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

核心觀念

二元搜尋樹(Binary Search Tree, BST)遵守以下規則:

  • 左子樹所有節點值均小於父節點。
  • 右子樹所有節點值均大於父節點。
  • 插入新值時,從根節點開始逐層比較,直到找到適當的空白子節點。

圖中灰色節點表示已有資料,白色節點表示可插入資料的空節點。

解題方法

將 4545 由根節點 5050 開始比較:

  1. 45<5045<50,往左子樹走。
  2. 45>3045>30,往 3030 的右子樹走。
  3. 45>4045>40,往 4040 的右子樹走。
  4. 4040 的右子節點為空白節點「戊」,因此將 4545 插入「戊」。

路徑可表示為:

50→30→40→戊50 \rightarrow 30 \rightarrow 40 \rightarrow \text{戊}

插入後,4545 位於 4040 的右子樹,且仍符合二元搜尋樹的排序規則。

選項分析

🔒

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

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

免費註冊

第 13 題2 分

二維陣列的索引可以表示成列與行,現以列主序(Row-major)的方式將陣列 ABC[−5:10,3:8]ABC[-5:10,3:8] 排列在記憶體中,且設定此陣列的初始記憶體位置為 1200。假設此陣列的每個元素皆需要 8 個位元組(Bytes)的儲存空間。試算陣列元素 ABC[1,4]ABC[1,4] 的儲存,應始於哪個記憶體位置?

這一題的完整詳解

核心觀念

二維陣列採**列主序(Row-major)**時,同一列中的行索引連續排列。計算某元素的位址,須先算出它與陣列首元素相差幾個元素,再乘上每個元素的位元組數。

陣列 ABC[−5:10,3:8]ABC[-5:10,3:8] 的列索引範圍為 −5-5 至 1010,行索引範圍為 33 至 88。列主序位址公式為:

位址⁡(ABC[i,j])=起始位址⁡+((i−L1)×N2+(j−L2))×w\operatorname{位址}(ABC[i,j]) = \operatorname{起始位址} + \bigl((i-L_1)\times N_2+(j-L_2)\bigr)\times w

其中 L1,L2L_1,L_2 是兩個索引的下界,N2N_2 是每列的元素數,ww 是每個元素的大小。

解題方法

本題中,第二維行索引共有:

N2=8−3+1=6N_2=8-3+1=6

從陣列首元素 ABC[−5,3]ABC[-5,3] 到 ABC[1,4]ABC[1,4]:

  • 前面有 1−(−5)=61-(-5)=6 列,每列 66 個元素,共 6×6=366\times6=36 個元素。
  • 在目標列中,從行索引 33 到 44,前面有 4−3=14-3=1 個元素。
🔒

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

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

免費註冊

第 14 題2 分

在一個有 nn 筆資料、依照鍵值排好序的陣列中,尋找一筆鍵值為特定數值的資料,最差情況(worst case)之時間複雜度為何?

這一題的完整詳解

核心觀念

本題考查已排序陣列的搜尋效率。資料依鍵值排序後,可使用二分搜尋(binary search):每次比較都檢查目前範圍的中間位置,再依比較結果排除左半或右半的資料。

解題方法

若目前搜尋範圍有 nn 筆資料,每次二分搜尋後,範圍約縮小為原來的一半。經過 kk 次比較後,剩餘範圍約為:

n2k\frac{n}{2^k}

當範圍縮小至 1 筆時,令 n2k≤1\frac{n}{2^k} \le 1,可得 k≥log⁡2nk \ge \log_2 n。因此最差情況下,搜尋時間複雜度為 O(log⁡n)O(\log n),選 (B)。

選項分析

🔒

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

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

免費註冊

第 15 題2 分

一個原來為空的堆疊,經過 Push(a)、Push(b)、Pop()、Push(c)、Pop()、Push(d)、Push(e),則堆疊中的資料,由上而下順序為:

這一題的完整詳解

核心觀念

本題考查堆疊(Stack)的後進先出(LIFO, Last In, First Out)特性:最後放入堆疊的資料會最先取出。Push(x) 將資料放到堆疊頂端;Pop 移除並取出頂端資料。

解題方法

依序執行操作,並以「頂端在左」記錄堆疊內容:

操作堆疊內容(由上而下)
初始空
Push(a)a
Push(b)ba
Popa
Push(c)ca
Popa
Push(d)da
Push(e)eda

因此,最後堆疊由上而下為 eda。

選項分析

🔒

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

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

免費註冊

第 16 題2 分

下列 C++ 之型態,所占的記憶體何者最大?

這一題的完整詳解

核心觀念

本題考 C++ 基本數值型態的記憶體大小。一般教科書與常見考試環境中,float 通常為 4 位元組、int 通常為 4 位元組、long 通常為 4 或 8 位元組、double 通常為 8 位元組。

C++ 標準沒有規定這些型態在所有平台上都必須占用固定的位元組數;精確大小會受編譯器與平台影響。不過依本題採用的常見教科書設定,double 的大小為 8 位元組,為四個選項中最大者。

解題方法

比較各型態在常見考試環境中的記憶體大小:

型態常見大小
float4 位元組
int4 位元組
long4 或 8 位元組
double8 位元組
🔒

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

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

免費註冊

第 17 題2 分

若某完滿二元樹(Full binary tree)有 nn 個葉節點(Leaf nodes),則該樹總共有多少個節點?

這一題的完整詳解

核心觀念

完滿二元樹(Full binary tree)中,每個內部節點恰有 22 個子節點。設葉節點數為 nn,內部節點數為 ii,則總節點數為 n+in+i。

解題方法

每個內部節點連出 22 條邊,因此全樹的邊數為 2i2i。另一方面,任何具有 n+in+i 個節點的樹,邊數都等於節點數減 11,所以:

2i=(n+i)−12i=(n+i)-1

整理得 i=n−1i=n-1,故總節點數為:

n+i=n+(n−1)=2n−1n+i=n+(n-1)=2n-1

選項分析

🔒

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

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

免費註冊

第 18 題2 分

給定圖(Graph)GG,它具有 VV 個頂點(Vertices)和 EE 個邊(Edges),且以鄰接矩陣(Adjacency matrix)儲存。下列何者是計算該圖邊數演算法的時間複雜度?

這一題的完整詳解

核心觀念

本題考「資料結構的表示法」與「時間複雜度」的關係。鄰接矩陣以 V×VV \times V 的二維表格表示圖:矩陣中每個位置記錄一對頂點之間是否有邊,因此矩陣共有 V2V^2 個位置。

解題方法

若要計算圖的邊數,使用鄰接矩陣時,須逐一檢查矩陣中的位置,統計表示有邊的位置。最壞情況下需檢查全部 V2V^2 個位置,因此時間複雜度為:

O(V2)O(V^2)

若圖是無向圖,鄰接矩陣對稱,利用對稱性可以只檢查矩陣的一半;但檢查位置數仍與 V2V^2 成正比,漸進時間複雜度仍為 O(V2)O(V^2)。

選項分析

🔒

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

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

免費註冊

第 19 題2 分

兩個長度為 2 的數列皆是由小到大排列,若要合併(Merge)兩個數列,且確保使得合併後的數列也能由小到大排列,則合併過程平均要進行幾次數字比較?

這一題的完整詳解

核心觀念

本題考合併排序(Merge)的比較次數。兩個已遞增排列的數列,每次比較兩數列目前最前面的元素,將較小者放入合併結果,再移動該數列的指標。當其中一個數列用完,就直接接上另一個數列剩下的元素,不必再比較。

解題方法

設兩數列分別為 (a1,a2)(a_1,a_2) 與 (b1,b2)(b_1,b_2)。為了分析平均比較次數,考慮四個元素彼此大小關係不同的排列情形;各排列等可能。

  • **比較 2 次:**最小的兩個元素剛好分別來自兩數列,且接下來其中一個數列用完。例如合併次序為 a1,b1,a2,b2a_1,b_1,a_2,b_2 或 b1,a1,b2,a2b_1,a_1,b_2,a_2。這兩種情形各比較 2 次,共 2 種。
  • **比較 3 次:**前兩次比較後,尚未有數列用完,第三次比較才使其中一個數列用完。此類情形共 4 種。

因此平均比較次數為

2×2+4×36=166=83.\frac{2\times 2+4\times 3}{6} =\frac{16}{6} =\frac{8}{3}.
🔒

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

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

免費註冊

第 20 題2 分

小明以一台電腦執行插入排序(Insertion sort)將 1000 筆資料做排序時,最差情況的耗時約 1 秒鐘。假如用同一台電腦執行 10000 筆資料的插入排序,則其最差情況的耗時,應該接近下列何者?

這一題的完整詳解

核心觀念

插入排序的最差情況時間複雜度為 O(n2)O(n^2)。最差情況通常是資料順序與預期排序方向相反;插入每一筆資料時,都要和前面已排序的資料逐一比較並移動。

解題方法

若資料筆數由 nn 增為 10n10n,在相同電腦與相同演算法下,最差情況耗時約依平方比例增加:

T(10n)T(n)≈(10n)2n2=100\frac{T(10n)}{T(n)} \approx \frac{(10n)^2}{n^2}=100

已知排序 10001000 筆資料約需 11 秒,因此排序 1000010000 筆資料約需:

1×100=100 秒1 \times 100 = 100 \text{ 秒}

選項分析

🔒

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

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

免費註冊

第 21 題2 分

若要從 100 個相異的數字中搜尋特定數字,下列敘述何者錯誤?

這一題的完整詳解

核心觀念

本題考查線性搜尋與二分搜尋的比較次數,以及資料結構對搜尋方式的影響。

  • 線性搜尋:逐一比較資料,最差情況要檢查全部 nn 個資料,最多比較 nn 次,時間複雜度為 O(n)O(n)。
  • 二分搜尋:每次比較後排除約一半資料,適用於已排序的陣列,最差比較次數約為 ⌈log⁡2(n+1)⌉\lceil \log_2(n+1)\rceil,時間複雜度為 O(log⁡n)O(\log n)。
  • 鏈結串列無法像陣列一樣直接跳到中間位置;即使資料已排序,若採逐節點搜尋,最差仍須逐一走訪。

解題方法

依序判斷各選項能否使用二分搜尋:

  • 未排序資料無法利用排序資訊,必須採線性搜尋。
  • 鏈結串列不適合二分搜尋,因為無法直接存取中間節點。
  • 已排序的陣列可用二分搜尋,因此最差比較次數不會是 100 次。

選項分析

🔒

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

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

免費註冊

第 22 題2 分

有關 C 語言程式的陣列資料型態(array data type),下列敘述何者錯誤?

這一題的完整詳解

核心觀念

本題考查 C 語言陣列的基本特性:元素型態、索引存取,以及陣列元素在記憶體中的配置方式。陣列元素依序存放,但可透過索引直接定位指定元素。

解題方法

逐項檢視敘述是否符合 C 語言陣列的特性。判斷存取速度時,關鍵在於陣列支援索引直接存取;取得某個元素,不必從第一個元素開始逐一讀取。因此,最後一個元素不會因為位置較後,就必然比第一個元素讀取得慢。

選項分析

  • (A) 正確。 一般情況下,宣告陣列時須指定其長度,例如 int a[5];,表示陣列可存放 5 個 int 元素。C 語言也有特定情況可省略長度,例如以初始化資料推得長度,或使用變長陣列;但不影響本選項所描述的基本陣列宣告方式。
  • **(B) 正確。
🔒

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

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

免費註冊

第 23 題2 分

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

int main() {
    unsigned int c1 = 0x3a, c2 = 0xb7, c3 = 0x69;
    cout << (c1 & c2 | c3) << endl;
    return 0;
}
這一題的完整詳解

核心觀念

本題考 C++ 的位元運算。& 是位元 AND,| 是位元 OR;兩者分別對整數的每一個二進位位元進行運算。運算優先順序為 & 高於 |,因此:

c1 & c2 | c3 等同於 (c1 & c2) | c3。

解題方法

先將三個十六進位數轉成二進位:

  • c1=0x3a=0011 10102c1=0x3a=0011\,1010_2
  • c2=0xb7=1011 01112c2=0xb7=1011\,0111_2
  • c3=0x69=0110 10012c3=0x69=0110\,1001_2

先計算 AND:

0011 1010& 1011 01110011 0010\begin{array}{r} 0011\,1010\\ \&\ 1011\,0111\\ \hline 0011\,0010 \end{array}

所以 c1&c2=0011 00102=0x32c1 \& c2=0011\,0010_2=0x32。再與 c3c3 做 OR:

🔒

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

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

免費註冊

第 24 題2 分

考慮下列的 C 語言程式:

int result;
result = (int)40.9 + (int)8.7 - 6.2;

這個程式執行結束時,變數 result 的數值是:

這一題的完整詳解

核心觀念

本題考 C 語言的型別轉換與整數截斷。將浮點數轉換成整數時,小數部分會被捨去;本題的數值皆為正數,因此效果等同於無條件捨去小數,而非四捨五入。

解題方法

先計算兩個明確轉成 int 的部分:

(int)40.9=40,(int)8.7=8(int)40.9=40,\qquad (int)8.7=8

因此原式變為:

40+8−6.2=41.840+8-6.2=41.8

40 和 8 是整數,但 6.2 是浮點數,所以減法會以浮點數進行,結果為 41.841.8。將此結果指定給 int result 時,小數部分被捨去:

result=(int)41.8=41result=(int)41.8=41

選項分析

🔒

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

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

免費註冊

第 25 題2 分

給定下列 C 語言程式的變數宣告指令:

int i = 1, j = 2;
int *p1 = &j;
const int *p2 = &i;
int * const p3 = &i;
const int * const p4 = &i;

則下列何者可以正確執行?

這一題的完整詳解

核心觀念

本題考 C 語言指標與 const 的位置。const 修飾的對象,取決於它相對於 * 的位置:

  • const int *p:p 指向的整數不可透過 p 修改,但 p 本身可以改指向。
  • int * const p:p 本身不可改指向,但可透過 p 修改所指整數。
  • const int * const p:p 本身不可改指向,所指整數也不可透過 p 修改。

解題方法

先分別判斷各指標能否改指向、能否修改所指值:

指標能否改指向能否透過指標修改所指值
p1:int *可以可以
p2:const int *可以不可以
p3:int * const不可以可以
p4:const int * const不可以不可以

接著逐一對照選項:對所指值賦值要看該值是否為唯讀;重新指定指標則要看指標本身是否為 const。

選項分析

🔒

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

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

免費註冊

第 26 題2 分

考慮下列的 C 語言程式:

int main(void) {
    char string[20];
    scanf("%s", &string);
    printf("%c", string[5] + 1);
    return 0;
}

如果這個程式執行的時候輸入 TAIWAN,則其輸出為何?

這一題的完整詳解

核心觀念

本題考的是 C 語言字元陣列的索引方式,以及字元加上整數時的運算。陣列索引從 00 開始,因此 string[5] 代表第六個字元。字元參與整數運算時,會以其字元編碼值進行計算。

解題方法

輸入 TAIWAN 後,字元陣列中的位置如下:

索引012345
字元TAIWAN

因此 string[5] 是 N。程式計算 string[5] + 1,也就是將 N 的字元編碼值加 11。在 ASCII 編碼中,N 的下一個字元是 O,所以 %c 輸出 O。

選項分析

🔒

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

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

免費註冊

第 27 題2 分

執行下列 C 語言程式,則螢幕的輸出為何?

#include <stdio.h>

int extreme(int *data) {
    int temp = 0;
    for (int i = 0; i < 4; i++) {
        if (temp < data[i])
            temp = data[i];
    }
    return temp;
}

int main() {
    int input[] = {10, 20, 30, 40};
    printf("%d", extreme(input));
}
這一題的完整詳解

核心觀念

本題考查 C 語言的陣列傳入函式、指標取值,以及迴圈逐項比較。

extreme 的參數 int *data 指向整數資料;在 main 中傳入 input 時,函式可透過 data[i] 依序讀取陣列元素。程式以 temp 記錄目前找到的最大值。

解題方法

陣列內容為 10、20、30、40,而 temp 起始值是 0。每次迴圈都比較 temp 與 data[i];若陣列元素較大,就更新 temp。

idata[i]比較結果更新後的 temp
0100<100 < 10,成立10
12010<2010 < 20,成立20
23020<3020 < 30,成立30
🔒

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

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

免費註冊

第 28 題2 分

對 C 語言程式中的變數宣告:

int a[10], *p = a;

下列相等關係運算(==)的結果,何者為 0?

這一題的完整詳解

核心觀念

本題考 C 語言中陣列名稱轉換為指標,以及陣列元素、指標解參考與位址的關係。

宣告:

int a[10], *p = a;

表示 a 是含有 10 個 int 元素的陣列,而初始化時,陣列名稱 a 會轉換為指向第一個元素的指標。因此 p 指向 a[0],也就是:

  • p 與 &a[0] 指向同一位置。
  • *p 是 p 所指向的值,也就是 a[0]。
  • p[0] 等同於 *(p + 0),也就是 *p。

解題方法

逐一辨認比較兩側的型別與意義:

  • p、&a[0] 是指標,表示位址。
  • a[0]、*p、p[0] 是 int,表示整數值。

== 比較兩個運算式的值。若一邊是指標、另一邊是整數,整數不會因此自動變成 a[0] 的位址;本題一般情況下兩者不相等。

選項分析

(A) p == a[0]:結果為 0,正確。

🔒

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

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

免費註冊

第 29 題2 分

如下所示之 C 語言程式,其輸出為何?

#include <stdio.h>

int func(int pp, int qq) {
    int rr = pp % qq;
    while (rr) {
        pp = qq;
        qq = rr;
        rr = pp % qq;
    }
    return qq;
}

int main(void) {
    printf("%d\n", func(60, 48));
    return 0;
}
這一題的完整詳解

核心觀念

此題考查 C 語言的整數取餘運算,以及以輾轉相除法求最大公因數。程式中每次將 (pp,qq)(pp,qq) 更新為 (qq,pp%qq)(qq, pp \% qq),直到餘數為 00;此時的 qqqq 即為兩數的最大公因數。

解題方法

依序追蹤變數:

步驟ppqqrr = pp % qq
初始604860%48=1260 \% 48 = 12
第一次更新後481248%12=048 \% 12 = 0

rr 為 00,while (rr) 條件不成立,迴圈結束,函式回傳 qq,也就是 1212。因此 printf 輸出:

🔒

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

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

免費註冊

第 30 題2 分

根據下列的 C++ 語言函數宣告,呼叫 calculate("world peace"),函數的回傳值為何?

#include <iostream>
using namespace std;

int calculate(string s) {
    int x = 0;
    for (int i = 0; i < s.length(); i++)
        if (s[i] == 'd')
            x++;
    return x;
}
這一題的完整詳解

核心觀念

本題考 C++ 字串逐字元存取,以及 for 迴圈搭配 if 條件計數。函數將 x 初值設為 0,每遇到一個字元 'd' 就將 x 加 1,最後回傳 x。字元比對區分大小寫。

解題方法

將字串 "world peace" 逐字檢查:

字元是否為 'd'x
w否0
o否0
r否0
l否0
d是1
空格否1
p否1
e否1
a否1
c否1
e否1
🔒

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

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

免費註冊

第 31 題2 分

在物件導向(Object Oriented)程式語言中,進行物件初始化的方法(Method)通常稱為:

這一題的完整詳解

核心觀念

物件導向程式語言會以「類別」描述物件的資料與行為。建立物件時,通常需要設定初始狀態;負責執行這項初始化工作的特殊方法稱為建構子(Constructor)。

解題方法

題幹的關鍵字是「物件初始化的方法」。依功能辨認:建立物件時用來初始化其資料或狀態的,是 Constructor,因此選 (A)。

選項分析

  • (A) Constructor:正確。 建構子通常在建立物件時呼叫,用來初始化物件。各語言的建構子寫法與呼叫規則可能不同,但核心用途相同。
  • **(B) Preprocessor:錯誤。
🔒

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

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

免費註冊

第 32 題2 分

創作共用(Creative Commons,CC)是網路上常見的一種著作權授權方式,不包含下列何者方式?

這一題的完整詳解

核心觀念

本題考創作共用(Creative Commons, CC)的授權條款名稱。常見的 CC 授權要素包括姓名標示(BY)、非商業性(NC)、禁止改作(ND)及相同方式分享(SA)。其中「特別取樣」(Sampling Plus)不是這組常見授權要素之一。

解題方法

逐一比對選項與 CC 授權條款:若選項是 CC 授權中常見的要素,即不符合題目所問的「不包含」;不是該組授權要素的名稱,即為答案。

選項分析

🔒

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

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

免費註冊

第 33 題2 分

將網際網路郵件伺服器內電子郵件取回至本地端電腦,是使用下列何種協定?

這一題的完整詳解

核心觀念

本題考查電子郵件的收發協定。電子郵件通常以 SMTP 傳送或轉寄;使用者端要從郵件伺服器取回郵件,常用 POP3 或 IMAP。POP3 是郵局協定第 3 版,主要功能是將伺服器中的郵件下載至本地端電腦。

解題方法

先抓題幹的動作:「將郵件伺服器內的電子郵件取回至本地端」。這是郵件接收、下載的情境,對應 POP3,因此選 (D)。

選項分析

🔒

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

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

免費註冊

第 34 題2 分

有關網路通訊設備,下列敘述何者錯誤?

這一題的完整詳解

核心觀念

本題考查網路設備的 OSI 層級與轉送依據。集線器(Hub)屬於實體層設備;交換器(Switch)與橋接器(Bridge)通常屬於資料連結層設備,依據 MAC 位址轉送資料。無線網路存取點(WAP)則負責連接無線用戶端與有線網路。

解題方法

先辨認各設備的主要功能,再核對其層級與轉送依據。資料連結層設備會根據 MAC 位址處理資料框;網路層路由器則根據 IP 位址轉送封包。題目 D 把橋接器的功能說成依據來源與目的位址決定「封包」轉送,與橋接器的資料連結層定位不符,因此為錯誤選項。

選項分析

  • (A) 正確。 集線器用來連接網路實體線路,收到訊號後會向其他連接埠重送,不會辨識 MAC 位址,因此屬於 OSI 實體層。
  • **(B) 正確。
🔒

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

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

免費註冊

第 35 題2 分

有一種記憶體功能,CPU 先檢查它是否存有所需的資料。如果有,直接存取此資料;如果沒有,則存取主記憶體的資料。此記憶體稱為:

這一題的完整詳解

核心觀念

本題考查記憶體階層中的快取記憶體(Cache)。快取是容量較小、速度較快的記憶體,用來暫存 CPU 近期或常用的資料與指令,以減少 CPU 存取主記憶體所需的時間。

解題方法

題幹描述 CPU 先檢查所需資料是否已存於某種記憶體:若有,就直接讀取;若沒有,才到主記憶體讀取。這是快取的運作方式:

  • 找到資料稱為「快取命中」(cache hit)。
  • 找不到資料稱為「快取未命中」(cache miss),此時須向主記憶體取得資料,並通常將資料載入快取,以供後續使用。

因此,題幹所述的記憶體是快取記憶體。

選項分析

🔒

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

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

免費註冊

第 36 題2 分

任何網頁的內容均是透過 HTML 的語法所建立,下列關於 HTML 的敘述,何者錯誤?

這一題的完整詳解

核心觀念

本題考 HTML(超文字標示語言)的文件結構、空白字元處理方式,以及標籤名稱是否區分大小寫。

HTML 標籤名稱不區分大小寫;例如 <body> 與 <BODY> 都是有效寫法。不過撰寫時通常使用小寫,以符合現代 HTML 的慣例。

解題方法

逐一判斷各選項是否符合 HTML 的基本特性。題目問「何者錯誤」,因此找出與 HTML 規則相反的敘述即可。

選項分析

(A) HTML 檔案是純文字檔。—正確

HTML 文件由標籤與文字等內容組成,通常以純文字格式儲存。瀏覽器讀取後,會依 HTML 結構解析並呈現網頁。

(B) 網頁內容區分成標頭(Head)與主體(Body)兩個區域,主體才是在瀏覽器中間畫面看到的網頁內容。—正確

🔒

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

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

免費註冊

第 37 題2 分

一個網域名稱伺服器(DNS server)收到大量的查詢,其 UDP 封包表頭中的來源 IP 位址皆為 1.2.3.4,下列敘述何者錯誤?

這一題的完整詳解

核心觀念

本題考查 UDP 封包來源 IP 位址的可信度,以及偽造來源位址可能造成的反射式阻斷服務攻擊(reflection DDoS)。

UDP 不建立連線,封包的來源 IP 位址可以被偽造。若攻擊者把來源位址填成受害者的 IP,再向 DNS 伺服器送出查詢,DNS 伺服器可能將較大的回覆封包傳給受害者,形成反射攻擊。

解題方法

題目只說 DNS 伺服器收到大量來源 IP 為 1.2.3.4 的 UDP 封包,並未證明這些封包確實由 1.2.3.4 主機發出。因此,不能只憑封包表頭的來源位址,就認定該主機是攻擊者並永久封鎖。

判斷重點是:來源位址可能遭偽造;真正的攻擊目標也可能是該來源位址所代表的主機。

選項分析

(A) 封包中的來源 IP 可能是偽造的。正確。 UDP 封包不需要先建立連線,攻擊者可以偽造來源 IP 位址。因此,表頭顯示 1.2.3.4,不足以證明封包實際來自該主機。

🔒

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

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

免費註冊

第 38 題2 分

主張網路服務供應商平等處理所有數據,提供同樣的服務等級,禁止以競爭為由封鎖網站或是服務,係屬於下列何種資安領域?

這一題的完整詳解

核心觀念

本題考「網路中立性」(Net Neutrality):網路服務供應商應平等處理網路上的數據流量,不因內容、網站、服務或使用者而任意差別待遇。題幹提到提供相同服務等級,並禁止以競爭為由封鎖網站或服務,正是網路中立性的核心概念。

解題方法

抓住「平等處理所有數據」與「不得封鎖競爭者服務」兩個關鍵描述,辨認這是在談網路服務供應商如何管理網路流量與提供服務,而非一般資安技術、吹哨者保護或國家對網路的管轄權。

選項分析

  • (A) 安全管理技術:錯誤。 指保護資訊系統與資料安全的管理措施或技術,例如存取控制、風險管理、備份及資安事件處理,與網路流量是否公平處理無直接關係。
🔒

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

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

免費註冊

第 39 題2 分

有關數位電子化資訊之安全問題,下列敘述何者錯誤?

這一題的完整詳解

核心觀念

本題考數位電子化資訊的安全特性與管理方式。電子資料容易被複製、修改時不易留下直觀痕跡,使用者身分也可能遭冒用;但電子化資源通常可以透過帳號權限、集中式伺服器與管理制度進行集中控管。因此,說「電子化資源使用不易集權」並不符合一般資訊管理特性。

解題方法

逐項判斷敘述是否符合數位資訊的特性,特別留意「容易複製、修改難察覺、身分可能偽裝」與「資源能否集中管理」的差異。前三者描述電子資訊帶來的安全風險;若系統可由管理者統一設定權限、記錄存取並管理資源,便不應說電子化資源不易集權。

選項分析

(A) 電子化資料易複製。 正確。數位資料可以透過複製檔案、備份或傳輸快速產生副本,複製後的內容通常與原件相同,也不會像實體文件那樣因複印而降低品質。這使資料外洩與未授權散布較難防範。

🔒

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

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

免費註冊

第 40 題2 分

下列何者可能構成侵權行為?

這一題的完整詳解

核心觀念

本題考著作權與軟體授權的差異。軟體通常屬於《著作權法》保護的電腦程式著作;「免費」表示使用者不必付費,不代表使用者可以不受限制地重製、散布或販賣。能否利用,須看著作財產權人的授權範圍。

以下依命題當年(民國 113 年)法規與授權觀念說明。《著作權法》第 22 條、第 28 條及第 28 條之 1,分別涉及重製、改作,以及以移轉所有權方式散布著作原件或重製物的權利。

解題方法

先看各選項描述的行為是否在權利人授權或法律允許的範圍內。特別注意「免費軟體」與「公共領域軟體」不同:免費軟體仍受著作權保護,授權條件可能只允許個人使用,並未允許複製後販賣。因此,選項中明確提到「拷貝與販賣」的免費軟體,可能超出授權範圍而構成侵權。

選項分析

  • (A) 使用、拷貝與販賣公共軟體(Public domain software):公共領域軟體通常指不受著作權保護,或著作權人已使其進入公共領域的軟體;依題目通常採用的定義,得自由使用、重製與散布,因此不構成侵權。實際利用仍須確認該軟體確實屬公共領域,而非僅被標示為免費下載。
🔒

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

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

免費註冊

其他考古題

113 年高普考普通考試・其他類科的《計算機概要》