文档介绍:算法和程序设计
程序设计语言分类
程序设计语言的组成
程序设计算法
//数据结构
常用程序设计语言
程序设计语言分类
程序设计语言 --填补了人与计算机交流的鸿沟
计算机硬件仅仅知道0和1
有问题需要计算机解决的人
交流的鸿沟
计算机硬件仅仅知道0和1
有问题需要计算机解决的人
程序设计语言
计算机中使用多种“语言”
程序设计语言:主要用于描述算法
机器语言、汇编语言、高级语言
数据描述语言:主要用于描述数据(文档、音乐、图形、图像、视频等)的规范、结构和文件格式
HTML、XML、MIDI、MP3、OpenGL、JPEG、MPEG、······
脚本语言:用于编写嵌入在文档中的程序的程序设计语言
VBA、VBScript、JavaScript
计算机通信语言(通信协议):用于描述计算机-计算机之间的会话(请求-应答)的语法和语义
HTTP、POP3、SMTP、 FTP、、TCP、IP、······
数据库语言:用于数据操作,如SQL语言
······
B8 7F 01
BB 21 02
03 D8
B8 1F 04
2B C3
(计算1055-(383+545)的5条机器指令)
机器语言
机器语言就是计算机的指令系统
指令是使用二进制编码表示的
用机器语言编程序, 也就是直接使用二进制代码编写程序
优点:
可以直接被计算机执行
缺点:
记不住、难理解、效率低、不易维护
不同的机器语言程序,相互不兼容
现在已不直接用机器语言编制程序!
操作码
操作数(或操作数的地址)
1条机器指令
操作数地址
操作码
例:机器语言程序
在MIPS计算机上求最大公约数(GCD)的机器程序(16进制表示)
MISP计算机的每条机器指令均为32个二进位,用8个16进制数表示
汇编语言
用助记符号来表示机器指令中的操作符与操作数
优点:
操作数直接使用十进制
程序相对容易理解
缺点:
大型程序难以开发
依赖于具体计算机
将383传送到AX寄存器
将545传送到BX寄存器
将BX内容加AX内容,结果在BX中
将1055传送到AX寄存器
将AX内容减BX内容,结果在AX中
B8 7F 01
BB 21 02
03 D8
B8 1F 04
2B C3
(计算1055-(383+545)的5条机器指令)
机器语言程序
对应的汇编语言程序
MOV AX 383
MOV BX 545
ADD BX AX
MOV AX 1055
SUB AX BX
汇编语言程序
高级程序设计语言
目的:克服汇编语言的缺陷,提高编程和维护的效率
特点:
接近人们日常使用的自然语言(主要是英语)容易理解、记忆和使用
可在不同计算机上通用
对使用的符号、词汇、语法和语义等各种语言成分都有严格的规定
意义:使程序设计的难度降低,导致了计算机的发展进入新的阶段
MOV AX 383
MOV BX 545
ADD BX AX
MOV AX 1055
SUB AX BX
汇编语言程序
S=1055-(383+545)
程序设计语言的翻译程序
把甲语言编写的程序翻译为等价的乙语言编写的程序。其中甲语言程序称为源程序,乙语言程序称为目标程序
翻译程序
源程序
目标程序
常用的有下列几种:
汇编程序
(汇编器)
汇编语言源程序
机器语言目标程序
编译程序
(编译器)
高级语言源程序
机器语言或汇编语言目标程序
解释程序
(解释器)
高级语言源程序
边解释边执行,
不产生目标程序
编译程序与解释程序的区别
解释:解释器直接解释并且执行源语言程序,不产生目标程序(相当于“口译”)
编译:把源程序编译为机器语言目标程序后,再由计算机运行(相当于“笔译”)
源程序
目标程序
编译器
计算机
编译方式
计算机
源程序
解释器
解释方式
BASIC、Visual Basic、VBScript、Java、JavaScript等都是解释执行的语言
C、C++等都是需要编译的语言