首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

程式設計基礎考題解析:C++/Java 基礎語法與面向物件核心概念

     編輯:關於C語言

題目一:整數除法與運算順序陷阱

int a = 1000 * 5 / 7;   // 714
int b = 1000 * (5 / 7); // 0

解析

  1. 第一式:1000 * 5 = 5000,5000 / 7 = 714(整數除法截斷)。
  2. 第二式:括號優先,5 / 7 = 0(整數除法),1000 * 0 = 0。

教訓:整數運算中,先乘後除**可保留精度**,先除後乘會導致資訊損失。

題目二:布林邏輯表達式等價轉換

需求:A、B、C 三者全真或全假時為真。

String s = "a"; s += "b"; // 實際產生新物件 "ab",原 "a" 待 GC

頻繁拼接請用 StringBuilder。

== vs equals

  • ==:比較基本型別值或參考型別記憶體位址。
  • equals():比較邏輯內容(需類別正確覆寫)。

題目五:C++ 記憶體管理基礎

  • new/delete:配對使用,呼叫建構子/解構子。
  • malloc/free:僅分配/釋放原始記憶體,不呼叫建構/解構。
  • 智慧指標:unique_ptr(獨佔)、shared_ptr(共享引用計數)、weak_ptr(打破循環引用)。現代 C++ 首選智慧指標,避免裸指標。

總結

程式設計基礎考題往往聚焦於運算優先序、型別轉換、邏輯等價轉換、核心概念精準定義。建議建立「錯題本」,歸納每類陷阱的根本原因(如整數除法截斷、有號無號轉換、運算子優先序),並在實際編碼中養成防禦性編程習慣:關鍵運算加括號、明確轉型、單元測試覆蓋邊界值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved