LONGEPASS
Q76.

C 程式語言在程式執行中,下列哪些型態的變數,可依需要修改其變數值?

儀表電子 · 甲級 · 嵌入式系統概論與應用及程式設計 · Q76

難易度分析

3 / 5

此題測試考生對 C 語言可變與唯讀型別的基本認知,並要求在多項選擇中辨識可修改的型別。由於題目只涉及單一概念且缺少複雜計算或多重條件,難度屬於中等。

正確答案 (複選):①, ③

  • ① int:int 為 C 語言基本整數資料型態,宣告於一般作用域或堆疊中的整數變數屬於可變物件(mutable object),執行期間可透過指派運算子自由修改其值。
  • ③ float:float 為 C 語言基本浮點數資料型態,與 int 同屬可變物件,宣告後可在程式執行過程中透過運算或指派反覆更新其數值。

錯誤選項解析

  • ② string:C 語言本身並無內建 string 關鍵字,字串以 char 陣列 或 字元指標 實現;若指向字串常數(string literal),其儲存於唯讀記憶體區段,執行期間不可修改。此為本題不選之關鍵。
  • ④ const:const 為 C 語言的型別限定詞(type qualifier),用以宣告唯讀物件;經 const 修飾的變數在編譯階段即被限制不可重新指派,違反將產生編譯錯誤。
Learning Tip

"本題核心考點在於區分 C 語言中可變(mutable)與唯讀(read-only)變數的差異。常考陷阱:① const 修飾的變數雖仍佔用記憶體,但編譯器會阻止任何寫入操作;② C 語言沒有內建 string 型別,字串常數存放於 .rodata 區段不可修改,而自行宣告的 char 陣列則可修改,作答時需審慎判斷題目語境;③ volatile 限定詞雖也影響變數行為,但不改變其可修改性,僅告知編譯器勿最佳化該變數的存取。"

學員答題分佈

①int0%
②string0%
③float0%
④const0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目