程序设计语言之机器语言、汇编语言、高级语言

2024-02-10 13:44

本文主要是介绍程序设计语言之机器语言、汇编语言、高级语言,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

程序设计语言

程序设计语言分类

计算机语言是程序设计最重要的工具,它是指计算机能够接收和处理的、具有一定格式的语言。

从计算机诞生至今,计算机语言已经经历了机器语言汇编语言高级语言这三个阶段

机器语言

第一代计算机语言是机器语言,它是计算机诞生和发展初期使用的语言。机器语言是由0和1组成的二进制代码,每一串二进制代码叫做一条指令。一条指令规定了计算机执行的一个操作。一台计算机所能执行的指令的集合,叫做指令系统,不同型号的计算机的指令系统不同。因此,机器语言是依赖于计算机硬件设备的,不同的计算机设备有不同的机器语言。因此,在一种类型的计算机上编写的机器语言程序,不能在另一种不同类型的计算机上运行。

这种语言编程质量高、所占空间少、执行速度快,机器语言是计算机唯一能够直接执行的语言,但不易学习和修改,且不同类型机器的机器语言不同,只适合专业人员使用,现在几乎已经没有人用机器语言直接编程了。

汇编语言

第二代计算机语言是汇编语言,它采用一定的助记符来代替机器语言中的指令和数据,又称为符号语言。它开始于20世纪50年代初,用助记符来表示每一条机器指令,如用ADD表示加法,用SUB来表示减法等。这样,每条指令都有明显的符号标识。汇编语言与机器语言相比,比较直观和便于识别记忆,但它仍是面向计算机的语言,要求编程人员对计算机硬件较熟悉,而且这种语言通用性差,不同的主机其汇编语言不同。用这种语言编程序,仍然是相当繁琐的。

汇编语言在一定程度上克服了机器语言难读难改的缺点,同时保持了其编程质量高、所占存储空间少、执行速度快的优点。故在程序设计中,对实时性要求较高的地方,如过程控制等,仍经常采用汇编语言。该语言也依赖于机器,不同的计算机一般也有着不同的汇编语言。汇编语言编制的程序称为汇编语言源程序

我们把机器语言和汇编语言统称为低级语言

高级语言

第三代计算机语言是高级语言。用高级语言编写的程序易学、易读、易修改,通用性好,不依赖于机器。

高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。高级语言的种类繁多,如面向过程的Fortran、Pascal、C等,面向对象的C++、Java、Visual BASIC等,可以从应用特点和对客观系统的描述两个方面对其进一步分类。

从应用角度分类

从应用角度来看,高级语言可以分为基础语言、结构化语言和专用语言。

基础语言:也称通用语言。它历史悠久,流传很广,有大量的已开发的软件库,拥有众多的用户,为人们所熟悉和接受。属于这类语言的有 FORTRAN、COBOL、BASIC、ALGOL等。

结构化语言:20世纪70年代以来,结构化程序设计和软件工程的思想日益为人们所接受和欣赏。在它们的影响下,先后出现了一批很有影响的结构化语言,这些结构化语言直接支持结构化的控制结构,具有很强的过程结构和数据结构能力。PASCAL、C、Ada 语言就是突出代表

专用语言:是为某种特殊应用而专门设计的语言,通常具有特殊的语法形式。一般来说,这种语言的应用范围狭窄,移植性和可维护性不如结构化程序设计语言。随着时间的发展,被使用的专业语言已有数百种,应用比较广泛的有 APL语言、Forth 语言、LISP 语言等。

从客观系统的描述分类

从描述客观系统来看,程序设计语言可以分为面向过程语言面向对象语言

面向过程语言:以“数据结构+算法”程序设计范式构成的程序设计语言,称为面向过程语
言。前面介绍的程序设计语言大多为面向过程语言。

面向对象语言:以“对象+消息”程序设计范式构成的程序设计语言,称为面向对象语言,比较流行的面向对象语言有 Visual Basic、Java、C++等

三种计算机语言的特点对比如表所示

语言种类可读性可移植性执行速度能否被计算机直接执行
机器语言
汇编语言较好较快不能
高级语言不能

这篇关于程序设计语言之机器语言、汇编语言、高级语言的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/697254

相关文章

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点