由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序成为目标程序。只有目标程序才能被计算机直接识别和执行。
机器语言
机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义,例如某台计算机字长为16位,即有16个二进制数组成一条指令或其它信息。16个0和1可组成各种排列组合,通过线路变成电信号,让计算机执行各种不同的操作。
汇编语言
汇编语言:是用能够反映指令功能的助记符来表示指令的程学设计语言,用助记符来代表0、1编程,即符号化了的机器语言。
C语言
C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点。
在C里,对你而言只要知道你定义的变量名就可以,而不需要知道编译器是如何分配内存单元或者寄存器来存储你的变量。
1980年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局(American National Standard Institution)为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标准。1980年代至今的程序开发工具,一般都支持符合ANSI C的语法。
c语言写一个的程序,首先c语言编译器(compiler)将程序转化为对应的汇编,汇编器(assembler)将汇编代码转换为机器码才可运行。C语言作为一种高级语言,可以跨平台,因为同一种高级语言在不同平台的不同编译器,可以调用相对平台的汇编器来在对应平台运行。
C语言一般只比汇编程序生成的目标代码效率低10~20%。
执行效率
C相对汇编来说的优势主要在移植性上和开发效率上;程序执行效率不如汇编。(C语言一般只比汇编程序生成的目标代码效率低10~20%。)
当然也决于编程人员的水平。
如果是汇编高手,用汇编语言编写的程序效率肯定是最高的。
如果只是个普通程序员,用汇编语言编写的程序效率可能反而低,因为C语言编译器对很多常用的操作编译产生的是极其优化的汇编代码。