介绍博文: http://www.ruanyifeng.com/blog/2021/09/c-language-tutorial.html
Github仓:https://github.com/wangdoc/clang-tutorial
本教程采用知识共享 署名-相同方式共享 3.0协议。
序:
作者:阮一峰
我知道,这件事有点奇怪,让我来解释一下。
最近两三年,我想做一些服务器开发,一直在学习这方面的技术。去年发布的《Bash 脚本教程》,就是在学习 Shell 的时候写的。后来学习后端编程语言,深感好多基础的东西需要补课,就回过头重新开始看 C 语言。
我上一次学习 C 语言,还是在学校里。印象中,C 语言不容易,复杂类型很难声明和解读。但是,这一次重新学习,意外觉得 C 语言并不复杂,语法点少,没有类,只能使用命令式编程(imperative programming),跟脚本语言(比如 JavaScript)相比,语法描述要容易很多。加上网上很少 C 语言中文教程,质量也不理想,于是就萌生了自己写教程的念头。
最初的想法是,在我的学习笔记基础上,加一些示例就可以了。但是真的动手以后,发现工作量很大,尤其是后来决定 C 语言标准库也包括在教程中。C 的语法点虽然不多,但完整的教程至少要20几章,而且 C 代码写法太自由,不少疑难之处还要去查看参考书籍。所以写得很慢,从春节后到现在,整整写了六个多月,终于写完了。
与以往一样,这个教程是开源的,采用知识共享许可证,源码托管在 GitHub ,大家可以自由使用。点击下面网址,在线阅读全书
C 语言教程
- 简介
- 基本语法
- 变量
- 运算符
- 流程控制
- 数据类型
- 指针
- 函数
- 数组
- 字符串
- 内存管理
- struct结构
- typedef命令
- Union结构
- Enum类型
- 预处理器
- I/O函数
- 文件操作
- 变量说明符
- 多文件项目
- 命令行环境
- 多字节字符
- 标准库
- assert.h
- ctype.h
- errno.h
- float.h
- inttypes.h
- iso646.h
- limits.h
- locale.h
- math.h
- signal.h
- stdint.h
- stdlib.h
- stdio.h
- string.h
- time.h
- wchar.h
- wctype.h