Skip to content

min0911Y/C

 
 

Repository files navigation

C

Mdr's C tutorial

#define INTRODUCTION 52
// 向着星辰与深渊,欢迎来到 mdr 的 C 语言教程!

#define INFORMATION 'C'
// B 站账号 Minsecrus
// GitHub 账号 Minsecrus
// QQ 交流群 885719573

#include <stdio.h>
int main(int argc, char* argv[]){
    printf("%d %c", INTRODUCTION, INFORMATION);
    return 0;
}
  1. 这里是 Mdr's C Tutorial,欢迎来这里共同学习
  2. 此仓库中文档的定位是 教程,即我们希望读者阅读这些文档可以获得与 C 语言 以及 计算机科学 相关知识
  3. 本教程的目标:在 准确 的基础上力争 简洁生动
  4. 此教程并非一时兴起而作,实则怀“为往圣继绝学,为万世开太平”之愿,深思熟虑打造而成
  5. 得天独厚者,替天行善

总纲

关于本教程

文档规范

  1. 标题由 一级标题 开始,依次递减
  2. 代码块列表 前后各有一个空行;文件结尾要有一个空行;文件任何位置不得存在连续两个空行
  3. 段落和段落之间有一个空行;只换行不换段落,无空行,在前一行结尾加两个空格;
  4. 强调** ** 标识,次强调* * 标识,代码块` ` 标识;
  5. 引文和注释用 > 标识;书名和文章名用 *** *** 标识;
  6. *** *** ** ** * * ` ` 前后 各空一个空格,但中文标点前后无需加空格;
  7. 中西文字符,或者中文和数字之间加一个空格;
  8. 在中文上下文中用全角标点,比如全角小括号,全角冒号等;
  9. 要正确使用标点符号,分清 顿号逗号分号句号,尤其避免一逗到底;
  10. 在一个 术语 (Terminology) 首次出现的时候在 半角小括号 内给出 对应的外来语,同时给出 首字母缩略语 (Acronym)。这些外来语通常对应 概念 (Concept) 的原文 ,希望有助于读者明确分辨词语的含义:
    1. 为减少读者的记忆负担,下文分情况使用 术语的汉语表述首字母缩略语:初始章节以前者为主,进阶章节以后者为主
    2. 外来语和缩略语可能视情况在不同章节多次出现
    3. 括号外左侧右侧各空一个空格,括号内无空格
    4. 外来语 不能 带斜体、加粗、下划线、删除线和代码块——用默认的字体;
    5. 大部分外来语单词摘自 维基百科C++ 参考手册
  11. 专有名词大写
  12. 图片统一放在 /images/ 目录下,并采用 绝对路径 引入:
    1. 截图统一采用 PNG 格式,命名为三位数字,如:001.png
    2. 拍照统一采用 JPEG 格式,命名为不带前导零的数字,如:1.jpg
  13. 在每篇文档结尾写出引用内容的出处;
  14. 语言风格:
    1. 使用 正式 的中文白话,尽量 不用 口头语;
    2. 尽量 不用 反问,设问和借喻;
    3. 用清晰的修饰限定成分,避免含混不清;不用过于夸张的修饰限定成分;有数据支持的时候要列举数据;
    4. 避免带有主观性的措辞;避免几个连续的词表示同一个意思;
    5. 保证整个仓库中所有文档 语言风格的一致性

代码规范

  1. 如果是项目代码,需要构建系统完成编译运行,需将必要的相关文件放入对应目录,例如 CMakeLists.txtxmake.lua 等;
  2. 源文件后缀名为 .c,头文件后缀名为 .h
  3. 标识符采用惯例命名,不允许使用拼音
  4. if else for while 必须跟随一条 复合语句,即用 大括号 包裹

对预期读者的要求

  1. 独立思考;
  2. 勤于搜索(尤其是出现较多关联概念时);
  3. 理解中文白话,最好有一定的英语水平(建议达到 CEFR B2)但不强制,最好有一定的数学水平(高中数学 + 数理逻辑基础 + 微积分 + 基础的概率论 + 基础的数论 + 基础的图论)但不强制;

鸣谢名单(按时间顺序)

个人(贡献者)

组织

特别鸣谢

许可证

CC-BY-SA 4.0

参考资料

Releases

No releases published

Packages

No packages published

Languages

  • C 88.1%
  • C++ 7.5%
  • Assembly 3.9%
  • Python 0.5%