1. 计算机,本质上就是一堆能通电的电路板。

    2. 所以,在计算机中,本质中只有两种状态,高电压和低电压。

    3. 高电压表示1,低电压表示0

    4. 所以 计算机只认识01010101001010000111这种二进制

    5. 在一开始的时候,科学家怎么编程。真的就是写01010100101这种“程序”——》当年叫纸袋打孔编程。

    6. 那么问题来了,0101001010101这种程序,没人会认识,因为毫无规律可言。

    7. 于是大家就规定,每8个二进制,表示一个含义。于是,01001010101111110001
      变成了 00001010 00101101 10110011

    8. 每8个二进制,称为1位(bit),代表一个字符含义。这样,计算机就能把一堆看似毫无意义的二进制,变为有含义的东西了。

    9. 那么问题又来了,8位二进制,能组成多少种不同的组合呢?每个组合代表哪个字符呢?于是,大家制定了一个对应规则,就称之为ASCII码。这个ASCII就干了一件事,就是让不同组合的二进制 映射一个字符。比如 00110000代表“1”,00110010代表“2”。以此类推.。。

    10. 但是,谁让二进制有规律了,也无法改变二进制变成的不方便。天天写二进制,谁写谁都吐。

    11. 能不能发明一种类似于自然语言的 语言,用于变成呢?

    12. 可是计算机不认识自然语言呀?

    13. 怎么办?

    14. 找个翻译呀!!!!!

    15. 于是,编译器应运而生。

    16. 什么是编译器?一句话概括,就是把 “编程语言” 翻译成 二进制的 “翻译”。

    17. 比如你写的C语言,就是有含义的语言,但是计算机不认识c语言的语法,所以没办法运行。于是,在你的电脑上,就一定要安装一个“会说c语言的翻译”-》就是c语言编译器。你可以把它理解成:一个专门把c语言翻译成二进制机器语言的“翻译”。

    18. 这就是为什么,我们能用c语言编程的本质逻辑。 就是因为有一个编译器,能把c语言翻译成机器语言。

    19. 实际上学的的过程中你也会发现,你写的C语言,必须要先编译,然后再执行。编译是在干啥,你知道了吧。。。

    20. 同理,这世界上还有java语言的编译器,go语言的编译器,等各种编程语言的编译器。可以说,市面上的所有编程语言,都有一个编译器与之对应,用于把它翻译成机器语言。

    21. 你在电脑上用的开发软件。其实就是一个 集成了编辑器(写代码的地方),编译器(翻译代码的)工具罢了。像这样的工具还有很多很多种,你换个工具,一样可以写C语言。

    22. 所以,现在你理解了编程到底是在干啥了么?

    23. 剩下的,就是学习c语言的语法了。