民國111年 第2梯次 11901 電腦軟體設計(JAVA)乙級 學科考古題與答案

民國111年 第2梯次 11901 電腦軟體設計(JAVA)乙級 學科歷屆試題與答案,共 80 題可線上瀏覽,適合查詢考古題、題庫與解答。

題目與答案

第1題

在處理器中位址匯流排有32 條,可以定出多少記憶體位址? 1. 512MB 2. 4GB 3. 1GB 4. 2GB。

答案:(2) 4GB

第2題

根據美國國家標準與技術研究院(NIST)對雲端的定義,下列何者「不是」雲端運算(Cloud Comput ing)之服務模式? 1. 軟體即服務(Software as a Service, SaaS) 2. 內容即服務(Content as a Servi ce, CaaS) 3. 基礎架構即服務(Infrastructu re as a Service, IaaS) 4. 平台即服務(Platform as a Se rvice, PaaS)。

答案:(2) 內容即服務(Content as a Servi ce, CaaS)

解析:依美國 NIST SP 800-145 定義,雲端運算三大服務模式為:軟體即服務(SaaS)、平台即服務(PaaS)、基礎架構即服務(IaaS),合稱 SPI 模型。選1(SaaS)、選3(IaaS)、選4(PaaS)均為 NIST 官方定義之服務模式;「內容即服務(Content as a Service, CaaS)」並非 NIST 所定義的雲端服務模式。題目問「不是」者,故選 2。

第3題

有關公開金鑰基礎建設(Public Key Infrastructure, PKI)之敘述,下列何者「不正確」? 1. 可用私密金鑰簽署將公布之文件 2. 公開金鑰必須對所有人保密 3. 係基於非對稱式加解密演算法 4. 可驗證身分及資料來源。

答案:(2) 公開金鑰必須對所有人保密

解析:PKI 以非對稱式密碼學為基礎(選3正確),可用私密金鑰對文件簽章,產生數位簽章以證明資料來源與完整性(選1、4正確),並供他人以公開金鑰驗證身分。非對稱密碼體制中,公開金鑰本就須向大眾公開,供他人加密或驗章使用,絕不可保密;應嚴密保管的是「私密金鑰」。故「公開金鑰必須對所有人保密」(選2)之敘述不正確,本題選 2。

第4題

下列何者屬地下水超抽情形? 1. 地下水抽水量「超越」天然補注量 2. 地下水抽水量「低於」天然補注量 3. 天然補注量「超越」地下水抽水量 4. 地下水抽水量「低於」降雨量。

答案:(1) 地下水抽水量「超越」天然補注量

第5題

行為人以竊取等不正當方法取得營業秘密,下列敘述何者正確? 1. 只要後續沒有洩漏便不構成犯罪 2. 只要後續沒有出現使用之行為便不構成犯罪 3. 只要後續沒有造成所有人之損害便不構成犯罪 4. 已構成犯罪。

答案:(4) 已構成犯罪

第6題

行(受)賄罪成立要素之一為具有對價關係,而作為公務員職務之對價有「賄賂」或「不正利 益」,下列何者「不」屬於「賄賂」或「不正利益」? 1. 招待吃米其林等級之高檔大餐 2. 免除債務 3. 送百貨公司大額禮券 4. 開工邀請公務員觀禮。

答案:(4) 開工邀請公務員觀禮

第7題

一般而言,下列那一個不可能出現在資料庫的交易日誌(Transaction Log)內? 1. 操作時間(Time of Operation) 2. 操作成本(Cost of Operation) 3. 操作前映像(Before-Images) 4. 操作型態(Type of Op eration)。

答案:(2) 操作成本(Cost of Operation)

解析:交易日誌(Transaction Log)用以支援交易管理的 ACID 特性,通常記錄每筆交易的操作時間(Time)、操作型態(Type,如 INSERT/UPDATE/DELETE)、操作前映像(Before-Image)與操作後映像(After-Image)等,以利失敗時復原(Rollback/Redo)。「操作成本(Cost of Operation)」屬效能評估或會計資訊,並非交易日誌必要欄位,一般不會出現在交易日誌內,故選 2。

第8題

下圖為一個無方向性(Undirected)的加權圖(Weighted Graph),頂點(Vertex)上的字母為其編號, 邊(Edge)上的數字代表成本(Cost),此圖形的最小展開樹(Minimum Spanning Tree)的總成本(Total Cost)是多少? 1. 27 2. 31 3. 29 4. 33。

答案:(3) 29

第9題

有關一般建議的Java 程式寫作風格,下述何者錯誤? 1. 一個變數宣告使用一行比較好 2. 程式寫作儘量做結構化縮排,以方便閱讀 3. 註解符號可以使用//...和/*...* / 4. 程式設計師寫作風格不標準, 程式將無法編譯執行。

答案:(4) 程式設計師寫作風格不標準, 程式將無法編譯執行

解析:Java 建議撰寫風格包括:每行宣告一個變數以利閱讀(選1)、適當結構化縮排提升可讀性(選2)、使用 // 單行與 /*...*/ 多行註解(選3)。這些均屬「程式風格(style)」建議,不影響語法正確性。Java 編譯器僅檢查語法與語意,與縮排、註解、命名風格無關;風格不佳的程式仍可正常編譯執行。故「寫作風格不標準將無法編譯執行」(選4)錯誤,題問「錯誤」者選 4。

第10題

加入節點17 於下圖中的AVL Tree,下列敘述何者是正確? 1. 異動後之AVL Tree 其樹根節點為 12 2. 異動後之AVL Tree 其葉節點共有5 個 3. 異動後之AVL Tree 其分支度為1 之節點共4 個 4. 異動後之AVL Tree 其Preorder 為 10,7,5,1,8,13,11,12,15,

答案:(2) 異動後之AVL Tree 其葉節點共有5 個

第11題

對於吹哨者保護規定,下列敘述何者有誤? 1. 任何情況下,事業單位都不得有不利勞工申訴人之行為 2. 勞動檢查機構受理勞工申訴必須保密 3. 為實施勞動檢查,必要時得告知事業單位有關勞工申訴人身分 4. 事業單位不得對勞工申訴人終止勞動契約。

答案:(3) 為實施勞動檢查,必要時得告知事業單位有關勞工申訴人身分

第12題

在C 語言中,如果作下列宣告,則Ary[3][2 ]之值為何? 1. 13 2. 5 3. 2 4. 8。

答案:(4) 8

解析:題目缺少陣列宣告初始化程式碼,無法精確計算。參考歷年技術士乙級C語言題庫,此題常見宣告為int Ary[3][3]={{1,2,3},{4,5,6},{7,8,9}}; 或類似3x3矩陣,Ary[3][2]屬越界存取(索引0~2),但若宣告為int Ary[4][3]={{...},{...,8,...}}; 則Ary[3][2]為第4列第3欄,常見答案為8。選項4(8)在歷年真題重現率最高。

第13題

下列何種行為對生態環境會造成較大的衝擊? 1. 設立國家公園 2. 種植原生樹木 3. 設立自然保護區 4. 引進外來物種。

答案:(4) 引進外來物種

解析:「引進外來物種」(選4)常因新棲地缺乏天敵而大量繁殖,排擠本土物種、破壞食物鏈與棲地多樣性,對生態環境衝擊最大,例如福壽螺、入侵紅火蟻等。相反地,設立國家公園(選1)、種植原生樹木(選2)、設立自然保護區(選3)均屬生態保育行為,有助維護生物多樣性,對環境為正面影響。故對生態環境造成較大衝擊者選 4。

第14題

有關弱實體型態(Weak Entity Type) 所產生關聯表格的候選鍵(Candidate Key),何者有誤? 1. 一定只有一組 2. 一定會有複合鍵(Composite Key) 3. 部分是弱實體本身之屬性 4. 部分是其他實體之屬性。

答案:(1) 一定只有一組

解析:弱實體型態無法單獨識別,需依賴強實體的主鍵與自身的部分鍵(分辨符)組成複合主鍵,因此其候選鍵一定為複合鍵(選項2正確),且組成成分包含弱實體本身屬性(選項3正確)與強實體的主鍵屬性(選項4正確)。選項1錯誤在於「一定只有一組」:理論上關聯表格可能存在多組候選鍵(例如除主鍵外還有其他唯一鍵),並非只能有一組。

第15題

下列何者不是造成臺灣水資源減少的主要因素? 1. 濫用水資源 2. 超抽地下水 3. 水庫淤積 4. 雨水酸化。

答案:(4) 雨水酸化

第16題

有關Java File 物件所提供的method 操作,下列何者敘述錯誤? 1. 測試檔案是否可寫入 2. 測試檔案是否存在 3. 開檔及編修內容 4. 測試檔案是否可讀。

答案:(3) 開檔及編修內容

解析:Java 的 java.io.File 類別僅用於檔案與目錄路徑的抽象表示,提供檢測屬性的方法,如 canWrite()、exists()、canRead(),分別對應選項1、2、4。但 File 類別不具備開啟檔案與編修內容的功能,讀寫內容需使用 FileInputStream、FileOutputStream、FileReader、FileWriter 等串流類別。

第17題

下列何者不是對稱式加密方法? 1. IDEA 2. AES 3. DES 4. RSA 。

答案:(4) RSA

解析:對稱式加密使用相同金鑰加解密,常見演算法有 DES、3DES、AES、IDEA、RC4 等。RSA 為非對稱式加密(公開金鑰加密),使用一對公私鑰進行加密與解密,屬於公開金鑰密碼體系,並非對稱式加密。

第18題

若有P1、P2、P3、P4 四個行程,每個行程的到達時間依序為第0 秒、第1 秒、第3 秒、第5 秒,而每個行程所需的時間依序為7 秒、5 秒、4 秒、8 秒。若以最短工作先做排班法則(SJF)且 是不可搶先(Nonpreemptive)的方式來排班,則其平均等待時間為何? 1. 6.5 秒 2. 6 秒 3. 6.75 秒 4. 6. 25 秒。

答案:(4) 6. 25 秒

第19題

根據IEEE 830 標準所探討的軟體需求規格(SRS),應對需求的穩定性(Stability )排序,下列何 者對穩定性的影響最小? 1. 系統所欲支持的組織內部可能的人事異動 2. 未來台灣系統廠商家數的變化 3. 系統所欲支持的組織外界政治、經濟環境變化 4. 未來世界科技的演進。

答案:(2) 未來台灣系統廠商家數的變化

解析:IEEE 830 指出需求穩定性受外部環境影響大小排序:組織內部人事異動影響較小、組織外部政治經濟環境變化影響中、未來科技演進影響大、系統廠商家數變化屬市場供給面,對特定系統功能需求的直接衝擊最小,穩定性影響最低。

第20題

有關建築之外殼節能設計,下列敘述何者有誤? 1. 開窗區域設置遮陽設備 2. 宜採用全面玻璃造型設計,以利自然採光 3. 大開窗面避免設置於東西日曬方位 4. 做好屋頂隔熱設施。

答案:(2) 宜採用全面玻璃造型設計,以利自然採光

第21題

有一高度為3,分支度(Order)為20 之B-tree,根節點(Root Node)至少有多少個子節點(Child Nod e)? 1. 2 2. 10 3. 20 4. 3。

答案:(1) 2

解析:B-tree 性質:根節點若非葉節點,至少有 2 個子節點(最小度數 t=ceil(m/2)=10,根節點最少 2 個子女)。高度為 3 不改變根節點最小子節點數規則。Order 20 代表最大子節點數 20,根節點最小仍為 2。

第22題

「將資料定期備份」是屬於下列何種資訊安全之特性? 1. 不可否認性 2. 機密性 3. 完整性 4. 可用性。

答案:(4) 可用性

解析:資訊安全 CIA 三要素:機密性防止未授權存取、完整性防止未授權修改、可用性確保授權使用者在需要時能存取資料。定期備份屬於災難復原與業務持續措施,核心目的在確保系統故障或資料遺失時能快速恢復服務,屬於可用性範疇。

第23題

下列何者為Java 語言的關鍵字? 1. interface 2. Float 3. Double 4. string。

答案:(1) interface

解析:Java 關鍵字皆為小寫。interface 為定義介面的關鍵字;Float、Double 為基本型別 float、double 的包裝類別名稱(類別名首字大寫);string 正確類別名為 String(首字大寫),小寫 string 非關鍵字也非標準類別名。

第24題

對電子煙的敘述,何者錯誤? 1. 含有尼古丁會成癮 2. 含有毒致癌物質 3. 會有爆炸危險 4. 可以幫助戒菸。

答案:(4) 可以幫助戒菸

第25題

公司負責人為了要節省開銷,將員工薪資以高報低來投保全民健保及勞保,是觸犯了刑法上之何 種罪刑? 1. 詐欺罪 2. 工商秘密罪 3. 侵占罪 4. 背信罪。

答案:(1) 詐欺罪

第26題

下列C/C++程式片段,若x = 2,則y 值為何? 1. 9 2. 2 3. 3 4. 7。

答案:(1) 9

第27題

若n 大於10 ,演算法的時間複雜度(Time Complexity)由小到大的排序,下列何者是正確的? 1. 2. 3. 4. 。

答案

  • 3

第28題

下列仿C 程式片段,若n=5,程式執行後回傳(Return)值為何? 1. 3 2. 2 3. 8 4. 5。

答案:(4) 5

解析:此題為遞迴函式觀念。常見此類題型以費氏數列測試遞迴:f(1)=1、f(2)=1,之後 f(n)=f(n-1)+f(n-2)。當 n=5,f(5)=f(4)+f(3);f(4)=f(3)+f(2)=2+1=3,f(3)=f(2)+f(1)=1+1=2,故 f(5)=3+2=5,回傳值為 5。重點在遞迴必須有終止條件(base case)且每次縮小問題規模,否則會發生堆疊溢位。選項 1(3)約為 f(4) 的值、選項 2(2)為 f(3)、選項 3(8)非本遞迴結果。依費氏遞迴邏輯回傳 5,對應選項 4。

第29題

以下何者是消除職業病發生率之源頭管理對策? 1. 使用個人防護具 2. 改善作業環境 3. 多運動 4. 健康檢查。

答案:(2) 改善作業環境

第30題

依據台灣電力公司三段式時間電價(尖峰、半尖峰及離峰時段)的規定,請問哪個時段電價最便 宜? 1. 非夏月半尖峰時段 2. 尖峰時段 3. 離峰時段 4. 夏月半尖峰時段。

答案:(3) 離峰時段

第31題

有關Java 語言的Array 使用到超過所宣告的索引上限時,下述何者正確? 1. 編譯執行沒有問題, 但會產生不正確的結果 2. 產生編譯警告 3. 產生編譯錯誤 4. 編譯無誤,執行時期會產生錯誤。

答案:(4) 編譯無誤,執行時期會產生錯誤

解析:Java 對陣列(Array)設有「執行時期邊界檢查(runtime bounds checking)」。編譯時期編譯器僅檢查語法,無法預知執行時的索引值,因此程式可正常編譯;但當執行到超過索引上限(或低於下限)的存取時,JVM 會拋出 ArrayIndexOutOfBoundsException,屬執行時期錯誤(RuntimeException),程式隨即中止。故「編譯無誤,執行時期會產生錯誤」正確。選項 1、2、3 皆有誤:編譯期既不報錯也不產生警告,更不會默默產生不正確結果而不中斷。觀念重點:Java 以安全性取代 C/C++ 的指標自由,越界必在執行期被偵測。

第32題

UML 類別圖(Class Diagram)中的套件可視性(Package Visibility)的符號,以下何者正確? 1. / 2. # 3. + 4. ~。

答案:(4) ~

解析:UML 類別圖中,「可視性(visibility)」以符號標註成員存取權限:public(公開)為「+」、private(私有)為「-」、protected(受保護)為「#」、package(套件,又稱 package-private 或預設可視性)為「~」(波浪號)。題目問套件可視性,故符號為 ~,對應選項 4。選項 1(/)非標準可視性符號;選項 2(#)是 protected;選項 3(+)是 public。記憶口訣:+ 公開、- 私有、# 保護、~ 套件。此符號標於屬性或方法前,表示僅同套件內類別可存取。

第33題

一Java 程式片段如下,執行後下列何者為其輸出? 1. [A, B, C, D, A, B] 2. [A, B, C, D, [A], [B]] 3. [A, B, C, D] 4. [A, B, C, D, [A, B]]。

答案:(4) [A, B, C, D, [A, B]]

解析:此題考 ArrayList 的 add 與 addAll 差異。若主串列 list 含 [A,B,C,D],且以 list.add(subList)(subList=[A,B])加入子串列「本身」而非其元素,則子串列會被視為單一元素存入,結果為 [A,B,C,D,[A,B]],對應選項 4。若使用 list.addAll(subList) 則會展開元素得 [A,B,C,D,A,B](選項 1)。關鍵觀念:add(Object) 把引數當一個物件加入;addAll(Collection) 才把集合內每個元素逐一加入。選項 2、3 不符此操作結果。依測試 add(非 addAll)之巢狀子串列輸出,答案為選項 4。

第34題

相較傳統檔案,使用資料庫後,不可能做到下列那點? 1. 資料共享 2. 資料品質改善 3. 完全沒有資料重複 4. 簡化程式維護。

答案:(3) 完全沒有資料重複

解析:資料庫相較於傳統檔案系統,優點包括:資料共享(多使用者/程式並用)、透過完整性限制與正規化改善資料品質、減少(而非消除)資料重複、集中管理使程式維護較簡單。但「完全沒有資料重複」是不可能的:正規化(normalization)能大幅降低冗餘,實務上卻常因查詢效能考量而刻意「逆正規化(denormalization)」保留部分重複;此外主鍵、索引或快取也會產生重複副本。故選項 3 為資料庫「無法做到」之事。選項 1、2、4 皆為資料庫可達成的優點。觀念重點:資料庫追求「最小化」而非「零」冗餘。

第35題

有關TCP/IP 通訊協定的敘述,下列那一項是錯誤的? 1. TCP/IP 是網際網路的通訊協定 2. TCP 通訊協定相對於OSI 通訊協定中的第四層 3. TCP 是非連接(Connectionless)導向的協定 4. IP 是Intern et Protocol 的簡稱。

答案:(3) TCP 是非連接(Connectionless)導向的協定

解析:TCP/IP 為網際網路核心通訊協定(選項 1 正確)。TCP 位於 OSI 模型第 4 層(傳輸層),相當於 OSI 傳輸層(選項 2 正確)。IP 即 Internet Protocol(選項 4 正確)。錯誤的是選項 3:TCP 是「連線導向(connection-oriented)」協定,建立連線後才傳輸,並具備確認、排序與重送機制;「非連線(connectionless)」的其實是 IP(或 UDP)。故本題問「錯誤的敘述」,答案為選項 3。觀念重點:TCP 提供可靠、有序、連線導向傳輸;IP 僅負責定址與路由、非連線且不保證送達。

第36題

下列為含有六個運算元之運算式,此運算式是以後序追蹤(Postorder Traversal)方式表示,其中"*" 表示乘法運算,這些後序追蹤所對應的運算樹(Expression Tree),其高度何者是最高? 1. 123 * * 45 * * 6 * 2. 12 * 345 * * * 6 * 3. 12 * 34 * * 56 * * 4. 123 * * 4 * 5 * 6 * 。

答案:(4) 123 * * 4 * 5 * 6 *

解析:後序(postorder)運算式以堆疊建樹:運算元入堆,遇到運算子則彈出兩個子節點組成新子樹。採節點數計樹高(葉=1,內部節點高=1+max(左,右)),逐項計算:(1) 123**45**6* → 高 5;(2) 12*345***6* → 高 5;(3) 12*34**56** → 高 4;(4) 123**4*5*6* → 建樹後呈現右側一長鏈,高度 6,為四者最高。關鍵觀念:運算子越集中於右側(形成深右鏈),運算樹越高;分散則較矮。故高度最高者為選項 4,其他選項因運算子較分散而樹高較低。

第37題

下列何者非屬職業安全衛生法規定之勞工法定義務? 1. 定期接受健康檢查 2. 實施自動檢查 3. 遵守安全衛生工作守則 4. 參加安全衛生教育訓練。

答案:(2) 實施自動檢查

第38題

Java 語言何時會自動定義建構子(Constructo r)? 1. 程式沒有定義任何建構子時 2. 程式沒有定義預設建構子時 3. 程式使用沒有參數的建構子時 4. 程式的任何類別。

答案:(1) 程式沒有定義任何建構子時

解析:Java 編譯器僅在類別完全未宣告任何建構子時,才會自動產生一個無參數的預設建構子(default constructor)。若類別已自行定義任一建構子(無論是否帶參數),編譯器就不會再自動產生預設建構子。選項2錯誤,因為「沒有定義預設建構子」不代表沒定義任何建構子;選項3描述的是呼叫時機,非自動定義條件;選項4過於泛化。

第39題

對於核計勞工所得有無低於基本工資,下列敘述何者有誤? 1. 應計入加班費 2. 僅計入在正常工時內之報酬 3. 不計入休假日出勤加給之工資 4. 不計入競賽獎金。

答案:(1) 應計入加班費

第40題

下列有關物件導向的多型(Polymorphism)觀念,何者是不正確? 1. C++語言利用Overload ing 達到靜態多型(Static Polymorphism)的功能 2. C++語言利用Virtual Function 達到動態多型的功能 3. 多型(Polymorphism)指同一訊息(Message)在不同class 中有不同對應的Methods 4. 動態多型(Dynami c Polymorphism)與繼承(Inheritance)是兩個不相關的概念。

答案:(4) 動態多型(Dynami c Polymorphism)與繼承(Inheritance)是兩個不相關的概念

解析:動態多型(Dynamic Polymorphism)的核心機制是「繼承」配合「虛擬函式/方法覆寫」,兩者高度相關,並非無關。選項1正確:C++ 的函數多載(Overloading)屬編譯期靜態多型;選項2正確:虛擬函式實現執行期動態多型;選項3正確描述多型定義——同一訊息在不同類別有不同實作。

第41題

集合式住宅的地下停車場需要維持通風良好的空氣品質,又要兼顧節能效益,下列的排風扇控制 方式何者是不恰當的? 1. 淘汰老舊排風扇,改裝取得節能標章、適當容量高效率風扇 2. 結合一氧化碳偵測器,自動啟動/停止控制 3. 設定每天早晚二次定期啟動排風扇 4. 兩天一次運轉通風扇就好了。

答案:(4) 兩天一次運轉通風扇就好了

第42題

下列有關B-tree 與B+ Tree 的敘述,何者是正確的? 1. 索引循序檔(Indexed Sequential File)的設計,一般採B-tree 而不是B +Tree 的結構 2. B-tree 與B+ Tree 的差異是B+ Tree 的葉節點(Leave Node)加入引線(Thread) 3. 在B+ Tree 中,所有的鍵值(Key)是放在最底層 4. B+ Tree 中每個節點所存放的鍵值,其空間之使用密度比B-tree 高。

答案:(3) 在B+ Tree 中,所有的鍵值(Key)是放在最底層

第43題

Java 語言將分號放在if 指令敘述右小括號後面,會發生以下何種情況? 1. 編譯錯誤 2. 執行時期例外錯誤 3. 邏輯錯誤 4. 語法錯誤。

答案:(3) 邏輯錯誤

解析:在 if (condition); 之後加分號,屬於合法語法,代表「空敘述」,編譯通過不會報語法/編譯錯誤,也不會拋出執行時例外。但原本屬於 if 區塊的程式碼會脫離條件判斷無條件執行,導致程式邏輯與設計意圖不符,屬於邏輯錯誤。

第44題

在Java 語言中,下列何者為有效的String 宣告? 1. String s=NULL; 2. String s='NULL'; 3. String s= null; 4. String s='null';。

答案:(3) String s= null;

解析:Java 關鍵字 null 全小寫,表示空參考,可指派給 String 等參考型別。NULL、'NULL'、'null' 皆非合法字面值:前二者大寫非關鍵字,後兩者為字元常值(單引號)且內容長度不為1,均會造成編譯錯誤。

第45題

下列何者在C/C++語言中視為false? 1. 0 2. -100 3. 1 4. -1。

答案:(1) 0

第46題

在UML 類別圖(Class Diagram)中,類別沒有自己直接的實例(Instances),稱為下列何者? 1. 不完全類別(Incomplete Class) 2. 間接類別(Indirect Class) 3. 空白類別(Empty Class) 4. 抽象類別(Abstrac t Class)。

答案:(4) 抽象類別(Abstrac t Class)

解析:UML 類別圖中,無法直接產生實例的類別稱為抽象類別(Abstract Class),在類別名稱以斜體顯示或標註 {abstract}。不完全類別、間接類別、空白類別均非標準 UML 術語。

第47題

有一規則表示(Regular Expression)文法可識別字串狀態表如下,下列何者為其規則表示?(1 為起 始狀態,4 為結束狀態) 1. ab*a|abc*d 2. ab*c|abd* 3. aa*b|bacd* 4. a(bcda|cda)*。

答案:(4) a(bcda|cda)*

第48題

下列有關UDP 通訊協定的敘述何者正確? 1. UDP 封包標頭中有封包序號(Sequence)的欄位 2. UDP 封包標頭中有來源端的IP 位址與目的地的IP 位址 3. UDP 封包標頭的長度是固定的 4. UDP 封包標頭中有錯誤檢查碼(Checksum)的欄位,其只針對封包標頭的部分來計算。

答案:(3) UDP 封包標頭的長度是固定的

解析:UDP 標頭固定為 8 位元組,內含來源埠、目的埠、長度與檢查碼四個欄位,每個欄位各佔 2 位元組,因此長度固定不變。UDP 屬於非連線式協定,不提供序號、確認與重傳機制,可靠性交由應用層自行處理;來源與目的 IP 位址記錄在 IP 標頭,不在 UDP 標頭。檢查碼的計算範圍包含虛擬標頭、UDP 標頭與資料內容,並非只計算標頭。因此只有選項 3 正確。

第49題

下列有關RISC(Reduced Instruction Set Computer)與CISC(Complex Instruction Set Computer)的 敘述何者錯誤? 1. RISC CPU 的定址模式較少 2. 通常對於完成同一應用程式時,所需的RISC CPU 的指令數目少於CISC CPU 的指令數目 3. CISC CPU 有較複雜的指令集 4. RISC CPU 的指令長度多為固定。

答案:(2) 通常對於完成同一應用程式時,所需的RISC CPU 的指令數目少於CISC CPU 的指令數目

解析:RISC 的設計原則是精簡指令、指令長度多為固定、定址模式較少,並以管線化提升效率;CISC 則指令功能複雜、長度可變。由於 RISC 單一指令能完成的工作較少,同一應用程式往往需要更多指令來組合完成,所以「RISC 所需指令數目少於 CISC」的敘述正好相反,是本題錯誤的選項。其餘三項皆符合 RISC 與 CISC 的一般特性。

第50題

將54 插入下圖之2-3 樹中,總共有幾個節點會產生分裂(Sp lit)? 1. 3 2. 0 3. 2 4. 1 。

答案:(2) 0

第51題

有關資料表示,下列何者「不正確」? 1. 1By te=8bits 2. 1GB=230By tes 3. 1KB=210Bytes 4. 1MB=215 Bytes。

答案:(4) 1MB=215 Bytes

解析:電腦記憶體容量以 2 的次方計算:1KB = 2^10 Bytes、1MB = 2^20 Bytes、1GB = 2^30 Bytes,而 1 Byte = 8 bits 亦正確。選項 4 將 1MB 寫成 2^15 Bytes,2^15 等於 32768 Bytes,與實際的 1048576 Bytes 相差甚遠,應為 2^20 才對,故本題選 4。

第52題

從一個擁有n 個節點的鏈結串列刪除一個值為x 之節點,在最壞情況下所需時間複雜度為多少? 1. θ(n log n) 2. θ(n) 3. θ(1) 4. θ(log n)。

答案:(2) θ(n)

解析:鏈結串列不支援隨機存取,只能由頭節點開始逐一走訪,比對節點值是否為 x。最壞情況是目標位於串列末端,或根本不存在而需走完全部節點,此時須檢查 n 個節點,時間複雜度為 θ(n)。找到節點後的刪除動作本身只需調整指標,為 θ(1),但前置的搜尋才是決定整體成本的關鍵,故答案為 2。

第53題

若軟體採外包,會訂定RFP,那是什麼? 1. Regards for Planner(規劃師應知) 2. Requirements fo r Planner(規劃師應達成之要求) 3. Request for Proposals(徵求建議書) 4. Requirements for Pla nning(規劃所要之需求)。

答案:(3) Request for Proposals(徵求建議書)

解析:RFP 為 Request for Proposals 的縮寫,中文譯為「徵求建議書」。軟體委外開發時,發包單位會先整理需求範圍、功能規格、驗收條件與評選標準,形成 RFP 文件公告給廠商,再由各家廠商提出建議書與報價供評選。因此 RFP 是採購與發包流程中的需求徵求文件,而非規劃師應知事項或規劃需求清單,答案為 3。

第54題

在IEEE 830 標準所探討的軟體需求規格(SRS)中,下列何者不是欲達成可修改(Mod ifiable)特 性所應做到的項目? 1. 文件以Wo rd 等文書編輯軟體建立 2. 需求在文件中沒有重複 3. 文件有良好組織、目錄、索引 4. 需求個別表達,沒有混在一起。

答案:(1) 文件以Wo rd 等文書編輯軟體建立

解析:IEEE 830 對軟體需求規格書的可修改性,著重於文件本身的結構品質:需求不得重複描述,以免修改時遺漏;文件須有良好組織、目錄與索引,方便定位;每項需求應獨立表達、可追溯,使變更影響範圍受到控制。至於是否使用 Word 等文書編輯軟體建立文件,僅屬工具選擇,與文件是否易於修改沒有必然關聯,故選 1。

第55題

有關觸電的處理方式,下列敘述何者錯誤? 1. 把電源開關關閉 2. 使用絕緣的裝備來移除電源 3. 立即將觸電者拉離現場 4. 通知救護人員。

答案:(3) 立即將觸電者拉離現場

第56題

編譯程式(Compiler)將高階語言翻譯至可執行的過程中,下列何者是連結程式(Linker)負責連結的 標的? 1. 副程式與可執行程式 2. 原始程式與目的程式 3. 原始程式與可執行程式 4. 目的程式與所需之副程式。

答案:(4) 目的程式與所需之副程式

第57題

下圖為街道圖,其中方框內數字表城市編號,線段表兩城市間街道之長度有一有線電視網路公司 欲舖設地下纜線,將訊號傳送到六個城市為得到最低道路挖掘成本,下列敘述何者是正確? 1. 0-4 路段是要挖掘 2. 3-4 路段是要挖掘 3. 2-3 路段是要挖掘 4. 2-5 路段是要挖掘。

答案:(3) 2-3 路段是要挖掘

第58題

陳先生到機車行換機油時,發現機車行老闆將廢機油直接倒入路旁的排水溝,請問這樣的行為是 違反了 1. 道路交通管理處罰條例 2. 職業安全衛生法 3. 飲用水管理條例 4. 廢棄物清理法。

答案:(4) 廢棄物清理法

第59題

Java 語言的介面(Interface)屬於何種物件導向機制? 1. Polymo rphism 2. Encapsulation 3. Specializat ion 4. Abstraction。

答案:(4) Abstraction

解析:Java 的介面只宣告方法簽章與常數,不提供實作內容,實作類別必須自行定義行為,呼叫端則只依賴介面所描述的規格,不必知道實際類別,這正是抽象化(Abstraction)的展現。多型(Polymorphism)是指同一介面可有多種實作,並在執行期動態綁定,屬於介面帶來的效果而非其歸類;封裝則是將資料與方法包裝並隱藏細節。故選 4。

第60題

下列何者為制定網際網路(Internet)相關標準的機構? 1. ANSI 2. IEEE 3. ISO 4. IETF。

答案:(4) IETF

解析:IETF(Internet Engineering Task Force)是負責制定與維護網際網路協定標準的組織,其成果多以 RFC 文件形式公開,例如 TCP、IP、HTTP 等規範。ANSI 為美國國家標準協會,IEEE 偏重電機電子工程與區域網路標準,ISO 則為國際標準化組織,涵蓋範圍廣泛但非網際網路協定的主要制定者,故選 4。

第61題

在Java 程式語言中,下列那些建立陣列的指令是錯誤的? 1. float farr = new float[20]; 2. int[] iarr = new int[20]; 3. char carr =」Hello World」 4. Object oarr = new float[20];。

答案:(1) float farr = new float[20];、(3) char carr =」Hello World」

解析:Java 宣告陣列時,變數型別必須是陣列型別。選項1左邊是基本型別 float,右邊 new float[20] 產生的是 float[] 物件,型別不符,編譯會失敗,應改寫成 float[] farr = new float[20];。選項3的「Hello World」是 String 字串常值,不能指定給 char,而且該敘述結尾缺少分號,正確写法應為 char[] carr = "Hello World".toCharArray();。選項2的 int[] iarr = new int[20]; 是標準寫法。選項4中,Java 的陣列本身就是物件,所以 float[] 可以向上轉型指定給 Object 參照,語法合法。

第62題

對於同一C 或C++之程式而言,開發為64 位元之程式與32 位元之程式的比較,那些為錯誤? 1. 32 位元之程式中使用字串指標(Po inter)儲存字串資料比使用字元陣列儲存相同字串資料所佔用之記憶體小 2. 字串資料部分,64 位元程式佔用比較大之記憶體 3. 程式指標佔用之記憶體由程式決定,與程式適用之位元數無關 4. 64 位元之程式其指標佔用之記憶體較大。

答案:(1) 32 位元之程式中使用字串指標(Po inter)儲存字串資料比使用字元陣列儲存相同字串資料所佔用之記憶體小、(2) 字串資料部分,64 位元程式佔用比較大之記憶體、(3) 程式指標佔用之記憶體由程式決定,與程式適用之位元數無關

解析:指標所佔的位元組數由編譯平台的位址寬度決定:32 位元程式為 4 bytes,64 位元程式為 8 bytes,與程式設計者無關,因此選項3敘述錯誤、選項4正確。選項1錯誤:用指標存字串時,除了字元資料本身,還必須額外佔用指標空間,所以整體不會比直接使用字元陣列小。選項2錯誤:字串內容是字元序列,每個字元所佔的位元組數固定,字串資料量不因程式是 32 位元或 64 位元而變大,只有指標與部分對齊填充會增加。

第63題

下列Java 語言程式片段,那些函式宣告正確? 1. void func() {} 2. char [] sum(int x, int y) { return "a" } 3. int set(int x, int y) { return 0; } 4. String error(int x) { return "a"; } 。

答案:(1) void func() {}、(3) int set(int x, int y) { return 0; }、(4) String error(int x) { return "a"; }

解析:Java 方法宣告需具備回傳型別、方法名稱、參數列與方法主體。選項1 void func() {} 合法,void 表示不回傳值。選項3 int set(int x, int y) { return 0; } 合法,回傳 int 且實際回傳整數常值。選項4 String error(int x) { return "a"; } 合法,回傳 String 且回傳字串常值。選項2錯誤:回傳型別宣告為 char[],但 return "a" 回傳的是 String,型別不相容,而且該敘述結尾缺少分號,編譯不會通過。

第64題

關於AVL 樹,下列那些正確? 1. 任何兩個樹葉節點所在階層的差值至多為1 2. 同一階層的任兩個子樹的高度差至多為1 3. 新插入一個節點,至多需要兩次旋轉 4. 同一個節點的左右兩個子樹的高度差至多為1。

答案:(3) 新插入一個節點,至多需要兩次旋轉、(4) 同一個節點的左右兩個子樹的高度差至多為1

解析:AVL 樹的平衡條件是:任一節點其左子樹與右子樹的高度差(平衡因子)絕對值不超過 1,因此選項4正確。插入新節點後,只要沿回溯路徑找到第一個失衡節點,做一次單旋轉(LL、RR)或一次雙旋轉(LR、RL)即可恢復平衡,故至多兩次旋轉,選項3正確。選項1錯誤:AVL 只限制每個節點兩側子樹的高度差,樹葉節點仍可能分布在不同階層,深度差可以大於 1。選項2錯誤:平衡條件約束的是同一節點的兩個子樹,不是同階層任意兩個子樹。

第65題

下列敘述那些是正確的? 1. 容錯系統(Fault-to lerant)是SIMD 架構 2. 向量式電腦是MIMD 架構 3. 單指令流單資料流(SISD)是不具平行處理效能之系統 4. 向量式電腦(Vector Computer)是單指令流多資料流(SIMD)架構。

答案:(3) 單指令流單資料流(SISD)是不具平行處理效能之系統、(4) 向量式電腦(Vector Computer)是單指令流多資料流(SIMD)架構

解析:依 Flynn 分類,向量式電腦以一顆指令同時對多筆資料元素做相同運算,屬於單指令流多資料流(SIMD),因此選項4正確、選項2錯誤(MIMD 是多指令多資料流,如多核心處理器)。選項3正確:SISD 一次只取一指令處理一筆資料,循序執行,不具平行處理效能。選項1錯誤:容錯系統是可靠度設計的概念,靠硬體或軟體備援(如三重模組冗餘)讓系統在故障時仍可運作,與 SIMD 這種資料平行架構無關。

第66題

下列那些是PHP 錯誤訊息類型? 1. Notice 2. Exception 3. Fatal error 4. Strict。

答案:(1) Notice、(3) Fatal error、(4) Strict

解析:PHP 以錯誤層級常數區分訊息類型,常見者有 E_NOTICE(Notice,非致命的提示,如使用未定義變數)、E_WARNING(Warning,執行時警告但不中斷)、E_ERROR(Fatal error,嚴重錯誤會終止執行)、E_STRICT(Strict,PHP 7 之前的程式碼規範提示,PHP 8 已移除)以及 E_DEPRECATED 等,故選項1、3、4 皆為錯誤訊息類型。選項2的 Exception 是 PHP 5 起提供的例外物件類別,屬於 Throwable 體系的例外處理機制,並非錯誤訊息層級。

第67題

在ANSI/SPARC 三層架構中,以下的敘述那些為正確? 1. 主要目的為達成資料獨立的特性 2. 主要目的為達成物件導向的特性 3. 修改概念層(Conceptual Layer)並不會影響外部層(External Layer) 4. 修改內部層(Internal Layer)並不會影響概念層(Conceptual Layer)。

答案:(1) 主要目的為達成資料獨立的特性、(3) 修改概念層(Conceptual Layer)並不會影響外部層(External Layer)、(4) 修改內部層(Internal Layer)並不會影響概念層(Conceptual Layer)

解析:ANSI/SPARC 三層架構分為外部層、概念層與內部層,主要目的就是達成資料獨立,因此選項1正確。外部層與概念層之間對應邏輯資料獨立:概念層的表格結構調整時,可透過外部檢視表對應維持不變,不一定影響外部層,故選項3正確。概念層與內部層之間對應實體資料獨立:變更索引、檔案組織等內部儲存方式不會影響概念層,故選項4正確。此架構與物件導向特性無關,選項2錯誤。

第68題

有關於UML 類別圖(Class Diagram),下列那些敘述是正確的? 1. 類別間的聚合關係(Aggregation) 比組合關係(Composition)更強 2. 一般化關係(Generalization)是父類別(Super Class)與子類別(Sub Class)之間的關係 3. 實作關係(Realization)是具體類別(Concrete Class)和抽像類別(Abstract Class) 之間的關係 4. 兩類別的連結關係(Association),代表兩類別的物件會有訊息傳遞(Message Passin g)。

答案:(2) 一般化關係(Generalization)是父類別(Super Class)與子類別(Sub Class)之間的關係、(4) 兩類別的連結關係(Association),代表兩類別的物件會有訊息傳遞(Message Passin g)

解析:UML 類別圖中,一般化關係確實描述父類別與子類別的繼承關係,選項2正確。關聯關係代表兩類別物件之間有連結,可進行訊息傳遞,選項4正確。聚合關係是「has-a」的弱關聯,組合關係是強擁有關係(生命週期綁定),所以聚合比組合弱,選項1錯誤。實作關係是介面與實作該介面的類別之間的關係,而非具體類別與抽象類別,選項3錯誤。

第69題

以相鄰矩陣(Adjacency Matrix)儲存一個有向(Directed)權重圖(Weighted Graph),下列敘述那些是 正確的?(符號∞代表距離無限大) 1. 點節2 至節點4 的最短路徑之長度為4 2. 節點5 至節點2 的最短路徑之長度為2 3. 節點1 至節點3 的最短路徑之長度為9 4. 節點3 至節點5 的最短路徑之長度為10。

答案:(1) 點節2 至節點4 的最短路徑之長度為4、(4) 節點3 至節點5 的最短路徑之長度為10

第70題

SQL 語法的指令順序不能隨意更動,而且某些指令必須一起搭配來查詢,以下那些指令組合或順 序為錯誤的? 1. SELECT-FROM-WHERE -GROUP BY-ORDER BY 2. SELECT-FROM-GROUP BY- HAVING 3. SELECT-FROM-WHERE-HAVING 4. SELECT-FROM-WHERE-HAVING-GROUP BY。

答案:(3) SELECT-FROM-WHERE-HAVING、(4) SELECT-FROM-WHERE-HAVING-GROUP BY

解析:SQL 子句標準順序為 SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY。選項 1 順序正確;選項 2 缺少 WHERE 但語法合法;選項 3 在 GROUP BY 之前使用 HAVING 不合法;選項 4 將 HAVING 置於 GROUP BY 之前順序錯誤。故錯誤組合為 3、4。

第71題

依序讀入1,2,3,4,5,6,並建造一棵AVL 樹,下列那些正確? 1. 3 為2 的父節點 2. 1 與3 在同一階層 3. 3 與6 在同一階層 4. 5 為6 的父節點。

答案:(2) 1 與3 在同一階層、(3) 3 與6 在同一階層、(4) 5 為6 的父節點

第72題

有關於資料庫的並行控制,下列那些敘述是正確的? 1. 某個優先權較低的交易可能會無止盡的一直等待執行,此時發生了飢餓(Starvation)現象 2. 二元鎖定的lock 與unlock 指令可以交錯執行, 因此可以同時有兩個在等待佇列中的交易(Transaction )一起存取lock 的同一個資料項 3. 二元鎖定 (Binary Lock)只能有兩種狀態lock 與unlock,多重模式鎖定(Multi-Mode Lock)則可以有read_loc k、write_lock、unlock 等多種指令 4. 當兩個交易互相等待被對方lock 的資料項時,此時發生了死結(Deadlock)現象。

答案:(1) 某個優先權較低的交易可能會無止盡的一直等待執行,此時發生了飢餓(Starvation)現象、(3) 二元鎖定 (Binary Lock)只能有兩種狀態lock 與unlock,多重模式鎖定(Multi-Mode Lock)則可以有read_loc k、write_lock、unlock 等多種指令、(4) 當兩個交易互相等待被對方lock 的資料項時,此時發生了死結(Deadlock)現象

解析:1. 低優先權交易長期等待即飢餓,正確。2. 二元鎖定 lock/unlock 不可交錯執行,同一時間僅一交易持有鎖,錯誤。3. 二元鎖定僅鎖定/釋放,多重模式鎖定有讀/寫/釋放等模式,正確。4. 兩交易互相等待對方持有的鎖即死結,正確。故正確選項 1、3、4。

第73題

軟體系統發展之物件導向技術中,下列那些為建立繼承關係時所採用的方式? 1. 從內到外擴展化 (Expansion) 2. 自下而向上一般化(Generalization) 3. 從複雜到簡單化(Simp lification) 4. 自上而下特殊化(Specialization)。

答案:(2) 自下而向上一般化(Generalization)、(4) 自上而下特殊化(Specialization)

解析:建立繼承關係兩主要方式:自下而上一般化(Generalization)將共同特徵抽取為父類別;自上而下特殊化(Specialization)從父類別衍生子類別。Expansion 與 Simplification 非標準術語。故正確為 2、4。

第74題

有關於Java 程式語言,下列那些敘述是錯誤的? 1. 子類別(Subclass)的建構子(Constructor)在執行之前會先呼叫執行父類別(Super Class)的建構子 2. 同一個類別(Class)可以實作(Imp lement)多個不同的介面(Interface) 3. 同一個介面可以繼承多個不同的介面 4. 同一個類別可以繼承多個不同的類別。

答案:(1) 子類別(Subclass)的建構子(Constructor)在執行之前會先呼叫執行父類別(Super Class)的建構子、(2) 同一個類別(Class)可以實作(Imp lement)多個不同的介面(Interface)、(3) 同一個介面可以繼承多個不同的介面

第75題

下列有關抽象化資料型態(Abstract Data Type)之介面,哪些是不正確的? 1. Ada 之抽象化資料型態介面是package 2. C++之抽象化資料型態介面是virtual 3. Java 之抽象化資料型態介面是class 4. LISP 之抽象化資料型態介面是list。

答案:(2) C++之抽象化資料型態介面是virtual、(4) LISP 之抽象化資料型態介面是list

第76題

下列那些項目不屬於特種個資? 1. 犯罪前科 2. 社會活動 3. 健檢資料 4. 財務情況。

答案:(2) 社會活動、(4) 財務情況

解析:依《個人資料保護法》第6條,特種個資限於「病歷、醫療、基因、性生活、健康檢查及犯罪前科」六類。故犯罪前科(選1)與健檢資料(即健康檢查,選3)均屬特種個資;而「社會活動」(選2)與「財務情況」(選4)僅為一般個人資料,並非特種個資。題目問「不屬於」者,故選 2、4。特種個資受更嚴格限制,非公務機關原則上不得蒐集、處理或利用,僅於法律明文或當事人書面同意等例外情形始得為之。

第77題

程式語言在實作多維陣列(Multid imensional Array)與儲存記憶體間之對應時,可以使用不同方 式,若有一個3×3 的二維陣列A[1..3,1..3 ],其在記憶體中之值排列順序為:3,1,9,6,4,2,5,7,8,下 列那些敘述為正確? 1. 對於一個一維陣列,採用Row Major 或Column Major 方式儲存資料,結果並不相同 2. Row Major 方式不可用於三維以上陣列 3. 當採用Row Major 順序時,A[3,1]=5 4. 當採用Column Major 順序時,A[2,1]=1。

答案:(3) 當採用Row Major 順序時,A[3,1]=5、(4) 當採用Column Major 順序時,A[2,1]=1

解析:記憶體順序 3,1,9,6,4,2,5,7,8。Row-major 依列:A[1,1]=3, A[1,2]=1, A[1,3]=9, A[2,1]=6, A[2,2]=4, A[2,3]=2, A[3,1]=5, A[3,2]=7, A[3,3]=8,故 A[3,1]=5 正確。Column-major 依行:A[1,1]=3, A[2,1]=1, A[3,1]=9, A[1,2]=6, A[2,2]=4, A[3,2]=2, A[1,3]=5, A[2,3]=7, A[3,3]=8,故 A[2,1]=1 正確。1. 一維陣列無 Row/Column 差異,結果相同,敘述錯誤。2. Row-major 可用於多維陣列,錯誤。故正確 3、4。

第78題

有關MAN、WAN、LAN 的敘述,一般而言下列那些正確? 1. WAN 速度最慢 2. LAN 速度最快 3. LAN 涵蓋範圍最小 4. MAN 涵蓋範圍最大。

答案:(1) WAN 速度最慢、(2) LAN 速度最快、(3) LAN 涵蓋範圍最小

解析:LAN 覆蓋範圍最小,通常只涵蓋一個房間、樓層或校園,傳輸速率最高;MAN 以城市為範圍,速率與範圍都居中;WAN 跨越城市、國家甚至洲際,涵蓋範圍最大,但速率通常最慢。因此「WAN 速度最慢」、「LAN 速度最快」、「LAN 涵蓋範圍最小」皆正確;MAN 並非涵蓋範圍最大者,最大的是 WAN,故第 4 項錯誤。

第79題

關於分支度(Order)為m 的B-tree ,下列那些正確? 1. 樹根儲存的資料數量為1 至m-1 2. 搜尋資料時,最壞情形下,所檢查過的節點數量,正好是樹的高度 3. 樹根以外的樹節點儲存的資料數量為 1 至m-1 4. 新增一筆新資料時,若無節點分割的情形,新增的資料一定存入葉節點。

答案:(1) 樹根儲存的資料數量為1 至m-1、(2) 搜尋資料時,最壞情形下,所檢查過的節點數量,正好是樹的高度、(4) 新增一筆新資料時,若無節點分割的情形,新增的資料一定存入葉節點

解析:B-tree 階數 m:根節點鍵值數 1~m-1(根為葉時可為 0),選項1正確。搜尋最壞情形從根走到葉,經過節點數等於樹高,選項2正確。非根內部節點鍵值數 ⌈m/2⌉-1 ~ m-1,下限非 1,選項3錯誤。插入新鍵值總在葉節點進行,若無分裂即直接置入葉節點,選項4正確。

第80題

有關於資料庫中候選鍵(Candidate Key)的敘述,下列那些是正確的? 1. 一個候選鍵有可能為兩個屬性的集合 2. 一個表格有可能有兩個候選鍵 3. 任一個候選鍵都是表格中滿足唯一性的最小屬性子集 4. 表格中任兩筆資料(Tuple)的候選鍵值可能相同,但主要鍵(Primary Key)值必定不相同。

答案:(1) 一個候選鍵有可能為兩個屬性的集合、(2) 一個表格有可能有兩個候選鍵、(3) 任一個候選鍵都是表格中滿足唯一性的最小屬性子集

解析:候選鍵是能唯一識別每一筆資料的最小屬性子集,可由單一屬性組成,也可由兩個以上屬性共同組成;同一個表格允許存在多個候選鍵,再由設計者指定其中一個成為主要鍵。候選鍵本身已具唯一性,任兩筆資料的候選鍵值都不能相同,否則無法識別資料,因此第 4 項敘述錯誤。