Add comprehensive README documentation for C learning repository

This commit is contained in:
2025-07-20 16:43:53 +08:00
parent 06e24173a6
commit ff7758924f
2 changed files with 238 additions and 1 deletions
-1
View File
@@ -1,5 +1,4 @@
# 排除可执行文件 # 排除可执行文件
*.exe
*.out *.out
*.o *.o
+238
View File
@@ -0,0 +1,238 @@
# C语言学习代码库
## 项目简介
这是一个完整的C语言学习代码库,包含了从基础语法到高级项目的全面学习内容。代码库涵盖了翁凯老师C语言课程的所有章节练习、课堂代码实践以及完整的项目实战。
## 项目结构
### 📚 翁凯C语言/
翁凯老师C语言课程的完整代码实现,按章节组织:
- **第1章** - C语言入门
- Hello World程序
- 基础数学运算
- 猜数游戏
- 数组倒序排列
- **第2章** - 循环与判断
- 硬币兑换问题
- 阶乘计算(多种实现)
- 求和算法
- 最大公约数(辗转相除法)
- 整数分解
- 素数判断
- **第3章** - 数据类型与运算
- 字符类型处理
- 数字朗读程序
- 九九乘法表
- 水仙花数
- 浮点数精度
- 逻辑运算
- 分式约分
- **第4章** - 函数
- 函数定义与使用
- 参数传递机制
- 递归函数
- 局部变量作用域
- **第5章** - 数组
- 一维数组操作
- 二维数组与矩阵
- 冒泡排序算法
- 素数筛选
- 杨辉三角
- 矩阵运算
- **第6章** - 指针
- 指针基础概念
- 指针与数组
- 动态内存分配
- 函数指针
- 指针数组
- **第7章** - 字符串
- 字符串基础操作
- 字符串函数(strlen, strcpy, strcmp
- 字符串数组
- 回文字符串
- **第8章** - 结构体
- 结构体定义与使用
- 结构体与函数
- 嵌套结构体
- 动态链表
- 枚举类型
- 联合体
- **第9章** - 程序结构
- 全局变量
- 静态变量
- 头文件使用
- 宏定义
- 大型程序组织
- **第10章** - 文件操作
- 文件输入输出
- 格式化读写
- 二进制文件处理
- **第11章** - 位运算
- 按位运算符
- 移位运算
- 位段操作
- **第12章** - 动态数据结构
- 可变数组实现
- 自动增长机制
- 数据访问优化
- **第13章** - 链表
- 单向链表实现
- 链表函数封装
- 链表搜索算法
### 🎯 课上代码练习/
课堂实践代码,包含基础练习和项目实战:
#### 基础练习(1.1.1 - 1.1.7
- C语言初识
- 数值处理(最大值、求和)
- 字符函数应用
- 大小写转换
- 条件判断
- BMI计算器
#### 🎮 五子棋项目
完整的五子棋人机对战系统,技术特点:
- **AI算法**:α-β剪枝优化的极小极大算法
- **棋盘支持**5x5到25x25可调尺寸
- **智能评估**:完整的棋型评估系统
- **游戏功能**:复盘系统、胜负判断
- **用户体验**:清晰的界面显示
详细文档请查看:[五子棋项目README](课上代码练习/五子棋/README.md)
### 📝 草稿/
临时代码和实验性代码:
- 测试代码片段
- 算法草稿
- 文档模板
## 技术栈
- **编程语言**:C语言(C99标准)
- **编译器**GCC
- **开发环境**:支持Windows/Linux/macOS
- **特殊库**:数学库(-lm
## 编译说明
### 单文件编译
```bash
gcc filename.c -o output
```
### 需要数学库的程序
```bash
gcc filename.c -o output -lm
```
### 多文件项目(如五子棋)
```bash
cd 课上代码练习/五子棋
gcc "五子棋 copy 3.c" -o gomoku -lm
```
## 学习路径建议
### 🔰 初学者路径
1. **基础语法**:从翁凯C语言第1-3章开始
2. **函数理解**:学习第4章函数概念
3. **数组掌握**:重点练习第5章数组操作
4. **指针突破**:深入理解第6章指针概念
### 🚀 进阶路径
1. **字符串处理**:第7章字符串操作
2. **数据结构**:第8章结构体和第13章链表
3. **文件操作**:第10章文件处理
4. **项目实战**:五子棋AI项目
### 💡 高级应用
1. **位运算优化**:第11章位操作
2. **动态内存**:第12章可变数组
3. **程序架构**:第9章大型程序设计
## 代码特色
### ✨ 编码规范
- 统一的代码风格和注释
- 清晰的变量命名
- 完整的错误处理
### 🛠️ 实用功能
- 跨平台兼容性(Windows/Linux
- UTF-8编码支持
- 用户友好的交互界面
### 📊 算法实现
- 经典排序算法
- 搜索算法
- 数学计算算法
- AI决策算法
## 项目亮点
### 🎯 五子棋AI系统
- **智能对战**:实现了具有挑战性的AI对手
- **算法优化**:使用α-β剪枝提升搜索效率
- **完整功能**:包含复盘、胜负判断等完整游戏体验
### 📚 完整学习体系
- **循序渐进**:从基础到高级的完整学习路径
- **实战结合**:理论学习与项目实践相结合
- **代码质量**:注重代码规范和最佳实践
## 使用说明
1. **克隆仓库**
```bash
git clone https://github.com/LHY0125/Learn_C.git
cd Learn_C
```
2. **选择学习内容**
- 基础学习:进入`翁凯C语言/`对应章节
- 项目实战:进入`课上代码练习/五子棋/`
- 快速练习:查看`课上代码练习/`基础练习
3. **编译运行**
```bash
gcc 文件名.c -o 输出名
./输出名
```
## 贡献指南
欢迎提交Issue和Pull Request来改进这个学习资源!
### 贡献方式
- 🐛 报告Bug
- 💡 提出改进建议
- 📝 完善文档
- ✨ 添加新的学习案例
## 许可证
本项目采用MIT许可证,详情请查看LICENSE文件。
## 联系方式
如有问题或建议,欢迎通过GitHub Issues联系。
---
**Happy Coding! 🚀**
> 这个代码库记录了C语言学习的完整历程,从基础语法到复杂项目,希望能帮助更多人掌握C语言编程技能。