c语言是不能直接被执行的
你从哪里听说c语言是被直接执行的?
编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言和高级语言。
由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。
计算机的语言是分层的,我们写的大多是高级语言(C, PYTHON , JAVA )然后会翻译成汇编语言,再翻译成操作系统能理解的语言,再翻译成传统机器层或者微程序机器层,最后再翻译到硬件逻辑层,给CPU 之类的硬件传递信息,让它去工作。所以我们人类高级语言程序员做的只是最上层的一步,写的代码也是硬件完全不理解的,必须通过层层翻译。实际上硬件只认识1和0,你得通过精妙的硬件设计来实现对应功能。