跳转到内容
一站式学习 C 编程
Main Navigation
Home
akaedu
主题
菜单
回到顶部
页面导航
目录
折叠全部
历史
前言
部分 I. C 语言入门
第 1 章 程序的基本概念
1. 程序和编程语言
2. 自然语言和形式语言
3. 程序的调试
4. 第一个程序
第 2 章 常量、变量和表达式
1. 继续 Hello World
2. 常量
3. 变量
4. 赋值
5. 表达式
6. 字符类型与字符编码
第 3 章 简单函数
1. 数学函数
2. 自定义函数
3. 形参和实参
4. 全局变量、局部变量和作用域
第 4 章 分支语句
1. if 语句
2. if/else 语句
3. 布尔代数
4. switch 语句
第 5 章 深入理解函数
1. return 语句
2. 增量式开发
3. 递归
第 6 章 循环语句
1. while 语句
2. do/while 语句
3. for 语句
4. break 和 continue 语句
5. 嵌套循环
6. goto 语句和标号
第 7 章 结构体
1. 复合类型与结构体
2. 数据抽象
3. 数据类型标志
4. 嵌套结构体
第 8 章 数组
1. 数组的基本概念
2. 数组应用实例:统计随机数
3. 数组应用实例:直方图
4. 字符串
5. 多维数组
第 9 章 编码风格
1. 缩进和空白
2. 注释
3. 标识符命名
4. 函数
5. indent 工具
第 10 章 gdb
1. 单步执行和跟踪函数调用
2. 断点
3. 观察点
4. 段错误
第 11 章 排序与查找
1. 算法的概念
2. 插入排序
3. 算法的时间复杂度分析
4. 归并排序
5. 线性查找
6. 折半查找
第 12 章 栈与队列
1. 数据结构的概念
2. 堆栈
3. 深度优先搜索
4. 队列与广度优先搜索
5. 环形队列
第 13 章 本阶段总结
部分 II. C 语言本质
第 14 章 计算机中数的表示
1. 为什么计算机用二进制计数
2. 不同进制之间的换算
3. 整数的加减运算
4. 浮点数
第 15 章 数据类型详解
1. 整型
2. 浮点型
3. 类型转换
第 16 章 运算符详解
1. 位运算
2. 其它运算符
3. Side Effect 与 Sequence Point
4. 运算符总结
第 17 章 计算机体系结构基础
1. 内存与地址
2. CPU
3. 设备
4. MMU
5. Memory Hierarchy
第 18 章 x86 汇编程序基础
1. 最简单的汇编程序
2. x86 的寄存器
3. 第二个汇编程序
4. 寻址方式
5. ELF 文件
第 19 章 汇编与 C 之间的关系
1. 函数调用
2. main 函数和启动例程
3. 变量的存储布局
4. 结构体和联合体
5. C 内联汇编
6. volatile 限定符
第 20 章 链接详解
1. 多目标文件的链接
2. 定义和声明
3. 静态库
4. 共享库
5. 虚拟内存管理
第 21 章 预处理
1. 预处理的步骤
2. 宏定义
3. 条件预处理指示
4. 其它预处理特性
第 22 章 Makefile 基础
1. 基本规则
2. 隐含规则和模式规则
3. 变量
4. 自动处理头文件的依赖关系
5. 常用的 make 命令行选项
第 23 章 指针
1. 指针的基本概念
2. 指针类型的参数和返回值
3. 指针与数组
4. 指针与 const 限定符
5. 指针与结构体
6. 指向指针的指针与指针数组
7. 指向数组的指针与多维数组
8. 函数类型和函数指针类型
9. 不完全类型和复杂声明
第 24 章 函数接口
1. 本章的预备知识
2. 传入参数与传出参数
3. 两层指针的参数
4. 返回值是指针的情况
5. 回调函数
6. 可变参数
第 25 章 C 标准库
1. 字符串操作函数
2. 标准 I/O 库函数
3. 数值字符串转换函数
4. 分配内存的函数
第 26 章 链表、二叉树和哈希表
1. 链表
2. 二叉树
3. 哈希表
第 27 章 本阶段总结
部分 III. Linux 系统编程
第 28 章 文件与 I/O
1. 汇编程序的 Hello world
2. C 标准 I/O 库函数与 Unbuffered I/O 函数
3. open/close
4. read/write
5. lseek
6. fcntl
7. ioctl
8. mmap
第 29 章 文件系统
1. 引言
2. ext2 文件系统
3. VFS
第 30 章 进程
1. 引言
2. 环境变量
3. 进程控制
4. 进程间通信
5. 练习:实现简单的 Shell
第 31 章 Shell 脚本
1. Shell 的历史
2. Shell 如何执行命令
3. Shell 的基本语法
4. bash 启动脚本
5. Shell 脚本语法
6. Shell 脚本的调试方法
第 32 章 正则表达式
1. 引言
2. 基本语法
3. sed
4. awk
5. 练习:在 C 语言中使用正则表达式
第 33 章 信号
1. 信号的基本概念
2. 产生信号
3. 阻塞信号
4. 捕捉信号
第 34 章 终端、作业控制与守护进程
1. 终端
2. 作业控制
3. 守护进程
第 35 章 线程
1. 线程的概念
2. 线程控制
3. 线程间同步
4. 编程练习
第 36 章 TCP/IP 协议基础
1. TCP/IP 协议栈与数据包封装
2. 以太网 (RFC 894) 帧格式
3. ARP 数据报格式
4. IP 数据报格式
5. IP 地址与路由
6. UDP 段格式
7. TCP 协议
第 37 章 socket 编程
1. 预备知识
2. 基于 TCP 协议的网络程序
3. 基于 UDP 协议的网络程序
4. UNIX Domain Socket IPC
5. 练习:实现简单的 Web 服务器
附录 A. 字符编码
1. ASCII 码
2. Unicode 和 UTF-8
3. 在 Linux C 编程中使用 Unicode 和 UTF-8
附录 B. GNU Free Documentation License Version 1.3, 3 November 2008
参考书目
索引
0%