2014 年四川大學復試 C 語言真題:10 個球放入 4 個籃子的組合計數
題目背景 這是 2014 年四川大學計算機專業復試中的一道經典 C 語言編程題,考察遞歸回溯與組合數學建模能力。 問題描述 有 10 個相同的球,需放入 4
C語言 enum 枚舉類型完整指南:三種定義方式與關鍵注意事項
前言 在 C 語言開發中,enum 枚舉類型是提升代碼可讀性與維護性的重要工具。本文將系統梳理枚舉的三種定義方式,並深入解析開發中常見的陷阱與最佳實踐,助你避開
C語言標準庫函數速查手冊:分類匯總與工程實踐指南
前言:站在巨人的肩膀上 「工欲善其事,必先利其器。」C 語言標準庫 (libc, 嵌入式常用 uClibc/musl) 是系統編程的基石。熟練掌握常用庫函數,能
C語言制表符 \t 與空格顯示差異深度解析:對齊奧秘與終端機制
現象:為什麼 \t 能對齊,空格卻不能? // 代碼 1: 使用 \t printf(Name\tAge\n); printf(Alice\t18\n); pr
C語言編譯全流程深度解析:從源碼到可執行文件
概覽:四大階段,一條龍 C 語言編譯並非一步到位,而是經過 預處理 → 編譯 → 匯編 → 鏈接 四個截然不同的階段。理解這一流程,是排查構建錯誤、優化構建速度
C語言遞歸二分查找:指針算術與邊界條件深度解析
前言:為什麼用指針實現二分查找? 二分查找是算法入門必修課。用指針算術替代下標索引,不僅能加深對 C 語言內存模型的理解,更能在嵌入式開發、底層庫編寫中寫出更緊
C語言字符串拼接實戰:指鉤操作與標準庫函數對比
核心需求:在 C 中如何高效拼接字符串? C 語言無內建字符串類型,字符串拼接本質是將源字符串內容複製到目標字符串尾部,並確保以 \0 結尾。本文通過一個經典的
C語言核心概念深度解析:補碼的原理與應用
前言:為什麼要理解補碼? 在C語言學習的進階階段,補碼 是一個繞不開的核心知識點。它不僅是計算機系統中有符號整數的表示基石,更直接決定了位運算、類型轉換、溢出判
AVL 平衡二叉樹的 C 語言非遞歸完整實現與操作詳解
數據結構定義 typedef enum { EH=0, LH=1, RH=-1 } bh_t; // 平衡因子 typedef int ElemType; t
C語言動態內存分配:malloc、calloc 與 realloc 的區別、聯系與使用陷阱
函數原型 void* malloc(size_t size); void* calloc(size_t num, size_t size); void* rea
C語言結構體嵌套時的字節對齊規則詳解與實測驗證
背景 網上常見觀點認為嵌套結構體應作為整體按其大小對齊,但實測(GCC、VS2010)證明該觀點錯誤。本文通過多組實例給出正確規則。 實例 1:嵌套純 cha
POJ 1751 Highways 最小生成樹:Prim 演算法與預連邊處理
題目大意 給定 n (≤ 750) 個點的平面座標,部分點對已有公路相連(權重視為 0)。求仍需建設的公路集合,使所有點連通且總長度最小(輸出需新建邊的端點)。
C 語言宣告優先序規則與 typedef 進階用法全解
前言 C 宣告語法以「優先序規則」聞名遐邇,搭配 typedef 能大幅提升可讀性。本文系統整理解析步驟、名稱空間隔離、typedef vs 宏的本質差異,並給
《C 程式設計語言》(K&R)閱讀筆記(二):指標、記憶體對齊與結構體
前言 承接上篇,本文聚焦指標運算、多維陣列解析、大小端、結構體對齊規則,並補充現代編譯器行為與最佳化技巧。 一、指標運算核心法則 1.1 運算子優先序與結合性
《C 程式設計語言》(K&R)閱讀筆記(一):宣告、記憶體佈局與型別系統
前言 K&R 以精煉著稱,重讀時仍發現許多「以為懂卻不夠透徹」的細節。本文整理前幾章核心知識點,補充現代編譯器行為與最佳實踐,作為查閱手冊。 一、宣告 1.1
C 標準庫深度剖析:assert.h 與 ctype.h 實現機制
前言 標準庫頭文件 <assert.h> 與 <ctype.h> 雖然常被視為「基礎」,但其內部實現蘊含了 C 語言宏展開、查表優化、區
C99 編譯器內建宏與可變參數宏實現調試輸出
前言 在 C 語言開發中,善用編譯器提供的內建宏與 C99 引入的可變參數宏,能讓除錯資訊的輸出既靈活又標準化。本文整理常用的預定義宏、C99 可變參數宏語法,