一、基礎概念(1–10)
-
下列哪一個是合法的變數名稱? C A. 2count B. total-score C. _sum D. class
-
下列哪一種資料型別最適合儲存「學生是否及格」? C A. int B. float C. boolean D. char
-
若 a = 5,b = 2,則 a / b(整數除法)結果為? A A. 2 B. 2.5 C. 3 D. 0
-
下列哪一個敘述為「指定」而非「比較」? C A. a == b B. a != b C. a = b D. a <= b
-
程式執行是由哪一個地方開始? B A. 第一個函式 B. main 函式 C. 最後一行 D. 任意位置
-
下列何者不是 C 的基本資料型別?C A. int 5 B. float 3.12 C. string (字串) - char D. boolean True/False
-
註解的主要用途是? B A. 加快程式速度 B. 增加記憶體 C. 讓人閱讀程式 D. 防止錯誤
-
下列哪一個是邏輯運算子 AND? C A. || B. ! C. && D. ==
-
若程式出現語法錯誤,會發生什麼事? B A. 程式自動修正 B. 程式無法執行 C. 只執行一半 D. 輸出 0
-
下列哪一個符號用來表示「不等於」? B A. <> B. != C. ~= D. =!
二、條件判斷(11–20)
-
if 條件判斷中,條件必須是? C A. 數字 B. 字串 C. 布林值 (真/假) D. 陣列
-
若 x = 10,下列哪個條件為真? C A. x < 5 B. x == 5 C. x >= 10 D. x != 10
-
if–else 結構中,else 何時執行? B A. if 為真 B. if 為假 C. 每次都執行 D. 不會執行
-
下列哪一個可用來處理多個條件分支? C A. for B. while C. switch - case D. break
-
下列程式片段的輸出是? B
x = 3 if x > 5: print("A") else: print("B")
A. A B. B C. AB D. 無輸出
-
else if(或 elif)的用途是? B A. 結束程式 B. 增加條件分支 C. 宣告變數 D. 迴圈控制
-
下列哪一個條件判斷是錯誤的? C A. if (a > b) B. if (a == b) C. if (a = b) D. if (a != b)
-
巢狀 if 的意思是? B A. if 裡面有 for B. if 裡面有 if C. if 裡面有 switch D. if 裡面有 return
-
若條件永遠為 false,程式會? B true 真 - false 假 A. 無限迴圈 B. 永遠不執行該區塊 C. 產生錯誤 D. 當作 true
-
break 在條件判斷中的作用是? C A. 結束函式 B. 結束程式 C. 跳出迴圈 D. 跳到 else
三、迴圈(21–30)
-
for 迴圈最常用於? B A. 不確定次數 B. 固定次數 C. 條件判斷 D. 函式呼叫
-
while 迴圈通常用於? B A. 固定跑 10 次 B. 直到條件改變 C. 宣告變數 D. 陣列排序
-
若 while 條件一開始為 false (假),會發生? C A. 執行一次 B. 執行無限次 C. 完全不執行 D. 產生錯誤
-
下列哪一個可能造成無限迴圈? A A. 條件永遠為 true B. 使用 break C. 使用 return D. 條件會改變
-
continue 的作用是? C A. 結束程式 B. 結束迴圈 C. 跳過本次迴圈 D. 跳到下一個函式
-
for(i=0; i<5; i++) 會跑幾次?C A. 4 B. 5 C. 6 D. 無限
-
迴圈中最常見的錯誤是?B A. 忘記宣告變數 B. 忘記更新條件 C. 忘記輸出 D. 忘記註解
-
下列哪一個不是迴圈?D A. for B. while C. do-while D. if
-
break 和 continue 的差別是?D A. 一樣 B. break 跳過本次 C. continue 結束迴圈 D. break 結束迴圈
-
巢狀迴圈代表?B A. 迴圈內有條件 B. 迴圈內有迴圈 C. 迴圈內有函式 D. 迴圈內有 return
四、陣列、字串與函式(31–40)
-
陣列的索引通常從多少開始?B A. -1 B. 0 C. 1 D. 任意
-
若陣列長度為 5,最後一個索引是?B A. 5 B. 4 C. 6 D. -1
-
字串本質上可以視為?C A. 整數 B. 浮點數 C. 字元陣列 D. 布林值
-
下列哪個操作可能造成陣列越界? A. index < length B. index >= 0 C. index == length D. index == length-1
-
函式的主要用途是? A. 增加變數 B. 重複使用程式碼 C. 加快電腦速度 D. 儲存資料
-
return 的作用是? A. 輸出文字 B. 結束函式並回傳值 C. 結束程式 D. 宣告變數
-
函式可以沒有回傳值嗎? A. 不行 B. 只能回傳 int C. 可以 D. 一定要 return
-
下列哪一個是呼叫函式? A. int f() B. void f C. f(); D. return f
-
參數的用途是? A. 輸出結果 B. 傳資料進函式 C. 宣告陣列 D. 控制迴圈
-
區域變數的有效範圍是? A. 整個程式 B. 同一個檔案 C. 所在區塊 D. 所有函式
五、邏輯與演算法概念(41–50)
-
線性搜尋的時間複雜度是? A. O(1) B. O(log n) C. O(n) D. O(n²)
-
二分搜尋需要什麼條件? A. 資料亂序 B. 資料已排序 C. 資料為字串 D. 資料重複
-
排序的目的主要是? A. 增加資料 B. 方便搜尋 C. 刪除資料 D. 輸出資料
-
下列哪一個不是排序法? A. 泡沫排序 B. 選擇排序 C. 線性搜尋 D. 插入排序
-
遞迴一定要有什麼? A. for 迴圈 B. return C. 終止條件 D. 陣列
-
下列哪一個屬於貪婪演算法概念? A. 每一步選最佳 B. 全部列舉 C. 回溯 D. 分治
-
什麼情況下適合用遞迴? A. 問題可分成相同子問題 B. 問題無規律 C. 只跑一次 D. 沒有終止條件
-
下列哪一個不是 APCS 常見考點? A. 基本語法 B. 邏輯推理 C. 指標運算 D. 演算法概念
-
時間複雜度主要衡量? A. 程式大小 B. 記憶體 C. 執行時間成長 D. 變數數量
-
APCS 最重視的是? A. 語言種類 B. 背誦語法 C. 程式思維 D. UI 設計