为什么c语言是人和计算机之间的桥梁？为什么计算机可以理解c语言？
计算机不能理解C语言，它只是一个根据电信号执行功能的机器。如果没有编译器将C语言编译到机器码，计算机是无法根据C语言源代码去执行的。 就好像有人提出要求让你去做一道菜，但是你从来没做过菜，不过你还是可以通过一系列别人的指挥(非常细致的指挥！)最终做出这道菜。在这个例子中，别人提出的要求就是你写的C语言源代码，而别人细致的指挥则是机器码。 但是平常的程序员是没有必要自己去把高级语言源代码手动转机器码的，这太耗费精力和时间，而且手动转机器码也不是所有人都能做到的事情，所以就有编译器这么个东西来帮你做这件事。 只有通过编译器将源码翻译到机器码，然后通过硬件层面将机器码可执行文件转化成电信号加载到CPU中，才能真正执行这个程序。所以机器码才是人和计算机之间的桥梁。 机器码对于人来说实在是太难懂，我们用C语言，通过高级语言描述我们想让机器做的工作，这样会让人更加容易看懂自己在写什么(全是0101绝对没有高级语言来得易懂，高级语言的源代码更容易维护)，然后让编译器充当“翻译官”，得到机器码。