程序设计就是以计算机能理解的某种程序设计语言为工具,把已经设计好的数据结构和算法改写成计算机能够运行的程序。程序设计语言是一种让人与计算机之间进行交流,让计算机理解人的意图并按照人的意图完成工作的符号系统。
程序设计语言是指令或语句的集合,指令或语句是让计算机完成某项功能的命令。在机器语言或者汇编语言中,把这样的命令称为指令,在高级语言中,把这样的命令称为语句。程序设计语言经历了机器语言、汇编语言和高级语言三个阶段,其中机器语言和汇编语言都称为低级语言,而高级语言分为结构化程序设计语言、面向对象程序设计语言、可视化程序设计语言、面向人工智能的程序设计语言和数据库语言等。
1.机器语言
机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令系统的集合。这种指令集叫作机器码,是电脑的CPU可直接解读的数据。每种CPU都有自己专用的机器指令集合,这些指令能够被计算机直接执行。每个指令都有唯一的二进制编号,用来表示这些指令。每条机器语言指令只能完成一个非常简单的任务,即使是求两个数的和这样简单的工作,也需要4条机器语言指令。
一条机器语言指令是一组有意义的二进制代码。一条机器语言指令实际上包括两种信息即操作码字段和地址码字段。操作码用来表示该指令所要完成的操作(如加、减、乘、除、数据传送等),地址码用来描述该指令的操作对象或数据所在内存单元的地址。
机器语言程序示例:
程序功能:计算5+10并存储到另外一个内存单元
部分程序如下:
000001 0000000101//取一个数5到运算器中
000011 0000001010//取一个数10并加上运算器中的数5
000010 0000000110//结果存到6号内存单元中
用机器语言编写程序,程序员必须要记住每条指令对应的二进制数是什么,这是一件十分烦琐的工作。而且,编出的程序全是些0和1的指令代码,直观性差还容易出错,难学、难记、难读,因而很难用来开发实用的计算机程序。机器语言是一种依附于机器硬件的语言,不同硬件之间,代码不具备可复用性,不同型号计算机的机器语言是不相通的,按照一种计算机的机器指令编制的程序,不能在另一种计算机上执行。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。
2.汇编语言
由于机器语言难学、难记、难读,因此,在机器语言基础上出现了汇编语言(Assembly Language)。汇编语言同机器语言一样,也是一种依附于机器硬件的语言,但它采用一些可以被人读懂的助记符(多数都是英文单词及其缩写,如ADD、MOV等),而不再是机器语言中由0和1组成的数字串,所以汇编在一定程度上克服了机器语言难以辨认和记忆的缺点。相比机器语言,记忆汇编语言的指令就容易多了,编写出的程序也比较容易理解。
汇编语言程序示例:(www.daowen.com)
程序功能:计算5+10并将计算结果存储到另外一个内存单元
部分程序如下:
MOV A,5 //将5放到寄存器A中
ADD A,10 //将寄存器A中的值与10相加
MOV Z,A //将A中的数存入Z内存单元中
汇编语言和机器语言是密不可分的,由于计算机只能直接执行由机器语言编写的程序,所以使用汇编语言编写的程序称为汇编语言源程序,它首先需要翻译成功能上等价的机器语言程序,这样才可以被计算机执行,完成这种翻译工作的程序称为汇编器。
虽然汇编语言比机器语言容易理解、记忆和编写,但对大多数用户来说,助记符仍然是比较难以记忆的,而且需要编程人员对计算机的硬件结构有比较深入的了解。此外,汇编语言和机器语言一样都是依附于机器硬件的语言,不具备通用性和移植性,例如针对X86架构的汇编语言称为X86汇编语言。但汇编语言编制的程序效率非常高、运行速度快,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,所以汇编语言至今仍是一种常用而强有力的软件开发语言。
3.高级语言
为了克服汇编语言的缺点,后来人们又设计了高级程序设计语言。相比机器语言中用二进制数字串表示指令,汇编语言中用英文助记符表示指令,在高级语言中,使用英文和数学公式表示指令,使得高级语言更容易被编程人员理解和掌握,同时高级语言引入了循环语句、条件分支语句,大大提高了语言的逻辑表达能力。机器语言和汇编语言都是低级语言,这里的低级并不是语言的优劣,而是指它们的依附于机器的特性,一种计算机的机器指令编制的程序,不能在另一种计算机上执行。高级语言抽象度高,与机器相关度低(或没有相关度),使用方便、通用性强、移植性好,便于各类人员学习和使用。
高级语言程序示例:
程序功能:计算5+10并将结果存储到另外一个单元
部分程序如下:
Z=5+10//把5+10相加存入Z变量中
从这个简单的例子可以看出,用高级语言编写程序,既简单又容易理解。高级语言使编程人员专注于逻辑表达,而不像使用低级语言一样分心于具体的机器实现细节。但是低级语言是不可替代的,因为特定的机器有特定的结构,低级语言是与机器相关的语言,高级语言是与机器无关的语言,只有低级语言能够充分利用这些特定的结构来实现更高效率的程序。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。