Files
C_code/README.md
T

238 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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语言编程技能。