C语言和汇编语言的区别是什么?

Python015

C语言和汇编语言的区别是什么?,第1张

区别如下:

(1)两者编译组成不同。汇编语言是将由0、1组成的机器语言用具有简单语义的英文代码表示,而C语言不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等。

(2)两者被计算机识别的路径不同。汇编语言通常用于对硬件的直接操控。而且C语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行。

(3)两者用处不同。汇编语言通常用在程序中最核心的、控制硬件的代码,一方面是安全,另一方面提高运行速度。而C语言通常用在计算机外用功能上。

(4)两者学习难易程度不同。汇编语言所需要的编绘知识很多很复杂,经常被开发者使用。而C语言是一门很简单方便的语言,编程者也就不需要有太多的专业知识。

计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。计算机语言从低级到高级可以分为:

(1)机器语言,即由0、1组成的机器硬件可以识别的语言;

(2)低级语言,即汇编语言

(3)中级语言,如C语言

(4)高级语言,如C++,JAVA,C#等。

扩展资料:

如今通用的编程语言有两种形式:汇编语言和高级语言。

汇编语言和机器语言实质是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,容易识别和记忆。源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。

高级语言主要是相对于低级语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如流行的vb、vc、foxpro、delphi等,这些语言的语法、命令格式都各不相同。

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:解释类和编译类。

参考资料:计算机语言_百度百科

楼上都不懂。

C相对汇编来说的优势主要在移植性上和开发效率上。程序执行效率不如汇编。所以如果不关注程序执行效率的话,推荐用C.当然,现在绝大部分的处理器都有C编译器。

但是为什么8086上采用汇编语言呢?

最主要的的原因是,8086有足够多的通用寄存器。

为什么有足够多的通用寄存器就不需要用C了呢?

原因在于,你就不需要层层压栈来控制参数的保存和传递,而这在C里都是编译器为你自动分配的。在C里,对你而言只要知道你定义的变量名就可以,而不需要知道编译器是如何分配内存单元或者寄存器来存储你的变量。当你拥有了足够多的通用寄存器,用汇编做小程序不是更简单?

汇编语言与C语言的区别:

1、在汇编语言中,为一个处理器编写的程序不能在另一种类型的处理器上运行。在C语言程序中,程序独立于处理器类型运行。

2、汇编语言代码的性能和准确性优于C代码。

3、C语言必须提供额外的指令来在计算机上运行代码。

4、汇编语言代码比C代码难以理解和调试。

5、 一个或两个C语言语句扩展为许多汇编语言代码。

6、汇编语言可以比C别更好地进行通信某些类型的硬件操作只能通过汇编语言执行。

7、在汇编语言中,我们可以直接读取物理地址上的指针,这在C别是不可能的。

8、在汇编语言中使用位更容易。

9、汇编程序用于在汇编语言中转换代码,而编译器用于在C编译代码。

10、C语言的可执行代码大于汇编语言代码,因此执行时间较长。

11、由于长的可执行代码,C程序的效率低于汇编语言程序。

12、与汇编程序员相比,C语言程序员不需要知道处理器中的寄存器等 硬件细节。

13、最C的语言代码首先自动转换为汇编代码。