某低成本嵌入式處理器僅具有加法器與移位器(shifter),而不具備乘法器。乘法運算須由加、減與移位(<<)運算進行。欲計算某變數A 乘以十六進位數字6C,下列計算方式何者正確?
A. (A<<6)+(A<<5) −(A<<2)
B. (A<<6)+(A<<5)+(A<<4)
C. (A<<7)−(A<<5)
D. (A<<5)+(A<<2)−A
參考解答
- 答案:A. (A<<6)+(A<<5) −(A<<2)
解析:十六進位 6C = 6×16 + 12 = 108,其二進位為 0110 1100,權重和為 64 + 32 + 16 − 4 = 108,故以移位表示為 (A<<6) + (A<<5) + (A<<4) − (A<<2),即先將高位左移相加、再以左移相減修正低位,選項 A 屬此種「相加後扣除」的組合方式。B 的等效乘數為 64+32+16 = 112,C 為 128−32 = 96,D 為 32+4−1 = 35,三者皆無法還原 108,故不正確。此類技巧可在只有加法器與移位器的處理器上以較少指令完成乘法。
下列何者不屬於CPU(Central Processing Unit)的構成部分?
A. 算術邏輯單元(Arithmetic / Logic Unit)
B. 控制單元(Control Unit)
C. 主記憶體(Main Memory)
D. 暫存器(Register)
參考解答
解析:CPU 主要由算術邏輯單元(ALU)、控制單元(CU)與暫存器(Registers)組成:ALU 負責算術與邏輯運算,控制單元負責解碼指令並發出控制訊號,暫存器則提供運算過程中暫存資料、位址與狀態的高速空間。主記憶體(Main Memory,如 RAM)位於 CPU 之外,透過匯流排與 CPU 交換資料與指令,屬於記憶體階層的一部分,並非 CPU 的構成單元,故選 C。
以某智慧型手機晶片執行人臉辨識的過程中,80%的運算時間用於執行捲積(convolution)運算。某研發人員提議在該晶片中加入進行捲積運算的加速器(accelerator)硬體。若該加速器獲得採用,此人臉辨識應用程式能獲得的最大加速(speedup)上限為何?
A. 3 倍
B. 4 倍
C. 5 倍
D. 6 倍
參考解答
解析:依 Amdahl 定律,程式中可被加速的部分占 80%,即使加速器讓該部分耗時趨近於 0,整體加速比的上限仍為 1/(1−0.8)=1/0.2=5 倍。這是因為剩下 20% 的運算不受加速器影響,仍須花費原本時間,成為效能瓶頸。選項 A 的 3 倍、B 的 4 倍、D 的 6 倍都與此上限不符,故最大加速上限為 5 倍。
將十進位數字11 轉成二進位表示法,下列何者正確?
A. 1011
B. 1100
C. 1101
D. 0101
參考解答
解析:十進位11轉二進位:11÷2=5餘1,5÷2=2餘1,2÷2=1餘0,1÷2=0餘1,由下往上讀得1011。驗算:1×2³+0×2²+1×2¹+1×2⁰=8+0+2+1=11。選項B(12)、C(13)、D(5)皆不符。
假設記憶體位址200 中存放的資料是201,位址201 中存放的資料是202,位址202 中存放的資料是205,今有一指令為Load R13, [200],採用間接定址法(Indirect addressing),執行後R13 暫存器存的值應為:
A. 200
B. 201
C. 202
D. 203
參考解答
解析:間接定址:指令Load R13, [200]意指先讀取位址200的內容作為有效位址。位址200存201,故有效位址為201;再讀取位址201的內容,位址201存202,因此R13最終載入202。選項A為指令中位址,B為第一次間接結果,D無對應資料。
假設有一個虛構的處理器擁有8 個暫存器(R),定址空間1M words(M),以及提供32 個不同指令如(add, sub, ...),指令格式為:<Instructions> <M> <R>,則此種指令所需之最小位元(bit)數為何?
A. 16
B. 32
C. 24
D. 28
參考解答
解析:指令格式為<Instructions><M><R>,需分別計算各欄位位元數。32個不同指令需5位元(2^5=32);定址空間1M words=2^20 words,故位址欄需20位元;8個暫存器需3位元(2^3=8)。最小總位元數為5+20+3=28位元,故選D。若誤用32位元組或忽略指令欄,就會得到其他選項的數值。
在C 語言程式中,宣告於函數(function)內的變數(未加static 修飾字)會被配置於那個記憶體區段?
A. code segment
B. data segment
C. stack segment
D. heap segment
參考解答
解析:C語言函數內未加static的區域變數屬自動儲存類別,存放於堆疊區,函數呼叫時配置,返回時釋放。Code segment存程式碼;Data segment存全域/靜態變數;Heap segment供動態配置使用。
假設有3 個行程在排班佇列中,依先到先服務排班法(FCFS)執行,且其執行時間依序為15、12 和30 單位時間,則平均等待時間為多少單位?
A. 14
B. 19
C. 24
D. 33
參考解答
解析:FCFS排程:P1(15)、P2(12)、P3(30)依序執行。等待時間:P1=0,P2=15,P3=15+12=27。平均等待時間=(0+15+27)÷3=42÷3=14。選項A為14。
在電腦、電視螢幕上展現的色彩,係透過色光三原色以不同比例來混合而成的。橘色需要透過那兩個原色才能混合出來?
A. 紅色、藍色
B. 黃色、藍色
C. 紅色、綠色
D. 黃色、綠色
參考解答
解析:螢幕採用色光加法混色,三原色為紅(R)、綠(G)、藍(B)。橘色是紅色與綠色以不同比例混合,紅色比例較高、綠色較低即可得橘;紅綠等量則成黃色。紅加藍(A)得洋紅(magenta),藍加綠得青色(cyan),三者兩兩混合為色光二次色。選項 B、D 中的「黃色」並非色光三原色,黃色本身已是紅加綠的結果;黃加藍屬顏料(減法)混色的概念,不適用於發光螢幕。
下列那一個軟體,不能用來編輯影像?
A. Word
B. PhotoShop
C. Apache
D. Gimp
參考解答
解析:Apache 指的是 Apache HTTP Server,為開放原始碼的網頁伺服器軟體,功能是提供 HTTP 服務與網站內容,並不具備影像編輯功能。Photoshop(B)與 GIMP(D)都是專業影像處理軟體,可進行圖層、遮罩、色彩調整與修圖;Word(A)雖為文書處理軟體,但內建插入圖片、裁剪、亮度對比與色彩校正等基本影像編輯功能,仍可用來編輯影像。因此不能編輯影像者為 Apache。
資料庫的邏輯架構(Logical structure)可藉由實體關聯圖(Entity-relationship diagram, ERD)表達,有關實體關聯圖元件的敘述,下列何者錯誤?
A. 橢圓形(Ellipses)通常用於表示屬性(Attributes)
B. 矩形(Rectangles)通常用於表示實體(Entities)
C. 菱形(Diamonds)通常用於表示屬性之間的關聯(Relationships)
D. 線段(Lines)通常用於連結屬性到實體以及實體到關聯
參考解答
- 答案:C. 菱形(Diamonds)通常用於表示屬性之間的關聯(Relationships)
解析:實體關聯圖的標準符號為:矩形代表實體(entity)、橢圓形代表屬性(attribute)、菱形代表關聯(relationship)、線段連接實體與關聯或屬性與實體。菱形所描述的是「實體與實體之間」的關聯,例如學生與課程之間的選課關係,而非屬性之間的關聯,因此 C 的敘述錯誤。A、B、D 的符號對應皆正確;屬性之間若有衍生或複合關係,是以屬性結構或正規化處理,並非以菱形表示。
假設有3 個行程在排班佇列中,依先到後順序排列,且其完成工作需要的時間分別為11、7 和9 單位時間。若使用循環排班法(RR),並設定時間片段為2 單位時間,則總等待時間為多少單位?
A. 47
B. 48
C. 49
D. 50
參考解答
解析:時間片段 q=2,依 P1(11)、P2(7)、P3(9) 順序循環執行。各行程完成時間為:P1 於 27、P2 於 21、P3 於 26。等待時間=完成時間 − 服務時間,分別為 27−11=16、21−7=14、26−9=17,合計 16+14+17=47。亦可驗算:完成時間總和 27+21+26=74,扣除總服務時間 11+7+9=27,得總等待時間 47。迴轉時間總和同為 74,平均等待時間為 47/3。
堆積(Heap)經常使用陣列來儲存。將70 插入下圖所示陣列代表的最大堆積後,70 所在位置的索引值為何?01234567891011121314
A. 11
B. 5
C. 2
D. 115正在執行的A 程式可被中斷(Interrupt)暫停,而去執行B 程式,等B 程式執行完後再回到A 程式繼續執行。下列那種資料結構最適合用於設計這樣的機制?
參考解答
88602743382543567
A. 環形佇列(Circular Queue)
B. 先進先出佇列(FIFO Queue)
C. 堆疊(Stack)
D. 雜湊表(Hash Table)
參考解答
解析:堆疊(Stack)的推入(push)與彈出(pop)都只在同一端(頂端)進行,因此最後進入的元素最先被取出,具後進先出(LIFO)特性,常用於函式呼叫的返回位址、遞迴、括號配對與中序式轉後序式等。相對地,佇列是先進先出(FIFO),資料由尾端進入、前端取出;環形佇列只是以陣列實作佇列時,讓前端釋出的空間可重複利用、避免搬移資料的方式,本質仍為 FIFO;雜湊表則以雜湊函數把鍵值對應到桶位,平均 O(1) 完成搜尋,並非依進入順序取出的結構。
有4 個元素的資料序列{A, B, C, D},以A、B、C、D 的順序(A 最先)經過堆疊(Stack)改變資料輸出的順序,堆疊可用推入(Push)、彈出(Pop)的動作,下列那種資料輸出順序是不可能的?
A. CBAD
B. BACD
C. ADBC
D. DCBA
參考解答
解析:以堆疊模擬時,輸出 ADBC 不可能。先推入 A 再彈出得到 A 之後,若要下一個輸出 D,必須依序推入 B、C、D 再彈出 D;此時堆疊內由底到頂為 B、C,頂端是 C,下一個彈出的只能是 C,不可能先輸出 B。其餘序列均可達成:CBAD 是推入 A、B、C 後連續彈出 C、B、A,再推入 D 彈出;BACD 是推 A、B 後彈 B、彈 A,再推 C 彈 C、推 D 彈 D;DCBA 則全部推入後再全部彈出。
由此圖中的節點1 開始進行深度優先搜尋(Depth-first search),依搜尋順序列出各節點的結果,應為下列何者?(若同時有多個選擇,請優先挑選數字較小的節點)
A. 1 2 3 4 5 6 7 8
B. 1 2 3 8 4 5 6 7
C. 1 2 6 7 3 4 5 8
D. 1 2 6 7 3 5 8 4
參考解答
有關二元樹(Binary tree)的節點(Nodes)與邊(Edges)的敘述,下列何者錯誤?
A. 一棵二元樹的總節點數可能是0 個
B. 一棵高度(Height)為k 的二元樹總節點數最少為k 個
C. 一棵二元樹的總節點數與總邊數可能都是奇數(Odd number)
D. 一棵二元樹的總節點數可能是1 個
參考解答
- 答案:C. 一棵二元樹的總節點數與總邊數可能都是奇數(Odd number)
解析:樹的基本性質為總邊數等於總節點數減一,因此節點數與邊數的奇偶性必然相反:節點數為奇數時邊數為偶數,節點數為偶數時邊數為奇數,兩者不可能同時是奇數,故 C 錯誤。A 與 D 皆正確,空樹節點數為 0,只有一個節點的二元樹節點數為 1。B 亦正確,高度以層數計算時,節點數最少的二元樹是每層僅一個節點的退化(歪斜)二元樹,高度 k 恰有 k 個節點。
有n 個節點的連通無向圖(Connected Undirected Graph)G,假設其中每個邊(Edge)都有不同的加權(Weight),今要在G 中找出一最小展開樹(Minimum Spanning Tree)T,下列敘述何者錯誤?
A. T 中會有n-1 個邊
B. Kruskal’s Algorithm 是一種常用來找最小展開樹的演算法
C. T 中一定包含圖G 中加權最小的邊
D. 此問題最適合用Divide and Conquer 的演算法來解
參考解答
- 答案:D. 此問題最適合用Divide and Conquer 的演算法來解
解析:最小展開樹是貪婪法(Greedy)的典型應用:Kruskal 演算法依權重由小到大逐邊加入且避免成環,Prim 演算法則從任一節點逐步擴張,兩者都不是分而治之,故 D 錯誤。A 正確,n 個節點的生成樹恰有 n−1 條邊。B 正確,Kruskal 為常用解法之一。C 正確,依切集性質(cut property),跨越某一切集且權重最小的邊必屬於最小展開樹;在邊權重皆相異時最小展開樹唯一,該最小權重邊一定被包含。
有關Heap sort 演算法,主要是運用何種資料結構來設計?
A. Queue
B. Stack
C. Tree
D. Linked List
參考解答
解析:Heap sort 以「堆積(Heap)」為核心,而堆積是一種完整二元樹(Complete Binary Tree),所以主要運用的資料結構是樹(Tree)。以最大堆積為例,先將資料建構成最大堆積(父節點不小於子節點),此時樹根即最大值,將其與最後一個節點交換並縮小堆積範圍,再向下調整(heapify),重複直到排序完成。佇列、堆疊與連結串列無法像陣列儲存的完整二元樹那樣,以索引直接定位父子節點並在 O(log n) 內維持順序,因此不適用。
假設輸入的資料序列為:7,3,6,5,4,2,1,使用選擇排序法(Selection sort)對該序列進行遞增順序(Ascending order)排序,則第一個回合的結果為何?
A. 2,3,6,5,4,7,1
B. 3,7,6,5,4,2,1
C. 1,3,6,5,4,2,7
D. 4,3,6,5,7,2,1
參考解答
解析:選擇排序每一回合都從尚未排序的部分中找出最小值,再與該部分的第一個元素交換。第一回合在全部元素 7、3、6、5、4、2、1 中找出的最小值是 1,位於最後一個位置,與第一個元素 7 交換後得到 1、3、6、5、4、2、7,故選 C。B 只是把前兩個元素對調,A 與 D 也都沒有把全域最小值 1 換到最前面,皆不符合選擇排序第一回合「以最小值與首位交換」的作法。
若要從一個已經排序好的數列中,進行二元搜尋(Binary search),目的是從中尋找425 這個數字。下列何者不是搜尋過程,可能檢驗的數字序列?
A. 200, 300, 425
B. 400, 951, 810, 600, 395, 425
C. 425
D. 200, 800, 500, 425
參考解答
- 答案:B. 400, 951, 810, 600, 395, 425
解析:二元搜尋每次以中間元素與目標比較,若中間值小於目標,之後就只會在大於該中間值的右半部尋找,後續檢驗值必須愈來愈靠近目標。序列 B 先檢驗 400,因 400 小於 425 而往右半部搜尋,此後所有檢驗值都應大於 400,但後續出現 395,小於 400,已落在被排除的左半部,因此不可能出現。A 依 200、300、425 逐步往右縮小;C 第一次即命中中間值;D 中 200 小於 425 往右,800 與 500 均大於 425 往左,最後命中 425,範圍皆合理。
下列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;}
A. output = 90
B. output = 110
C. output = 130
D. output = 150
參考解答
解析:全域變數 b 的值為 100;main 中另外宣告的 b=60 是區域變數,只在其所在的區塊內有效,不會影響函式 A。呼叫 A(20) 時,參數 c=20,A 內的區域變數 a=10,而運算式 a+b+c 中的 b 會參照全域變數 b,因此總和為 10+100+20=130。選項 A 的 90 是誤將 main 的 b=60 代入所致;B 的 110 與 D 的 150 在加總上也不成立。故輸出為 130。
某一電腦系統使用multiprogramming 的作業系統,關於該電腦系統的敘述,下列何者正確?
A. 該電腦必是採用多核心(multi-core)的CPU,不能是單核心的CPU
B. 該電腦執行的程式,是由多種程式語言所寫成
C. 該電腦的CPU 可以在多個程序(process)中切換執行
D. 該電腦執行的程式,是由多個函式(function)所組成
參考解答
- 答案:C. 該電腦的CPU 可以在多個程序(process)中切換執行
解析:multiprogramming(多程式執行)是指記憶體中同時保有多個程序(process),作業系統透過排程與 context switch,讓單一 CPU 輪流執行這些程序;當某程序等待 I/O 時,CPU 可切換去執行其他程序,以提高使用率,因此 C 正確。A 不成立,因為單核心 CPU 也能做到多工;B 講的是程式由多種語言撰寫,D 講的是程式內含多個函式,兩者都與多工程式執行的概念無關。
執行下列C 遞迴函式若傳入整數10,則輸出為何?void fn(int n){if(n==0)return;else{fn(n/2);printf("%d", n%2);}}
A. 10
B. 101
C. 1010
D. 10101
參考解答
解析:此遞迴函式會先遞迴呼叫 fn(n/2),等返回後才印出 n%2,因此輸出順序是由低位往高位,效果等同印出 n 的二進位表示。追蹤過程:fn(10) 呼叫 fn(5),fn(5) 呼叫 fn(2),fn(2) 呼叫 fn(1),fn(1) 呼叫 fn(0) 後返回;返回時依序印出 1、0、1、0,合起來就是 1010。選項 A、B、D 的位元長度或數值都不符,故答案為 1010。
考慮下列C 語言結構變數(Structure variable)的宣告:struct member {int id;char name[20];int age;char gender;};struct member bill;下列何者設定句錯誤?
A. bill.id = -999;
B. bill.name= 'A';
C. bill.age = 300;
D. bill.gender = '2';
參考解答
解析:name 宣告為 char name[20],是字元陣列;陣列名稱代表固定位址,屬於不可修改的左值,不能以指定運算子整體賦值,必須改用 strcpy 或逐字元設定,故 B 錯誤。id 與 age 都是 int,可以指定 -999 與 300;gender 是 char,可以存放字元 '2'。因此只有 B 的設定句不合法。
執行下列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;}
A. 3
B. 6
C. 9
D. 12
參考解答
解析:函式 f 的邏輯是:m 大於 n 時回傳 m−n,否則回傳 m+n。先算內層:f(3,4) 中 3>4 不成立,回傳 3+4=7;f(6,5) 中 6>5 成立,回傳 6−5=1。再以外層計算 f(7,1),因 7>1 成立,回傳 7−1=6。故螢幕印出 6,選項 A、C、D 的數值都不符。
呼叫下列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;}
A. 'a'與'b'
B. 'b'與'c'
C. 'a'與'd'
D. 'b'與'd'
參考解答
解析:外層以 p1 逐一走訪 s 的字元,內層以 p2 在 t 中尋找相同字元;若在 t 中找到相同字元就 break 內層,接著檢查 *p2 是否為 '\0',若 t 已掃到結尾仍未找到,就 break 外層。'a'、'b'、'c' 都能在 t="babc" 中找到,直到 p1 指向 'd' 時,在 t 中找不到而停止。此時 *p1 為 'd',*s 為 'a',故印出 'a' 與 'd'。
下列C 語言中的字串變數char str[] = "abc";下列那個指令的執行結果,與其他指令不同?
A. *str = 0; puts(str);
B. str[0] = '\0'; puts(str);
C. strcpy(str, ""); puts(str);
D. strcat(str, ""); puts(str);
參考解答
- 答案:D. strcat(str, ""); puts(str);
解析:A 將 *str 設為 0,B 將 str[0] 設為 '\0',兩者都把第一個字元改成字串結束字元;C 以 strcpy 複製空字串,同樣使 str 成為空字串;三者執行 puts 都只輸出換行。D 的 strcat(str, "") 是把空字串接在原字串之後,長度不變,內容仍是 "abc",因此輸出與其他三者不同。答案為 D。
執行下列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;}
A. (2, 4)(2, 4)(3, 5)
B. (3, 4)(3, 4)(4, 5)
C. (3, 5)(3, 5)(4, 6)
D. (2, 4)(1, 2)(2, 3)
參考解答
解析:全域變數 i=2、j=1。呼叫 sub(&i,&j) 後,*m 即 i、*n 即 j。先執行 *m = i + *n = 2+1 = 3,i 變成 3;再執行 *n = j + *m = 1+3 = 4,j 變成 4,所以第一個 printf 印出 (3, 4)。第二個 printf 使用後置遞增 i++、j++,會先輸出原值 3、4,之後 i、j 才分別變成 4、5,故仍印出 (3, 4)。回到 main 再印 i、j 得 (4, 5)。合計輸出 (3, 4)(3, 4)(4, 5)。
有一簡短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;}其執行結果為何?
A. 14, 6
B. 14, 7
C. 10, 5
D. 10, 4
參考解答
解析:C 陣列索引由 0 起算,A[0]=1、A[1]=2……A[6]=7。迴圈 i=1 到 i<5,sum 依序累加 A[1]+A[2]+A[3]+A[4] = 2+3+4+5 = 14,並未加到 A[0] 的 1。當 i=4 執行完後 i++ 使 i 變成 5,條件 i<5 不成立才離開迴圈,因此迴圈結束時 i=5,printf 中的 A[i] 即 A[5]=6。故輸出為 14, 6。
河內之塔函式定義Hanoi(A, B, C, N)中,下列何者正確?
A. N 可以省略
B. A, B, C, N 皆是形式參數
C. A, B, C, N 皆是實際參數
D. A, B, C 不可指定為中繼盤柱
參考解答
解析:函式定義 Hanoi(A, B, C, N) 中的 A、B、C、N 都是形式參數(formal parameter),用來接收呼叫時傳入的實際參數(actual parameter)。N 代表盤數,是遞迴的終止條件,不可省略。A、B、C 分別代表來源柱、輔助柱與目的柱,遞迴過程中三者角色會互換,任何一根都可擔任中繼盤柱,並沒有限制。故只有「皆是形式參數」正確。
有關VPN(Virtual Private Network)的敘述,下列何者錯誤?
A. 多運用在廣域網路
B. 運用封裝(Encapsulation)的技術建立隧道(Tunnel)
C. 主要是把許多VLAN(Virtual Local Area Network)用路由器(Router)連接起來建構而成的
D. 多運用IPSec 協定來建立安全隧道
參考解答
- 答案:C. 主要是把許多VLAN(Virtual Local Area Network)用路由器(Router)連接起來建構而成的
解析:VPN 是在公用網路上運用封裝(encapsulation)技術建立隧道(tunnel),讓封包如同在私有網路中傳遞,常用於廣域網路的遠端存取與分公司互連,並常以 IPSec 等協定加密以確保機密性與完整性。選項 C 所描述的是以路由器把多個 VLAN 連接起來,屬於企業內部網路分段與互連,並非 VPN 的建構方式,故為錯誤敘述。
下列何項網路設備具有連接埠學習功能,可記錄那張網路卡接至那個連接埠,根據目的端的實體位址,將封包僅送往該連接埠,以提升傳輸效能?
A. 集線器(Hub)
B. 交換器(Switch)
C. 中繼器(Repeater)
D. 路由器(Router)
參考解答
解析:交換器(switch)具備連接埠學習功能:收到訊框時記錄來源 MAC 位址與其進入的連接埠,建立 MAC 位址表;之後依目的 MAC 查表,只把訊框轉送到對應連接埠,並讓每個埠成為獨立碰撞領域,可有效提升傳輸效能。集線器與中繼器屬實體層設備,只做訊號廣播與再生;路由器依 IP 位址繞送,並非以 MAC 位址表轉送。
網路位址轉換(Network Address Translation, NAT)可用於減緩IPv4 位址不足的問題,通常會需要何種網路設備,以達到該功能?
A. 數據機(Modem)
B. 集線器(Hub)
C. 中繼器(Repeater)
D. 路由器(Router)
參考解答
解析:NAT 通常由路由器(或具路由功能的閘道器)執行,在封包通過時改寫來源或目的 IP 位址(必要時一併改寫埠號),使多台內部主機共用少數公有 IPv4 位址對外通訊,因而減緩 IPv4 位址不足的問題。數據機負責訊號調變與解調,集線器與中繼器屬實體層設備,皆不處理 IP 位址轉換,故選路由器。
有關動態主機設定協定(Dynamic Host Configuration Protocol, DHCP)的敘述,下列何者正確?
A. DHCP 提供MAC 位址,且每次取得的MAC 位址相同
B. DHCP 提供MAC 位址,且每次取得的MAC 位址可能不同
C. DHCP 提供IP 位址,且每次取得的IP 位址相同
D. DHCP 提供IP 位址,且每次取得的IP 位址可能不同
參考解答
- 答案:D. DHCP 提供IP 位址,且每次取得的IP 位址可能不同
解析:DHCP 的功能是自動派送 IP 位址、子網路遮罩、預設閘道與 DNS 伺服器等網路參數,讓主機免於手動設定。MAC 位址是網路卡出廠即固定的實體位址,並非由 DHCP 提供。伺服器從位址池中租借 IP,租約到期或主機重新連線時,可能取得與前次不同的位址,因此「提供 IP 位址,且每次取得的 IP 位址可能不同」正確。
下列何者非Wi-Fi 無線網路的安全協定?
A. WPA
B. WPA2
C. WLAN
D. WEP
參考解答
解析:WEP、WPA、WPA2(以及後續的 WPA3)都是 Wi-Fi 無線網路用來加密與認證的安全協定,其中 WEP 因加密強度不足已被淘汰,WPA2 採用 AES 較為安全。WLAN 是無線區域網路(Wireless Local Area Network)的通稱,指的是網路型態與範圍,本身並非安全協定,故選 C。
有關乙太網路的敘述,下列何者錯誤?
A. 採用IEEE 802.11 規範
B. 網路拓樸多採star 架構
C. 資料傳送採用Broadcast 方式
D. 使用CSMA/CD 機制運作
參考解答
解析:乙太網路(Ethernet)標準為IEEE 802.3,而非802.11(無線網路)。現代乙太網路實體層多採星狀拓樸,早期雖用總線型但邏輯仍為廣播域。資料傳送採Broadcast方式傳遞給同網段所有主機,並使用CSMA/CD機制解決衝突(全雙工模式下不需CSMA/CD)。選項A將無線標準誤植為乙太標準,故為錯誤敘述。
在分級網路中,下列何者為C 級網路所使用的網路遮罩?
A. 255.0.0.0
B. 255.255.0.0
C. 255.255.255.0
D. C 級網路為特殊用途網路,故無網路遮罩
參考解答
解析:IPv4分級網路中,C類網路預設網路號佔24位元,主機號8位元,對應的預設子網路遮罩為255.255.255.0(/24)。選項A為A類(/8),選項B為B類(/16),選項D敘述錯誤,C類非特殊用途網路,D類(多播)與E類(保留)才屬特殊用途。
有關網路使用倫理(Ethics)敘述,下列何者錯誤?
A. 不可任意拷貝網路上的圖片或文字,作為自己的作品
B. 網路進行弱點掃描(Vulnerability Scan),是找到網路上有安全疑慮主機的方式,因此任何情況下均可進行
C. 可以於網路社群進行發言與表達意見,要注意對別人的尊重,並了解相關法律規範
D. 使用網路上的資源時,要注意授權問題
參考解答
- 答案:B. 網路進行弱點掃描(Vulnerability Scan),是找到網路上有安全疑慮主機的方式,因此任何情況下均可進行
解析:網路倫理規範:A正確,尊重智慧財產權不可隨意盜用;C正確,言論自由需兼顧他人權益與法律;D正確,使用資源須遵守授權條款。B錯誤:弱點掃描屬主動偵測行為,未經授權即進行掃描可能違反《刑法》妨害電腦使用罪或《資安管理法》相關規定,並非任何情況均可進行。