APCS 專區


APCS(大學程式設計先修檢測)是台灣高中生的程式能力檢測,成績可作為大學資訊相關科系申請入學的參考。這裡收錄 2016 到 2026 年的 APCS 實作題共 135 題,可直接線上評測,133 題附題解;模擬測驗用仿正式考的作答系統計時。全部免費,註冊帳號即可提交程式。

最近一週有 58 位同學在這裡練習 APCS,免費註冊就能一起練習。
下一場正式考試Next official exam
2027/01/10(日)
56天後
報名期間 11/23 – 12/11 尚未開放報名 APCS 官網· 場次資料依官網公告人工維護
考試級別
初級Beginner
中級Intermediate
報名開始後才開放標記你報考的級別。
後續場次 2027/03/14(日)119 天後 2027/06/13(日)210 天後 2027/07/04(日)231 天後 展開收合
2027/03/14(日)
119天後
報名 12/07 – 12/25
報名開始後才開放標記
初級Beginner
中高級Upper-intermediate
高級Advanced
2027/06/13(日)
210天後
報名日期公告後才開放標記
初級Beginner
中級Intermediate
2027/07/04(日)
231天後
報名日期公告後才開放標記
初級Beginner
中級Intermediate
中高級Upper-intermediate

官方檢測範圍Test scope

以下抄錄自 APCS 官方網站「評量架構」(apcs.csie.ntnu.edu.tw,2026-09-30),官網更新以官網為準。

程式識讀

檢測運算思維、問題解決與程式設計解析能力;滿分100分,以電腦自動評分,評分過程不涉及主觀因素。

以單選題方式命題,包括:程式運行追蹤 (code tracing)、程式填空 (code completion)、程式測試與除錯 (code testing and debugging)、程式效能分析 (code performance analysis)、及解析計算邏輯 (computational logic analysis) 等。

檢測範圍

  • 資料型態 (data types),常數 (constants)、變數 (variables)、指定 (assignment)、表達式 (expressions)
  • 控制結構 (control structures),包括:循序 (sequence)、選擇 (selection) 及重複 (repetition)
  • 函式與模組化 (functions and modularity)
  • 遞迴 (recursion)
  • 陣列與串列 (arrays and lists)
  • 基礎資料結構 (basic data structures),包括:佇列 (queues)、堆疊 (stacks)、自訂資料型態 (user-defined types)
  • 基礎演算法 (basic algorithms),包括:排序 (sorting) 和搜尋 (searching)

程式實作

檢測撰寫完整程式或副程式的能力,檢測時可自行選擇以 C, C++, Java, Python 語言撰寫程式。滿分300分,以電腦自動評分,評分過程不涉及主觀因素。

初級題本

檢測程度
  • 著重在基礎程式設計能力
  • 具備基礎的程式解決問題能力,能使用變數儲存與操作資料,利用選擇控制進行邏輯判斷,透過迴圈控制處理重複性任務
檢測範圍
  • 輸入與輸出 (input and output)
  • 算術運算 (arithmetic operation)、邏輯運算 (logical operation)、位元運算 (bitwise operation)
  • 條件判斷與迴圈 (conditional expressions and loops)

中級題本

檢測程度
  • 著重在序列型資料結構運用能力
  • 具備以序列型資料結構(如陣列或列表)儲存與處理資料的能力,能進行文字處理與流程模擬
檢測範圍
  • 陣列 (arrays)
  • 字元 (character)
  • 字串 (string)

中高級題本

檢測程度
  • 著重在基礎資料結構運用能力
  • 能利用基礎資料結構與演算思維來解決問題
檢測範圍
  • 函式 (function)、遞迴 (recursion)
  • 佇列 (queues)、堆疊 (stacks)
  • 簡單結構的樹狀圖 (tree),例如:二元樹 (binary tree) 等
  • 簡單結構的圖 (graph),例如:網格 (grid) 等
  • 枚舉 (enumeration)、資料遍歷 (traversal)
  • 搜尋 (search),例如:二分搜尋 (binary search)、深度優先搜尋 (depth-first search, DFS)等

高級題本

檢測程度
  • 著重在基礎演算法運用能力
  • 具備基礎複雜度分析的能力,能運用基礎演算法有效率地解決問題
檢測範圍
  • 樹狀圖 (tree)、圖 (graph)
  • 動態規畫 (dynamic programming)
  • 分治法 (divide and conquer)
  • 貪心法則 (greedy method)

常見問答FAQ

歷屆題目涵蓋哪些年份?

目前收錄 2016 年到 2026 年共 34 個場次、135 題實作題,依場次分組,可依初級、中級、中高級、高級篩選;其中 133 題附本站題解。

題目和正式考試一樣嗎?

只有 APCS 官方網站公開的考古題範例才保證與正式考試相同;其他題目是考生憑記憶流傳、再由本站整理的版本,題敘與範例可能和原題略有出入。所有測資都由本站自行製作;時間與記憶體限制標在各題題目頁。

考古題怎麼計分?正式檢測也這樣算嗎?

每題 100 分,有 20 筆計分測資、每筆 5 分,答對幾筆就拿幾筆的分,不必全對;題目上的「子題組」說明這些測資涵蓋哪幾種範圍、各佔多少分。官方不公布測資,但官方題本寫的是「依正確通過測資筆數給分」,考生拿到的各題分數也都是 5 的倍數、從 5 到 95 都有人拿過,所以推測正式檢測也是這樣計分。本站的測資和 ZeroJudge 等其他 OJ 各自出的測資不同,在別處通過、在這裡沒拿滿分時,通常是有些情況沒處理到。

模擬測驗怎麼進行?

選一場模擬測驗,按「開始檢測並開始計時」就進入仿正式考的作答介面,限時作答;結束後可以看各題分數。

需要付費或登入嗎?

全部免費。不登入就能瀏覽題目與題解;提交程式、範例測試、模擬測驗與程式識讀需要註冊帳號(免費)。

可以用哪些程式語言?

APCS 歷屆題目可用 C(C17)、C++17 或 Python 3 提交,與正式考試相同;正式考試另有 Java,本站未提供。

AP325 是什麼?

吳邦一教授的《AP325-從 APCS 實作題檢測三級到五級》教材,例題與習題共 117 題依章排列,可在本站評測;講義 PDF 與 Python 版的連結在該區塊。

站外練習是什麼?

兩個適合練 APCS 的站外題庫依主題合併成一份題單:CSES Problem Set(芬蘭 Antti Laaksonen 整理,CC BY-NC-SA 4.0)的 APCS 精選題,以及 NCOJ(台大程式解題社 APCS 營)的 281 題,共 323 題,從變數、迴圈一路排到動態規劃。CSES 全部 400 題本站逐題翻成中文(目前 400 題),題目頁有中文題敘與範例測試,程式到 CSES 提交;NCOJ 的題目直接連到原站。綁定 CSES 或 NCOJ 帳號後可以在專區同步解題進度。

程式識讀(觀念題)要怎麼練?

程式識讀考的是讀懂程式、追蹤執行結果與基本的演算法觀念,關鍵是語法熟不熟。建議先讀本站免費的 C++ 語法書,把變數、判斷、迴圈、陣列、函式讀熟(程式識讀的程式碼是 C,這些寫法和 C++ 相同),再到「程式識讀」做線上單選題模擬:題目有 APCS 官方網站公開的程式識讀範例(C 與 Python 題本),以及取自吳邦一教授《APCS C 程式識讀 125 題》、經作者同意的三份模擬測驗,交卷馬上看到分數、各題對錯與題解,錯的題目回語法書對應單元複習。