C语言系列教程
基于李慧芹老师C语言课程整理
教程目录
第01章 C语言基础与编译
- C语言程序结构
- main函数详解
- 编译过程详解
- gcc编译器使用
- 返回值与exit函数
第02章 数据类型与变量
- 基本数据类型
- 变量定义与存储类型
- IEEE754浮点数存储
- bool类型
- 宏定义与常量
第03章 运算符
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 运算符优先级
第04章 输入输出
- printf格式化输出
- scanf格式化输入
- getchar与putchar
- gets、fgets、getline详解
- 输入输出缓冲区
第05章 流程控制
- if-else条件语句
- switch-case分支
- while与do-while循环
- for循环
- break与continue
第06章 数组
- 一维数组
- 二维数组
- 字符数组
- 数组初始化
- 数组与内存
第07章 指针
- 指针基础
- 指针与数组
- 指针与字符数组
- 数组指针与指针数组
- const与指针
- 多级指针
第08章 函数
- 函数定义与声明
- 参数传递
- 返回值
- 函数指针
- 数组与函数
第09章 构造类型
- 结构体(struct)
- 共用体(union)
- 枚举(enum)
- 内存对齐
- 结构体传参
学习路线
- 基础入门(第1-3章):了解C语言基本概念、编译过程、数据类型和运算符
- 输入输出(第4章):掌握标准输入输出函数的使用
- 程序控制(第5章):学习流程控制语句
- 数组与指针(第6-7章):C语言的核心内容,需要重点掌握
- 函数编程(第8章):模块化编程
- 高级特性(第9章):结构体等构造类型
学习建议
- 动手实践:每个知识点都要亲自编写代码验证
- 理解原理:特别是指针、内存管理等核心概念
- 注意细节:C语言对类型、指针等要求严格
- 使用gcc -Wall:编译时开启警告选项,养成良好习惯
- 调试技能:学习使用gdb等调试工具
开发环境
- 编译器:GCC (GNU Compiler Collection)
- 编辑器:vim、VSCode等
- 调试工具:gdb
- 构建工具:make
编译命令示例
# 基本编译
gcc hello.c -o hello
# 开启警告
gcc -Wall hello.c -o hello
# 分步编译
gcc -E hello.c > hello.i # 预处理
gcc -S hello.i # 编译生成汇编
gcc -c hello.s # 汇编生成目标文件
gcc hello.o -o hello # 链接生成可执行文件
注意事项
⚠️ 安全编程:
- 避免使用不安全的函数如
gets() - 注意数组越界问题
- 使用
scanf()时注意格式化字符串 - 指针使用前要初始化
⚠️ 内存管理:
- 理解栈和堆的区别
- 注意内存泄漏
- 野指针问题
⚠️ 编码规范:
- 变量命名要有意义
- 适当添加注释
- 代码格式要规范