C 語言程式設計專案集
一套為初學者設計的 C 語言程式專案集合,涵蓋從基本演算法到網路程式設計等各種程式概念的學習與練習。每個專案均為獨立模組,內含專屬說明文件與建構系統。
專案總覽
1. SHA-512 實作
一個密碼學雜湊函式的實作,展示:- 位元操作
- 複雜演算法
- 記憶體管理
- 檔案 I/O 操作
2. HTTP 伺服器
一個基本 HTTP 伺服器的實作,涵蓋:- Socket 程式設計
- HTTP 協定基礎
- 檔案傳送
- 網路通訊
3. UDP 伺服器-客戶端
一個簡易 UDP 通訊系統,教學內容包括:- UDP socket 程式設計
- 客戶端-伺服器架構
- 網路協定
- 訊息交換
4. 連接埠掃描器
一個網路診斷工具,展示:- TCP socket 程式設計
- 網路掃描技術
- 錯誤處理
- 命令列參數解析
5. Ping 實作
自訂的 ping 工具,涵蓋:- ICMP 協定
- 原始 socket 程式設計
- 網路診斷
- 時間量測
6. 井字棋
經典遊戲實作,教學內容包括:- 多人遊戲伺服器
- 遊戲邏輯
- 使用者輸入處理
7. 聊天室系統
即時聊天應用程式,展示:- TCP socket 程式設計
- 多執行緒
- 即時通訊
- 客戶端-伺服器架構
8. 詞法分析器
簡單的編譯器前端組件,展示:- 原始碼分詞
- 剖析技術
- 編譯器設計原則
- 字串處理
9. 運算式編譯器
一個簡易編譯器,將算術運算式作為輸入並產生類組合語言的程式碼:- 詞法分析(分詞)
- 運算式剖析與評估
- 組合語言程式碼產生
- 編譯器建構基礎
10. 小行星遊戲
一個基於終端機的遊戲,你要控制飛船躲避墜落的小行星:- 遊戲狀態管理
- 使用者輸入處理
- 終端機圖形介面
- 即時遊戲機制
- 簡單碰撞偵測
開始使用
本儲存庫中的每個專案都設計為獨立運作,並包含:
- 原始碼
- Makefile 或 CMake 設定檔
- README,內含建構與使用說明
- 實作細節
- 進入專案目錄
- 閱讀專案的 README.md
- 依說明建構專案
- 依說明執行程式
先決條件
- GCC 編譯器(用於 C 專案)
- G++ 編譯器(用於 C++ 專案)
- Make 工具
- CMake(用於 C/C++ 專案)
- 基本 C/C++ 程式設計知識
- 網路專案需具備基本網路概念
推薦書籍
若要開始學習 C 語言,推薦這本全面性的書籍: The C Programming Language —— 學習 C 語言基礎與最佳實踐不可或缺的資源。
學習路徑
這些專案依難度由淺入深排列:
- 先從井字遊戲學習基本程式概念
- 接著進行 SHA-512 算法實作
- 嘗試 UDP 伺服器-用戶端,學習網路入門
- 進階至 HTTP 伺服器與聊天系統,體驗複雜網路應用
- 最後探討連接埠掃描器與 Ping,了解進階網路概念
貢獻方式
歡迎您:
- 回報錯誤
- 提出改進建議
- 增加新功能
- 建立新專案
- 改善文件
授權
本專案為開源,供學習用途使用。
注意
部分與網路相關的專案(連接埠掃描器、Ping)因使用原始 socket,需以 root/管理員權限執行。請務必負責任地使用這些工具,僅於您有權限的網路上進行測試。
--- Tranlated By Open Ai Tx | Last indexed: 2025-07-22 ---
