| 題號 | 考點 | 正確選項 | 關鍵解析 |
|---|---|---|---|
| 1 | 函數返回值類型決定 | D | 由函數定義時指定的類型決定,與 return 表達式類型隱式轉換相關 |
| 2 | 數組名作實參傳遞內容 | A | 傳遞數組首元素地址(首地址) |
| 3 | 無存儲類別局部變量默認類別 | A | auto(隱式) |
| 4 | 復合語句中定義變量作用域 | A | 僅在該復合語句(塊)內有效 |
| 5 | 簡單變量實參傳遞方式 | B | 單向值傳遞(形參改變不影響實參) |
| 6 | 無 return 語句函數返回值 | D | 返回不確定值(垃圾值) |
| 7 | 僅本源文件可見的全局變量存儲類別 | D | static(內部鏈接) |
| 8 | 指針參數函數調用結果計算 | D | 逐步追蹤:a=5, b=-2, c=-7 |
| 9 | 逗號表達式實參個數 | B | 逗號運算符分隔兩個表達式,整體為 2 個實參 |
| 10 | 二維數組形參錯誤定義 | B | 第二維度必須給定,int array[3][] 非法 |
| 11 | 正確函數定義形式 | A/D | double fun(int x, int y) 完整聲明 |
| 12 | 函數調用錯誤描述 | D | 函數調用不能作為形參(形參是聲明時的標識符) |
| 13 | 函數類型缺省隱含類型 | B | int(C89 標準) |
| 14 | 函數定義與調用嵌套規則 | B | C 語言不支持函數定義嵌套,但支持調用嵌套(遞歸) |
| 15 | 標準庫函數重定義規則 | B | 用戶可重定義,但原庫函數功能被覆蓋 |
| 16 | 函數原型返回類型 | C | 無顯式類型默認 int |
| 17 | 一維數組名作實參正確說法 | C | 被調函數中形參數組大小可不指定/不影響 |
| 18 | 實參形參錯誤描述 | B | 形參只能是變量,不能是常量或表達式 |
| 19 | 建立函數目的 | B | 提高可讀性、模塊化、復用(而非單純提速) |
| 20 | 變量作用域錯誤描述 | D | 塊內變量僅在塊內有效,不擴展至整個函數 |
| 21 | 全局變量存儲類別 | D | extern 或 static(外部/內部鏈接) |
| 22 | C 函數正確描述 | A | 值傳遞單向;C 不支持嵌套定義;函數可無返回值;多文件分別編譯 |
| 23 | do-while 死循環判斷 | 1 (錯) | k 從 0 遞增,條件 k>=0 恆真 → 死循環,題幹說「是」應為對?原答案標記為「錯」,可能考點在 k 溢出後變負?實際無符號溢出行為未定義。 |
| 24 | for 省略條件判斷 | 2 (對) | for(;;) 中間為空視為恆真,等價 for(;1;) |
| 25 | for 循環死循環判斷 | 1 (錯) | x=1; y=0; x>++y 首次 1>1 假,循環不執行,非死循環 |
daaabadbbdddbccacbcddb121
注意:第 23 題存在歧義,建議以編譯器實際運行為準,理解「無符號整數溢出導致條件最終為假」或「有符號溢出未定義行為」的深層考點。