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

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

題目與答案

第1題

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

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

解析:PKI 以非對稱式加解密演算法為基礎,一對金鑰中公開金鑰可透過憑證公開散布,私密金鑰才必須由持有人妥善保密,因此「公開金鑰必須對所有人保密」是錯誤敘述。以私密金鑰對文件簽章,任何人可用對應的公開金鑰驗章,可確認資料來源並提供不可否認性;憑證由憑證機構簽發,可用來驗證身分。選項1、2、3 皆為 PKI 的正確性質。

第2題

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

答案:(4) 0

第3題

針對以下C++ 程式,執行完後輸出結果是那一個? 1. 20 2. 無法編譯 3. 可以編譯,無法執行 4. 0。

答案:(1) 20

解析:(題幹程式碼未隨題附上)此類題目考編譯期與執行期的區別。透過已初始化、指向合法物件的指標,以 *p 間接賦值屬正常執行期行為,程式可順利編譯並執行,輸出即為指派的值 20。C++ 不會因為用指標改寫變數內容而產生編譯錯誤;只有解參考未初始化或已釋放的指標時,才會出現「可以編譯、無法執行」的情況。因此輸出為 20。

第4題

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

答案:(4) RSA

第5題

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

答案:(1) 0

第6題

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

答案

  • 3

第7題

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

答案:(2) θ(n)

解析:單向鏈結串列不支援以索引直接定位,刪除值為 x 的節點時必須從頭節點開始逐一比對,並保留前一個節點的指標以便改接。最壞情況是 x 位於串列尾端或根本不存在,需走訪全部 n 個節點,故時間複雜度為 θ(n)。θ(1) 只有在已持有前驅節點指標時才成立;θ(log n) 與 θ(n log n) 需要額外的有序結構或排序,並非一般鏈結串列刪除節點的成本。

第8題

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

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

第9題

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

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

解析:交易日誌的用途是支援回復(rollback)與重做(redo)及並行控制,因此會記錄交易識別碼、操作型態(新增、刪除、修改)、操作前映像與操作後映像、操作時間等資訊,以便必要時還原或重做資料。操作成本屬於系統效能或成本效益分析的資料,不是資料庫復原機制所需的紀錄,故不會出現在交易日誌中。

第10題

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

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

解析:編譯器負責將原始程式碼翻譯成目的程式(object code),連結程式(Linker)則負責把主程式產生的目的檔與所需之副程式或函式庫的目的檔連結在一起,解析外部符號參考,最後產生可執行檔。因此連結的標的是「目的程式與所需之副程式」。選項1、3 把原始程式當成連結對象,混淆了編譯與連結兩個階段的工作。

第11題

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

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

解析:RFP 為 Request for Proposals 的縮寫,中文常譯為「徵求建議書」。軟體委外時,發包單位以 RFP 載明系統範圍、功能需求、技術與驗收條件、評選標準與時程,邀請廠商據以提出建議書與報價,作為後續評選與簽約依據。其餘三個選項都是把字首硬湊成 Planner、Planning 等字樣,並非標準縮寫,也不符合委外採購的實務用語。

第12題

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

答案:(1) 4GB

第13題

函數f1 之第一個參數的資料結構為陣列,下列有關陣列在函數f1 之宣告方式,何者是正確? 1. v oid f1(int array, int size); 2. void f1(float array[], int size); 3. void f1(int array(100), int size); 4. voi d f1(int& array, int size);。

答案:(2) void f1(float array[], int size);

解析:在 C++ 中將一維陣列傳入函式時,參數可宣告為 type name[] 或 type *name,兩者等价,實際傳遞的是陣列首元素的位址,因此 void f1(float array[], int size); 語法正確。選項1的 int array 只是單一整數變數,並非陣列;選項3的 int array(100) 在參數列中不合法;選項4的 int& array 是整數參考,同樣不是陣列。

第14題

依據C++以下之變數宣告,欲將num 值加1,下列敘述何者正確? 1. p++; 2. (*num)++; 3. (&num) ++; 4. (*p)++;。

答案:(4) (*p)++;

解析:題目宣告應為整數 num 與指向它的指標 p(如 int num; int *p = #)。(*p)++ 會先解參考取得 num 這塊記憶體,再將其內容加 1,效果等同 num++。選項1的 p++ 是讓指標指向下一個位址,不會改變 num;選項2的 (*num)++ 中 num 不是指標,不能解參考;選項3的 (&num)++ 中 &num 是位址常數,不是可遞增的左值,皆不正確。

第15題

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

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

第16題

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

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

第17題

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

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

解析:弱實體型態本身無法唯一識別個體,必須依附於擁有者實體,因此由它轉出的關聯表,其主鍵是由「擁有者實體的主鍵」加上「弱實體的部分鍵(discriminator)」組合而成,所以必然含有複合鍵,而且鍵值一部分來自弱實體自身屬性、一部分來自其他(擁有者)實體的屬性。不過候選鍵是能唯一決定整列的最小屬性集合,同一張關聯表可能因為不同的功能相依而存在一個以上的候選鍵,並非「一定只有一組」,故此敘述有誤。

第18題

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

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

第19題

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

答案:(1) 抽象類別(Abstract Class)

解析:在 UML 類別圖中,抽象類別(Abstract Class)以斜體名稱標示,本身不能直接被實體化(new),只能經由繼承由其子類別產生實例(Instances)。題目描述「沒有自己直接的實例」正符合抽象類別的定義。至於間接類別、不完全類別、空白類別均非 UML 標準術語,空白類別通常指無成員的類別,與能否實體化無關。故答案為抽象類別。

第20題

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

答案:(3) 9

第21題

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

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

第22題

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

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

第23題

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

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

第24題

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

答案:(1) 詐欺罪

第25題

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

答案:(3) 2

解析:B-tree 的分支度(order)m 指每個節點最多可有 m 個子節點;除根節點外,每個內部節點至少要有 ⌈m/2⌉ 個子節點,本題 ⌈20/2⌉=10。但根節點是例外,只要它不是葉節點,最少只需 2 個子節點。題目高度為 3,表示根節點底下還有兩層,根必為內部節點而非葉節點,因此最少子節點數是 2,不是 10 或 20。

第26題

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

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

解析:UDP 標頭固定為 8 位元組,包含來源埠、目的埠、長度與檢查碼四個欄位,長度不隨資料量改變。UDP 不提供可靠性與順序控制,標頭中沒有序號欄位;來源與目的 IP 位址屬於 IP 標頭的內容,不在 UDP 標頭內。檢查碼的計算範圍除了標頭與資料外,還包含 IP 的虛擬標頭(pseudo header),並非只針對標頭計算,因此只有「標頭長度固定」正確。

第27題

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

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

第28題

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

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

第29題

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

答案:(4) IETF

第30題

針對以下C++程式,執行後輸出是以下那一個? 1. 2 2. 5 3. 3 4. 4。

答案:(1) 2

第31題

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

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

解析:觸電急救的第一步是「斷電」,先關閉電源開關或拔除插頭;若無法立即斷電,應使用乾燥的絕緣物(如木棍、絕緣手套)把電源或傷者移開,再通知救護人員並施以急救。若直接用手去拉觸電者,救援者本身會成為電流迴路的一部分而一同觸電,反而擴大傷害,因此「立即將觸電者拉離現場」是錯誤且危險的作法。

第32題

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

答案:(2) 29

第33題

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

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

解析:後序式可用堆疊建樹:運算元先入堆疊,每讀到一個運算子就彈出兩個子樹結合成新樹。第 3 式依序建成 ((((1*(2*3))*4)*5)*6),是往左傾斜的鏈狀結構,由根到最深葉節點共經過 6 層,高度為 6。第 1 式為 (1*(2*3))*(4*5) 再乘 6,高度 5;第 2 式為 (1*2)*(3*(4*5)) 再乘 6,高度 5;第 4 式為 (1*2)*(3*4) 再乘 (5*6),高度 4。故以第 3 式最高。

第34題

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

答案:(1) 8

解析:二維陣列在記憶體中以「列為主」(row-major)方式連續存放,索引由 0 開始計算,Ary[3][2] 指的是第 4 列、第 3 行的元素,其線性位移量=3 ×(每列元素個數)+2。依題目宣告的初值排列逐列推算,該位置所存放的整數值為 8;其餘選項的數值對應的是其他列或行的元素位置,並非 Ary[3][2] 的內容。

第35題

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

答案:(2) ~

解析:UML 類別圖中套件可視性的標準符號是波浪號(~)。這表示該元素僅對同一套件內的其他元素可見。井號(#)代表受保護可視性,加號(+)代表公有可視性,斜線(/)在 UML 中通常用於標示導出屬性,而非可視性修飾符。

第36題

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

答案:(1) 6.25 秒

解析:SJF 不可搶先排程依到達時間與執行時間排序:P1(0秒到達, 7秒)先執行 0-7;7秒時 P2(1秒到達, 5秒)、P3(3秒到達, 4秒)、P4(5秒到達, 8秒)皆已就緒,選最短的 P3 執行 7-11;接著 P2 執行 11-16;最後 P4 執行 16-24。等待時間:P1=0, P3=7-3=4, P2=11-1=10, P4=16-5=11,總和 25,平均 25/4=6.25 秒。

第37題

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

答案:(4) 已構成犯罪

第38題

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

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

第39題

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

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

解析:B+ Tree 的所有鍵值最終都會出現在葉節點,內部節點僅存索引鍵作為導引;葉節點以鏈結串連支援循序存取。選項 1 的「引線」非標準術語,選項 3 密度取決於填充因子非結構本身差異,選項 4 實務上 ISAM 常採 B+ Tree 而非 B-tree。

第40題

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

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

解析:資料庫系統透過集中管理可減少但無法完全消除資料重複(如為效能保留衍生資料、歷史快照等),故「完全沒有資料重複」不可能達成。簡化程式維護、資料共享、資料品質改善皆為資料庫的主要優勢。

第41題

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

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

第42題

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

答案:(4) 文件以Word 等文書編輯軟體建立

解析:IEEE 830 要求 SRS 具備可修改特性:需無重複(1)、需求獨立表達(2)、文件結構良好含索引目錄(3)。使用 Word 等編輯軟體(4)非標準規範項目,工具選擇不影響規格品質,故非達成可修改性的必要條件。

第43題

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

答案:(2) 離峰時段

第44題

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

答案:(2) 雨水酸化

第45題

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

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

第46題

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

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

解析:職業安全衛生層級管制中,源頭管理(工程控制)包含改善作業環境、替代危害物質、隔離危險源等;健康檢查屬健康管理(第二級),個人防護具屬個人防護(第三級),多運動屬健康促進。故改善作業環境為源頭管理對策。

第47題

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

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

第48題

依據以下類別之定義,下列C++程式最後一個敘述之輸出,下列何者是正確? 1. , and my breed is a Weiner 2. 不會印出任何內容 3. My name is Rover 4. My name is Rover, and my breed is a Weine r。

答案:(3) My name is Rover

第49題

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

答案:(4) 1MB=215Bytes

解析:資料表示換算:1KB = 2^10 Bytes = 1024 Bytes(正確);1MB = 2^20 Bytes = 1,048,576 Bytes,非 2^15;1GB = 2^30 Bytes(正確);1 Byte = 8 bits(正確)。故選項 4「1MB = 2^15 Bytes」錯誤。

第50題

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

答案:(1) 動態多型(Dynamic Polymorphis m)與繼承(Inheritance)是兩個不相關的概念

解析:動態多型依賴繼承體系與虛擬函式表,子類別覆寫父類別虛擬函式才能在執行期依物件型別決定呼叫哪個實作,兩者高度相關,故敘述不正確。選項2正確描述多型核心:同一訊息對應不同方法。選項3正確:多載在編譯期依參數簽章解析,屬靜態多型。選項4正確:virtual 關鍵字配合指標/參考實現執行期綁定,為動態多型基礎。

第51題

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

答案:(1) 可用性

第52題

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

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

解析:IEEE 830 對 SRS 的穩定性(stability)定義為:需求在預期環境變動下仍能維持有效的程度,並要求標示可能造成需求變動的因素。影響穩定性的來源主要是系統所支援組織的內部調整、外部政治經濟環境,以及整體科技演進,因為它們會直接改變使用者的作業方式與需求內容。相對地,系統廠商家數屬於市場結構的統計現象,與系統功能需求的關聯最間接,對穩定性影響最小。

第53題

以下何者不是C++ 語言整數資料型態? 1. short 2. int 3. byte 4. double。

答案:(4) double

解析:C++ 的整數型態包含 short、int、long、long long,以及各自的 unsigned 版本;short 至少 16 位元,int 一般為 32 位元,都是用來存放不帶小數的整數。double 屬於浮點數型態,通常為 64 位元 IEEE 754 倍精度格式,專門表示帶小數的實數值,不能歸類為整數型態。至於 byte,C++17 起標準函式庫提供 std::byte(定義於 <cstddef>),許多嵌入式或 Arduino 環境也常把 byte typedef 成 unsigned char,本質仍為整數。因此本題應選 double。

第54題

下列C++程式片段是有關例外(Exception)之處理,其輸出結果何者是正確的? 1. 1235 2. 12453 3. 125 4. 123。

答案:(3) 125

第55題

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

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

第56題

下列關於「超載化函式」(Overloaded Functions)的描述何者正確? 1. 一組「超載化函式」中,每一個函式的參數資料型態可以動態改變 2. 一組「超載化函式」中,每一個函式都有著相同的名稱 3. 一組「超載化函式」中,每一個函式的參數個數都必須一樣 4. 一組「超載化函式」中,每一個函式的參數資料型態需相互對應。

答案:(2) 一組「超載化函式」中,每一個函式都有著相同的名稱

解析:超載函式定義:同一作用域內多個同名函式,參數列(型態、個數、順序)至少一處不同;回傳型態不參與區分。選項2正確描述同名特性。選項1錯:參數型態靜態決定不可動態改變。選項3錯:參數個數可不同。選項4錯:參數型態需不同而非對應。

第57題

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

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

解析:TCP 為連線導向、可靠、串流協定,提供三向交握、流量控制、重傳機制,屬連接導向而非非連接。IP 確為 Internet Protocol 縮寫。TCP/IP 確為網際網路核心協定族。TCP 對應 OSI 第 4 層(傳輸層),敘述正確。故選項1錯誤。

第58題

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

答案:(2) 5

第59題

若C++語言的函式有回傳值,在方法主體內要使用以下那一個保留字? 1. retu rn 2. invoke 3. th rows 4. void。

答案:(1) retu rn

解析:C++ 函式回傳值必須在函式主體使用 return 陳述式攜帶運算式;invoke 非關鍵字,throws 屬 Java 例外宣告,void 表示無回傳值。故選項1正確。

第60題

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

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

解析:RISC 與 CISC 是兩種不同的 CPU 指令集設計哲學。CISC(複雜指令集)強調以較少指令完成工作,故指令集龐雜、指令長度不一、定址模式多;RISC(精簡指令集)指令數少而簡單、長度固定、定址模式少,靠編譯器產生較多指令完成同樣工作。因此選項 1、2、4 皆正確。錯誤的是選項 3:因 RISC 單一指令功能簡單,完成同一應用程式通常「需要更多」指令,而非少於 CISC,故本題選 3。

第61題

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

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

解析:指標變數所佔記憶體由「程式位元數」決定,也就是可定址空間的位址寬度:32 位元程式每個指標佔 4 位元組,64 位元程式佔 8 位元組,所以敘述 1「與位元數無關」是錯的,敘述 4「64 位元指標佔用較大」是對的。字串內容本身是一串字元,不論 32 或 64 位元都佔相同位元組數,變大的只有指向它的指標,故敘述 2 錯誤。字串指標只存位址,字元資料仍須另外配置記憶體,並不代表比字元陣列省空間,故敘述 3 錯誤。題目問「錯誤」者,答案為 1、2、3。

第62題

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

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

解析:並行控制中,二元鎖定(Binary Lock)只有 lock 與 unlock 兩態,同一時間僅一交易持有鎖定,等待佇列須依序取得,不可能兩個同時存取同資料項,故選項 1 錯誤。選項 2:排程使低優先權交易長期得不到資源而無止盡等待,稱飢餓(Starvation),正確。選項 3:兩交易各自持有對方所需鎖定並互相等待,形成循環等待即死結(Deadlock),正確。選項 4:二元鎖定僅 lock/unlock;多重模式鎖定(共享/排他)則有 read_lock、write_lock、unlock 等,正確。故正確為 2、3、4。

第63題

下列C++語言程式片段中,那些可以正確執行? 1. char s1[10]; s1="Ctest"; 2. char s3[20]="Ctest"; 3. char s2[]={'C', 't', 'e', 's', 't','\n'}; 4. char *s4="Ctest\n"。

答案:(2) char s3[20]="Ctest";、(3) char s2[]={'C', 't', 'e', 's', 't','\n'};、(4) char *s4="Ctest\n"

解析:C/C++ 字元陣列與字串指標有嚴格限制。選項 1:陣列 s1 宣告後,陣列名稱為不可修改左值,不能用指派運算子直接存入字串常數,編譯失敗,故錯誤。選項 2:宣告時直接以字串常數初始化 char s3[20]="Ctest",合法。選項 3:以字元清單初始化 char s2[]={'C','t','e','s','t','\n'},長度由初值推導,合法(注意未含 '\0' 結尾)。選項 4:char *s4="Ctest\n" 讓指標指向字串常數,C 語言合法(C++11 起建議 const char*,但仍可編譯)。故可正確執行者為 2、3、4。

第64題

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

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

第65題

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

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

解析:一般化關係(Generalization)以空心三角箭頭由子類別指向父類別,代表繼承,故敘述 4 正確。連結關係(Association)表示兩個類別的物件之間存在結構性關聯,物件可經由該關聯互相呼叫方法、傳遞訊息,故敘述 3 正確。組合(Composition)是整體與部分共用生命週期的強「整體—部分」關係,聚合(Aggregation)的部分可獨立存在、關聯較弱,因此組合強於聚合,敘述 2 說聚合較強是錯的。實作關係(Realization)在 UML 中是類別與介面(Interface)之間的契約實現,以虛線空心三角表示,並非泛指具體類別與抽象類別,敘述 1 不正確。

第66題

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

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

解析:抽象資料型態(ADT)的介面,指的是一組用來封裝資料與操作、對外提供的規格;各語言的做法不同:C++ 以 class 封裝,Java 以 class 或 interface,Ada 以 package 讓規格與實作分離,故敘述 3、4 正確。C++ 的 virtual 只是實現多型與動態繫結的關鍵字,並非 ADT 的介面本身,敘述 2 不正確。LISP 以函數(function)作為操作抽象資料型態的介面,list 僅是其最常用的資料結構表示方式,不能直接等同於介面,敘述 1 也不正確。本題問「不正確」者,答案為 1、2。

第67題

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

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

解析:依網路涵蓋範圍與傳輸特性:LAN(區域網路)範圍最小(如一棟建築),但傳輸速率最高,選項 1、4 正確。WAN(廣域網路)跨國或全球,範圍最大但速率通常最低,選項 3 正確。MAN(都會網路)範圍介於 LAN 與 WAN 之間(如一個城市),並非涵蓋最大者,故選項 2 錯誤。綜上,正確敘述為 1、3、4。

第68題

執行完下列C++語言程式片段後,那些敘述正確? 1. **(p+1)=20 2. **p =40 3. **p+3 =30 4. **(p+3)= 30。

答案:(1) **(p+1)=20、(2) **p =40

第69題

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

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

解析:依序插入1、2、3時,節點1右重,對1左旋,2成為根;插入4、5後,節點3右重,對3左旋,4成為右子樹根;插入6時節點2右重,對2左旋,最後4為根,左子樹為2(1,3),右子樹為5(空,6)。因此5是6的父節點,3與6同在第3階層,1與3也同階層;3是2的子節點,不是父節點。

第70題

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

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

第71題

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

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

第72題

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

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

第73題

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

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

解析:Row Major 是同一列先存,A[3,1] 是第 (3-1)×3+(1-1)+1=7 個元素,序列第7個為5,故1正確。Column Major 是同一行先存,A[2,1] 是第 (1-1)×3+(2-1)+1=2 個元素,序列第2個為1,故2正確。一維陣列只有一個維度,兩種方式結果相同,3錯誤;Row Major 可推廣至三維以上,4錯誤。

第74題

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

答案:(2) SELECT-FROM-WHERE-HA VING、(3) SELECT-FROM-WHERE-HAVING-GROUP BY

解析:SQL 的書寫順序為 SELECT→FROM→WHERE→GROUP BY→HAVING→ORDER BY。HAVING 用來過濾 GROUP BY 形成的群組,必須放在 GROUP BY 之後;選項2缺少 GROUP BY 就直接接 HAVING,選項3把 HAVING 放在 GROUP BY 之前,兩者語法錯誤。選項1省略 HAVING、選項4的 GROUP BY 與 HAVING 順序正確。

第75題

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

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

解析:B-tree 分支度 m 時,根節點資料數 1~m-1(除非根為葉節點才可為 0),故 1 正確;非根內部節點最少需 ⌈m/2⌉-1 個鍵值,非 1 至 m-1,故 2 錯誤;新增操作總是從葉節點開始,未分裂時一定落在葉節點,3 正確;搜尋路徑從根到葉,最壞情形檢查節點數等於樹高,4 正確。

第76題

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

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

解析:ANSI/SPARC 三層架構分為外部層、概念層與內部層,主要目的是達成資料獨立,不是物件導向。內部層變更可由概念層對應吸收,不影響概念層,這是實體資料獨立;概念層變更也可透過對應使外部層不受影響,這是邏輯資料獨立。因此2、3、4正確,1錯誤。

第77題

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

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

解析:PHP 的錯誤層級包含 Fatal error(E_ERROR,程式無法繼續)、Notice(E_NOTICE,非致命提醒)與 Strict(E_STRICT,嚴格標準警告)等;Exception 則是例外處理機制中的類別與物件,不屬於 error_reporting 的錯誤訊息層級。因此1、2、3正確,4不選。

第78題

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

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

解析:建立繼承關係有兩種方向:由多個類別抽出共同特性往上形成父類別,稱為一般化(Generalization),是由下而上;由父類別往下新增或細分專屬子類別,稱為特殊化(Specialization),是由上而下。Expansion 與 Simplification 不是建立繼承關係的標準方式,因此選1、4。

第79題

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

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

解析:依個人資料保護法第6條,特種個資(敏感性個資)限於醫療、基因、性生活、健康檢查、病歷,以及犯罪前科等類別。其中「健康檢查」(選項1)與「犯罪前科」(選項2)均明文列入特種個資,受更嚴格的蒐集、處理及利用限制。而「財務情況」(選項3)與「社會活動」(選項4)僅屬一般個人資料,並非特種個資,原則上得於特定目的內依法蒐集利用。題目問「不屬於」特種個資者,故應選3、4。實務上應注意,醫療相關包含健檢,但財務、社交活動不在此列。

第80題

下列C++語言程式片段執行後,那些值包含在s 的輸出中? 1. 50 2. 70 3. 90 4. 110。

答案:(1) 50、(3) 90