Q4.
C++語言要比較二個字串大小,要使用以下那一個函式或運算子?
電腦軟體設計(C++) · 乙級 · C++ · Q4
難易度分析
3 / 5
本題要求考生能區分賦值、相等判定與字典序大小比較這三種不同的運算邏輯,並能辨識出不同程式語言間函式命名差異的干擾選項。
正確答案:③compareTo
③ compareTo:compareTo 用於逐字元比較兩個字串的 字典序大小,回傳正值、負值或零來表示大於、小於或等於。此概念源自物件導向語言的字串比較設計模式,用於判斷字串間的相對大小關係。
錯誤選項解析
- ① equals:equals 是 Java 與 C# 中用於比較字串內容是否相等的方法,並非 C++ 標準函式庫的函式。C++ 的 std::string 並不提供 equals 成員函式。
- ② =:= 是 指派運算子,用於將值賦給變數,而非用於比較。在 C++ 中若誤用 = 於條件判斷式,會造成編譯警告或邏輯錯誤,應使用比較運算子或比較函式。
- ④ ==:== 運算子在 C++ 的 std::string 中僅能判斷兩個字串是否 完全相等,無法比較字串的字典序大小。若要判斷哪個字串較大或較小,需使用 關係運算子(如 <、>)或比較函式。
Learning Tip
"本題核心考點為 C++ 字串比較 的正確用法。需注意 == 只能判斷相等與否,而比較字串 字典序大小 需使用專門的比較方法。實務上 C++ 的 std::string 可直接使用 <、> 等關係運算子進行字典序比較,而 C-style 字串則需使用 strcmp() 函式。常考陷阱為混淆 指派(=) 與 比較(==),以及誤將其他語言(如 Java 的 compareTo、equals)的用法套用到 C++。"
學員答題分佈
①equals0%
②=0%
③compareTo0%
④==0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!