c语言不是个软件,c语言是一种语言
那你又会问语言是个什么东西
语言是指人与人之间用来交流的工具
那么c语言是人和机器之间用来交流的工具
好比你懂汉语和英语,而机器只懂法语
你要和机器交流,那么你只能去找一个翻译,而这个翻译懂英语和法语
所以你和这个翻译说英语,目的是把你想用汉语表达的意思传达给只懂法语的机器。那么就是比如你想要一份鸡腿,那么你直接用汉语说,翻译肯定不懂,机器更不懂,你就只能用英语说我想要鸡腿,然后翻译听懂了再把这个意思按法语翻译给机器,那么机器就懂了,原来你想要鸡腿。
所以汉语就是人类语言,英语就是c语言,而法语就是机器语言,可以理解为汇编语言,因为汇编到机器语言的编译现在已经高度集成化了。
所以你的问题完全问的不对,你的问题相当于问:英语是不是法语写成的?
你想表达的意思应该是c编译器。c编译器才是个软件,没错,你的翻译就是个法国人,他的英语不是母语。
c编译器是汇编写的。
你的问题表述有些不清楚。
你是指编写程序有编译器程序负责编译程序可执行程序,而这个编译器程序自己如何编写出来的?还是指如何编写程序?
编程软件是用程序编出来的
编程软件也是用 某种语言编写的
编程是编写程序的中文简称,就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。
计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。
这种将高级程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。
解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。
编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序,然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。