JM233333's Blog
  • Programming Languages

    • C
    • Python
  • Algorithms and Data Structures

    • Data Structure
    • Fundamental Algorithms
    • Graph Theory
  • GNU Toolchain

    • Bash
    • gdb
  • Development Environment

    • Ubuntu
    • QEMU
  • Development Tools

    • Git
    • VSCode
  • Operating Systems

    • Principles of Operating Systems
    • Xv6
    • Linux Kernel
  • Software Testing and Analysis

    • Software Testing
    • Software Analysis
    • Program Verification
  • LeetCode
  • XJTUOJ
  • System

    • System Performance
  • Programming

    • ...
  • Others

    • ...
  • Paper Reading

    • Model Checking
    • Fuzzing
    • Symbolic Execution
  • 3D Game Programming

    • 3D Mathematics

JM233333

弱小可怜又无助的学术废物
  • Programming Languages

    • C
    • Python
  • Algorithms and Data Structures

    • Data Structure
    • Fundamental Algorithms
    • Graph Theory
  • GNU Toolchain

    • Bash
    • gdb
  • Development Environment

    • Ubuntu
    • QEMU
  • Development Tools

    • Git
    • VSCode
  • Operating Systems

    • Principles of Operating Systems
    • Xv6
    • Linux Kernel
  • Software Testing and Analysis

    • Software Testing
    • Software Analysis
    • Program Verification
  • LeetCode
  • XJTUOJ
  • System

    • System Performance
  • Programming

    • ...
  • Others

    • ...
  • Paper Reading

    • Model Checking
    • Fuzzing
    • Symbolic Execution
  • 3D Game Programming

    • 3D Mathematics
  • Programming Languages
    • 前言
  • Algorithms and Data Structures
Programming Languages
编程语言的基础教程和进阶知识总结
目录
# 1. c
1-1. C 00 - Introduction1-2. C 01 - Summary of Basic Syntax (unfinished)1-3. C 01 - Summary of Basic Debugging Skills1-4. C 01 - Develop Good Coding Style and Programming Habits1-5. C 01 - Convention of Naming Identifier1-6. C 01 - The Right Way to Ask Others for Help1-7. C 01 - Summary of Common Mistakes for Beginners1-8. C 02 - Pointer1-9. C 03 - Function1-10. C 03 - Types1-11. C 03 - Scope and Lifetime1-12. C 03 - Input and Output1-13. C 03 - Undefined Behavior and Unspecified Behavior1-14. C 04 - Dynamic Memory Allocation1-15. C 04 - Type Conversion1-16. C 04 - Declaration and Definition1-17. C 04 - Lvalue and Rvalue1-18. C 04 - Organizing Multiple Source Files (unfinished)1-19. C 04 - Summary of Piecemeal Knowledge (unfinished)1-20. C 05 - Memory Layout and Rules1-21. C 05 - Improve Your Code with [typedef] (unfinished)1-22. C 05 - Array Name is NOT a Pointer1-23. C 05 - More about Input and Output (unfinished)1-24. C 06 - More about the Structure Type1-25. C 06 - Macro (unfinished)1-26. C 06 - Do not Abuse Side Effects in Subexpressions1-27. C 02 - Overview of C Standards1-28. C 10 - Introduction to GCC Extensions1-29. C 11 - GCC Inline Assembly (unfinished)
# 2. cpp
# 3. java
# 4. python
4-1. Python 00 - Introduction4-2. Python 01 - Summary of Basic Syntax (unfinished)4-3. Python 02 - Data Structures (unfinished)4-4. Python 88 - String4-5. Python 88 - String Formatting4-6. Python 99 - Summary of Piecemeal Knowledge (unfinished)
Creative Commons

# 前言

Programming Languages 栏目下的文章内容为我所学的各个编程语言。

本栏目中的任何文章都假定读者至少已经对“编程”有所认识,能写出一些最简单的程序。

根据面向读者的不同,文章可分为“面向初学者”和“面向进阶读者”两大类。

关于面向初学者的文章:

这些文章是相对基础的教程。我不会提供这些编程语言的手把手入门教程,这样的教程已经有太多太多了。相反,我会对语言中的重难点知识和新手易错点进行归纳总结,并尽可能地举一反三,帮助读者更深入地学习这些编程语言。具体地讲:

  • 适合处在该编程语言的初学阶段的读者。

  • 假设读者未曾接触过文中介绍的知识,或是对该知识感到难以理解、学起来很吃力。

  • 通常会以大量的篇幅对简单的基础知识进行解释,用语言引导读者举一反三深入思考。

  • 会使用大量而又简单的代码实例并附上详细讲解,用大量的简单示例图来帮助学习。

关于面向进阶读者的文章:

这些文章是我对一些进阶知识的理解和总结。具体地讲:

  • 适合已经入门该编程语言,希望学习语言高级特性或深入底层的知识的读者。

  • 假设读者未曾接触过文中介绍的知识,或是对该知识感到难以理解、学起来很吃力。

  • 默认读者已经掌握该编程语言的 所有 基础内容。

关于文章的阅读顺序:

在每个编程语言板块内,每篇文档会有一个标号,这个标号表示了该文档大致的在当前知识板块内的相对级别,建议按标号从小到大阅读,标号相同的则无所谓。

有些文档会具有相同的标号,这是按层划分的,可能会让您感到有些困惑,您可以参阅每个编程语言板块头部的阅读指引图来获得确切的阅读顺序。

一些文档的开头会给出前置知识声明,如果你没有掌握这些知识,建议进行递归学习。这些前置声明和阅读指引图提供的顺序是相同的。

Algorithms and Data Structures→

最近更新
01
Linux Kernel 00 - Introduction
08-01
02
Linux Kernel 01 - Build and Run a Tiny Linux Kernel on QEMU
08-01
03
Linux Kernel 01 - Debug the Linux Kernel
08-01
更多文章>
Theme by Vdoing | Copyright © 2019-2022 JM233333 | CC BY-NC-SA 4.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式