c语言是汇编语言,C语言是汇编语言吗

dfnjsfkhak 29 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言汇编语言问题,于是小编就整理了2个相关介绍c语言是汇编语言的解答,让我们一起看看吧。

  1. 汇编语言和C语言有什么区别?
  2. C语言本身是用什么语言写的?

汇编语言和C语言有什么区别?

汇编语言就是电脑工作指令,属于机器语言,而C语言是在汇编语言之上的,并且C语言需要编译器转化为电脑可识别的工作指令,才能使电脑执行相应的任务

他们的指令集,寻址方式不同,相当于两个机器各有各的操作方式汇编语言是低级语言,在编写程序时候会把根据不同的情况指定使用不同的寻址方式,能够对内存和CPU里的通用寄存器直接操纵。不同的计算机系列会有不同的汇编语言而C语言是高级语言,可以实现跨平台。编写程序无需指定CPU的指令执行情况,一段程序可以在不同体系结构计算机上使用

c语言是汇编语言,C语言是汇编语言吗-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

希望我的回答对你有帮助。

C语言本身是用什么语言写的?

C语言本身是基于英语的。C语言的创始人丹尼斯里奇是美国人,哈佛大学毕业。

比如C语言里的数据定义int出自于integer;比如结构语句:if... else... 等等。

c语言是汇编语言,C语言是汇编语言吗-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

既然你能提出这个级别的问题,说明你应该学过C。既然你能提出这个级别的问题,说明你没学过编译原理(或者全还给老师了[捂脸],容我不厚道一下下)。

你所谓的"C语言",准确来说,指的是能把C语言程序翻译成机器指令程序的"编译器"程序。

先用汇编写一个极小的原始编译器(AC),能编译最简单的C语法然后用该原始编译器AC编译一个最简单的C编译器(CC1)。然后用CC1编译一个稍微复杂一点的C编译器(CC2)。最终,像滚雪球一样,C语言就把一个拥有完全编译功能的C编译器给编译出来了。

c语言是汇编语言,C语言是汇编语言吗-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

推荐资料:陈火旺老师的经典教材《编译原理》,开篇讲的就是这个问题。

C语言最早是由丹尼斯·里奇(Dennis Ritchie)在20世纪70年代开发的。C语言本身是用汇编语言(assembly language)和机器语言(machine language)编写的。在C语言编写完毕之后,它被编译成机器语言,形成C编译器(C compiler)。通常情况下,C编译器使用汇编语言和机器语言编写,以各种形式存在于计算机系统中。

是用C语言编写的。

这里有一个概念,就是编程语言的自举。

自举(bootstrapping)字面理解就是自己能把自己给举起来,换做编程语言来讲就是,自己编译自己。也就是C语言能通过C语言自己编写自己的编译器。

完成自举通常需要3-4个步骤。

1、创建自举编译器环境

2、编译自举编译器。

3、通过自举编译器编译完整的编译器。

4、通过第三步里面的完整的编译器编译完整的编译器。

第四步得到的编译器就是一个自举编译器。

那么问题来了,第2步中的编译器是什么语言写的呢,是这么来的呢?

最早的计算机语言是机器语言,直接面向计算机硬件。虽然指令不多,但实现特定任务需要编制复杂的程序。由于缺乏存储系统,程序存储于纸带上。随着存储介质的发展和程序模块化演变,计算机语言由低级向高级不断发展。尤其是视窗操作系统的出现,使得计算机对更加友好。

到此,以上就是小编对于c语言是汇编语言的问题就介绍到这了,希望介绍关于c语言是汇编语言的2点解答对大家有用

标签: 语言 编译器 汇编语言