C Language Step by Step#

“C语言:积跬步”是一个介绍C语言的教程。该教程适合没有编程基础或者初入此道的开发人员。 本教程旨在一步一步地展开C语言的核心内容,尽可能避免术语, 并且尽可能的把所有需要的术语尽可能的解释清楚。

由于C语言的各个概念是相互关联的,作为教程一开始就给每一个概念下准确的定义是不现实的。 因此本教程在一开始的时候允许一部分的概念模糊、表述含糊,甚至对一些概念字面理解而不做解释, 在之后的内容中再逐步给出严格的定义。这就好比在介绍复数之前, 我们只能告诉你不是所有二次方程都有两个实根。

需要明确的是,本文档是教程性质的文档。 在语言的严格性和无歧义上不能也不可能达到C标准或者其他参考网站的高度。 我们会尽可能的平衡理解难度和准确定义两个方面,使得学习者能够逐步接受, 也可以帮助他们在之后理解C语言中一些复杂的概念时不会有太大偏差。

对于已经掌握一些编程技巧的人,本教程可能显得过于冗长。请自行跳过一些细节。

该教程涉及到的内容:

  • C语言的基本语法和特性
  • 一些实用的C语言开发技巧
  • C语言所必要的计算机知识、概念

该教程不会涉及到的内容:

  • 开发过程中具体工具的使用(因为我们不是工具的说明书)
  • 每一个具体库函数的详细说明(在掌握一些基础后你自行可以参考手册)
  • 还没落实或者太新的语言特性(因为这些还没有达成共识)

本教程的参考文献列表:

  1. zh.cppreference.com
  2. Beginning C From Novice to Professional, Ivor Horton

本教程采用署名-相同方式共享 3.0 未本地化版本许可证和 GNU自由文档许可证(GFDL)

Attention

目前该教程正在编写中。编写进度:

  • 序言
  • C语言基础
    • “你好,世界!”
    • 变量、字面量与类型
    • 算术运算符
    • 控制流语句
    • 函数
    • 数组与字符串
    • 指针
    • 输入输出函数
    • 动态内存分配
    • 结构体
    • 预处理指令
    • 面向过程的程序设计

Copyright (C) 2021 Mjutheks(Yan-1999)

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".