一、基礎概念(1–10)

  1. 下列哪一個是合法的變數名稱? C A. 2count B. total-score C. _sum D. class

  2. 下列哪一種資料型別最適合儲存「學生是否及格」? C A. int B. float C. boolean D. char

  3. 若 a = 5,b = 2,則 a / b(整數除法)結果為? A A. 2 B. 2.5 C. 3 D. 0

  4. 下列哪一個敘述為「指定」而非「比較」? C A. a == b B. a != b C. a = b D. a <= b

  5. 程式執行是由哪一個地方開始? B A. 第一個函式 B. main 函式 C. 最後一行 D. 任意位置

  6. 下列何者不是 C 的基本資料型別?C A. int 5 B. float 3.12 C. string (字串) - char D. boolean True/False

  7. 註解的主要用途是? B A. 加快程式速度 B. 增加記憶體 C. 讓人閱讀程式 D. 防止錯誤

  8. 下列哪一個是邏輯運算子 AND? C A. || B. ! C. && D. ==

  9. 若程式出現語法錯誤,會發生什麼事? B A. 程式自動修正 B. 程式無法執行 C. 只執行一半 D. 輸出 0

  10. 下列哪一個符號用來表示「不等於」? B A. <> B. != C. ~= D. =!

二、條件判斷(11–20)

  1. if 條件判斷中,條件必須是? C A. 數字 B. 字串 C. 布林值 (真/假) D. 陣列

  2. 若 x = 10,下列哪個條件為真? C A. x < 5 B. x == 5 C. x >= 10 D. x != 10

  3. if–else 結構中,else 何時執行? B A. if 為真 B. if 為假 C. 每次都執行 D. 不會執行

  4. 下列哪一個可用來處理多個條件分支? C A. for B. while C. switch - case D. break

  5. 下列程式片段的輸出是? B

x = 3 if x > 5: print("A") else: print("B")

A. A B. B C. AB D. 無輸出

  1. else if(或 elif)的用途是? B A. 結束程式 B. 增加條件分支 C. 宣告變數 D. 迴圈控制

  2. 下列哪一個條件判斷是錯誤的? C A. if (a > b) B. if (a == b) C. if (a = b) D. if (a != b)

  3. 巢狀 if 的意思是? B A. if 裡面有 for B. if 裡面有 if C. if 裡面有 switch D. if 裡面有 return

  4. 若條件永遠為 false,程式會? B true 真 - false 假 A. 無限迴圈 B. 永遠不執行該區塊 C. 產生錯誤 D. 當作 true

  5. break 在條件判斷中的作用是? C A. 結束函式 B. 結束程式 C. 跳出迴圈 D. 跳到 else

三、迴圈(21–30)

  1. for 迴圈最常用於? B A. 不確定次數 B. 固定次數 C. 條件判斷 D. 函式呼叫

  2. while 迴圈通常用於? B A. 固定跑 10 次 B. 直到條件改變 C. 宣告變數 D. 陣列排序

  3. 若 while 條件一開始為 false (假),會發生? C A. 執行一次 B. 執行無限次 C. 完全不執行 D. 產生錯誤

  4. 下列哪一個可能造成無限迴圈? A A. 條件永遠為 true B. 使用 break C. 使用 return D. 條件會改變

  5. continue 的作用是? C A. 結束程式 B. 結束迴圈 C. 跳過本次迴圈 D. 跳到下一個函式

  6. for(i=0; i<5; i++) 會跑幾次?C A. 4 B. 5 C. 6 D. 無限

  7. 迴圈中最常見的錯誤是?B A. 忘記宣告變數 B. 忘記更新條件 C. 忘記輸出 D. 忘記註解

  8. 下列哪一個不是迴圈?D A. for B. while C. do-while D. if

  9. break 和 continue 的差別是?D A. 一樣 B. break 跳過本次 C. continue 結束迴圈 D. break 結束迴圈

  10. 巢狀迴圈代表?B A. 迴圈內有條件 B. 迴圈內有迴圈 C. 迴圈內有函式 D. 迴圈內有 return

四、陣列、字串與函式(31–40)

  1. 陣列的索引通常從多少開始?B A. -1 B. 0 C. 1 D. 任意

  2. 若陣列長度為 5,最後一個索引是?B A. 5 B. 4 C. 6 D. -1

  3. 字串本質上可以視為?C A. 整數 B. 浮點數 C. 字元陣列 D. 布林值

  4. 下列哪個操作可能造成陣列越界? A. index < length B. index >= 0 C. index == length D. index == length-1

  5. 函式的主要用途是? A. 增加變數 B. 重複使用程式碼 C. 加快電腦速度 D. 儲存資料

  6. return 的作用是? A. 輸出文字 B. 結束函式並回傳值 C. 結束程式 D. 宣告變數

  7. 函式可以沒有回傳值嗎? A. 不行 B. 只能回傳 int C. 可以 D. 一定要 return

  8. 下列哪一個是呼叫函式? A. int f() B. void f C. f(); D. return f

  9. 參數的用途是? A. 輸出結果 B. 傳資料進函式 C. 宣告陣列 D. 控制迴圈

  10. 區域變數的有效範圍是? A. 整個程式 B. 同一個檔案 C. 所在區塊 D. 所有函式

五、邏輯與演算法概念(41–50)

  1. 線性搜尋的時間複雜度是? A. O(1) B. O(log n) C. O(n) D. O(n²)

  2. 二分搜尋需要什麼條件? A. 資料亂序 B. 資料已排序 C. 資料為字串 D. 資料重複

  3. 排序的目的主要是? A. 增加資料 B. 方便搜尋 C. 刪除資料 D. 輸出資料

  4. 下列哪一個不是排序法? A. 泡沫排序 B. 選擇排序 C. 線性搜尋 D. 插入排序

  5. 遞迴一定要有什麼? A. for 迴圈 B. return C. 終止條件 D. 陣列

  6. 下列哪一個屬於貪婪演算法概念? A. 每一步選最佳 B. 全部列舉 C. 回溯 D. 分治

  7. 什麼情況下適合用遞迴? A. 問題可分成相同子問題 B. 問題無規律 C. 只跑一次 D. 沒有終止條件

  8. 下列哪一個不是 APCS 常見考點? A. 基本語法 B. 邏輯推理 C. 指標運算 D. 演算法概念

  9. 時間複雜度主要衡量? A. 程式大小 B. 記憶體 C. 執行時間成長 D. 變數數量

  10. APCS 最重視的是? A. 語言種類 B. 背誦語法 C. 程式思維 D. UI 設計