32
3.3 程程程程程程 程程程程程3.3.1 程程程程程程程程 3.3.2 程程程程程程程程程 3.3.3 程程程程程程程程程3.3.4 程程程程程程程程程程

3.3 程序设计语言 及其处理系统

  • Upload
    caden

  • View
    104

  • Download
    0

Embed Size (px)

DESCRIPTION

3.3 程序设计语言 及其处理系统. 3.3.1 程序设计语言分类 3.3.2 程序设计语言的组成 3.3.3 程序设计语言处理系统 3.3.4 常用程序设计语言介绍. 什么是程序设计语言?. 什么是程序? 程序是为了用计算机解决某个问题而采用 程序设计语言 编写的一个指令序列 什么是程序设计语言? 语言的目的是用于通信 程序设计语言用于人与计算机之间的通信 程序设计语言是由人使用但计算机可以理解的一种语言 程序设计语言用于编制程序,表达需要计算机完成什么任务和怎样完成任务,然后交给计算机去完成. 程序设计语言. - PowerPoint PPT Presentation

Citation preview

Page 1: 3.3    程序设计语言         及其处理系统

3.3 程序设计语言 及其处理系统

3.3.1 程序设计语言分类 3.3.2 程序设计语言的组成3.3.3 程序设计语言处理系统 3.3.4 常用程序设计语言介绍

Page 2: 3.3    程序设计语言         及其处理系统

2 3.3 程序设计语言

什么是程序设计语言? 什么是程序?

程序是为了用计算机解决某个问题而采用程序设计语言编写的一个指令序列

什么是程序设计语言? 语言的目的是用于通信 程序设计语言用于人与计算机之间的通信 程序设计语言是由人使用但计算机可以理解的一种

语言 程序设计语言用于编制程序,表达需要计算机完成

什么任务和怎样完成任务,然后交给计算机去完成

Page 3: 3.3    程序设计语言         及其处理系统

3 3.3 程序设计语言

程序设计语言填补了 人与计算机交流的鸿沟

计算机硬件仅仅知道 0 和 1

有 问 题 需 要计 算 机 解 决的人

交流的鸿沟 计算机硬件仅仅知道 0 和 1

有 问 题 需 要计 算 机 解 决的人

程序设计语言

Page 4: 3.3    程序设计语言         及其处理系统

4 3.3 程序设计语言

计算机中使用多种“语言” 程序设计语言:主要用于描述算法

机器语言、汇编语言、高级语言

数据描述语言:主要用于描述数据(文档、音乐、图形、图像、视频等)的规范、结构和文件格式 HTML 、 XML 、 MIDI 、 MP3 、 OpenGL 、 JPEG 、 MPEG 、 ······

脚本语言:用于编写嵌入在文档中的程序的程序设计语言 VBA 、 VBScript 、 JavaScript

计算机通信语言(通信协议):用于描述计算机 - 计算机之间的会话(请求 - 应答)的语法和语义 HTTP 、 POP3 、 SMTP 、 FTP 、 Telnet 、 TCP 、 IP 、 ······

数据库语言:用于数据操作,如 SQL 语言 ······

Page 5: 3.3    程序设计语言         及其处理系统

5 3.3 程序设计语言

3.3.1 程序设计语言分类 机器语言 汇编语言 高级程序设计语言

Page 6: 3.3    程序设计语言         及其处理系统

6 3.3 程序设计语言

B8 7F 01BB 21 0203 D8B8 1F 042B C3

(计算 1055-(383+545) 的 5 条机器指令)

机器语言 机器语言就是计算机的指令系统 指令是使用二进制编码表示的 用机器语言编程序 , 也就是直接使用二进制代码编写

程序 优点:

可以直接被计算机执行 缺点:

记不住、难理解、效率低、不易维护 不同的机器语言程序,相互不兼容

现在已不直接用机器语言编制程序!

操作码 操作数 ( 或操作数的地址 )

1 条机器指令

操作数地址

操作码

Page 7: 3.3    程序设计语言         及其处理系统

7 3.3 程序设计语言

例:机器语言程序 在 MIPS 计算机上求最大共约数( GCD )的机

器程序( 16 进制表示)

MISP 计算机的每条机器指令均为 32 个二进位,用 8 个 16 进制数表示

Page 8: 3.3    程序设计语言         及其处理系统

8 3.3 程序设计语言

汇编语言 用助记符号来表示机器指令

中的操作符与操作数

优点: 操作数直接使用十进制 程序相对容易理解

缺点: 大型程序难以开发 依赖于具体计算机

将 383 传送到 AX 寄存器将 545 传送到 BX 寄存器将 BX 内容加 AX 内容,结果在 BX中将 1055 传送到 AX 寄存器将 AX 内容减 BX 内容,结果在 AX寄存器中

B8 7F 01BB 21 0203 D8B8 1F 042B C3

(计算 1055-(383+545) 的 5 条机器指令)

机器语言程序

对应的汇编语言程序

MOV AX 383

MOV BX 545

ADD BX AX

MOV AX 1055

SUB AX BX

汇编语言程

Page 9: 3.3    程序设计语言         及其处理系统

9 3.3 程序设计语言

高级程序设计语言 目的:克服汇编语言的缺陷,提高

编程和维护的效率 特点:

接近人们日常使用的自然语言(主要是英语)容易理解、记忆和使用

可在不同计算机上通用 对使用的符号、词汇、语法和

语义等各种语言成分都有严格的规定

意义:使程序设计的难度降低,导致了计算机的发展进入新的阶段

MOV AX 383

MOV BX 545

ADD BX AX

MOV AX 1055

SUB AX BX

汇编语言程序

S=1055-(383+545)

Page 10: 3.3    程序设计语言         及其处理系统

10 3.3 程序设计语言

高级程序设计语言的发展 50 年代: Fortran , ALGOL

60 年代: COBOL 语言, BASIC 语言

70 年代: Pascal 语言, C 语言

80 年代: Ada 语言, PROLOG 语言, LISP 语言

90 年代起:面向对象语言 C++ 、 JAVA 、 C#

Page 11: 3.3    程序设计语言         及其处理系统

11 3.3 程序设计语言

3.3.2 程序设计语言的成分

Page 12: 3.3    程序设计语言         及其处理系统

12 3.3 程序设计语言

程序设计语言的要素 字符集(大多使用 ASCII 字符集) 词汇:

保留词 运算符 分隔符 标识符

语法:词法和句法 语义:

32 保留词: ( 由系统定义,不能再作其它定义 )auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while

( C 语言的保留词)

Page 13: 3.3    程序设计语言         及其处理系统

13 3.3 程序设计语言

程序设计语言的 4 种基本成分 数据成分:

用于描述程序所涉及的对象——数据 运算成分:

用以描述程序中所包含的运算(算术运算、逻辑运算、字符串运算等)

控制成分: 用以控制程序中所含语句的执行顺序

传输成分: 用以描述程序中的数据传输操作

Page 14: 3.3    程序设计语言         及其处理系统

14 3.3 程序设计语言

程序语言中的数据成分 数据是客观事物在计算机内

的 ( 格式化 ) 表示,是程序所操作和处理的对象

程序中的数据通常应该先说明、后使用

数据说明的内容包括: 变量还是常量 它们的标识符 ( 符号表示 )

它们的数据类型 ······

整型

基本类型

算术类型

字符类型逻辑类型

实型

复合类型

数组指针

……

用户定义类型

例: C 语言中的数据类型

Page 15: 3.3    程序设计语言         及其处理系统

15 3.3 程序设计语言

什么是数据类型 (data type) ? 数据类型:用于刻画数据的特性——数据的取值范围和允许对

它进行哪些操作 C 语言通常支持下列基本数据类型:类型说明符 类型名称 字长 取 值 范 围 可执行的操作

bool逻辑型 ( 布尔型 )

4(1)B true, false 逻辑操作

char 字符型 1B -128 ~ 127(0 ~ 255) 比较操作

int 整型 4B-2147483648 ~2147483647

算术和比较操作

long [int] 长整型 4(8)B-2147483648 ~2147483647

算术和比较操作

float 单精度浮点型 4B6 位有效数字, 2.0 x 10-38 ~2.0 x 1038

算术和比较操作

double 双精度浮点型 8B12 位有效数字, 2.0 x 10-308

~ 2.0 x 10308 算术和比较操作

(基本数据类型是大部分 CPU 能直接支持的数据类型,也称为内部类型,是不可分解的)

Page 16: 3.3    程序设计语言         及其处理系统

16 3.3 程序设计语言

复合数据类型 通过类型构造符把 1 个或多个更简单的类型复合而成的数据类型 常见的复合数据类型有:

数组(含:字符数组——字符串) 结构 ( 记录 ) 指针 集合 枚举 联合 (变体记录 ) 程序员定义的其它数据类型 ( 定制类型 )

数据类型的概念在各种程序设计语言中几乎都有,目的是实现信息的隐蔽,将程序员不必了解的细节都封装在数据类型中 例如使用浮点数类型时,可不必了解浮点数在 CPU 中如何表示,如何完成运算,只需了解其数学特性即可

int I; int *p=&i; 3

指针变量 p 变量 i

Page 17: 3.3    程序设计语言         及其处理系统

17 3.3 程序设计语言

算术运算符: + - * / % ++ --关系运算符: < <= == > >= !=逻辑运算符:! && ||位运算符 : << >> ~ | ^ &赋值运算符: = 及其扩展条件运算符: ?:逗号运算符: ,指针运算符: * &求字节数 : sizeof强制类型转换: ( 类型)分量运算符: . ->下标运算符: []其它 : ( ) -

运算成分:运算符和表达式

“ 表达式”由变量、常量、函数、运算符和括号组成 ,它用来计算一个值。例如,

sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1)

用来计算下面公式的值:

1

10e45

10

yx

lnsin

Page 18: 3.3    程序设计语言         及其处理系统

18 3.3 程序设计语言

程序语言中的控制成分控制成分用来提供一种基本框架,在此基本框架

的支持下,将数据和对数据的运算组合成程序三种控制结构:

由一组顺序执行的计算操作 ( 或语句 ) 组成

顺序结构

A

B

由一个条件 ( P ) 和两个供选择的操作( 或语句 )A和B组成

P

A B

真 假条件选择结构

由一个条件 ( P ) 和一个供重复执行的操作 ( 或语句 )A组成

P

A

重复结构

Page 19: 3.3    程序设计语言         及其处理系统

19 3.3 程序设计语言

例: C 语言的 9 种控制语句 If ( P ) A ; else B 实现条件选择结构 for ( P1 ; P2 ; P3 ) A 实现重复结构 while ( P ) A 实现重复结构 do A while ( P ) 实现重复结构 switch 实现条件选择结构 goto 无条件选择结构 return 无条件选择结构 continue break

Page 20: 3.3    程序设计语言         及其处理系统

20 3.3 程序设计语言

例 1 两数求和 (C 语言程序 )

/* example1.1 calculate the sum of a and b*/#include <stdio.h>/* This is the main program */main(){ int a,b,sum; a=10; b=24; sum=a+b; printf(”sum= %d\n",sum);}

运算语句

预处理命令注释

赋值语句数据类型说明

输出语句

Page 21: 3.3    程序设计语言         及其处理系统

21 3.3 程序设计语言

int max(int x,int y){int z; if(x>=y) z=x; else z=y; return(z);}

函数 max 的定义

函数的返回值

例 2 找两数中较大的数

main( ){int a,b,c; scanf("%d%d",&a,&b); c = max(a,b); printf(”%d\n",c); }

主函数

调用函数 max 进行计算

变量说明输入语句

输出语句

Page 22: 3.3    程序设计语言         及其处理系统

22 3.3 程序设计语言

3.3.3 程序设计语言 处理系统

Page 23: 3.3    程序设计语言         及其处理系统

23 3.3 程序设计语言

程序设计语言的翻译程序 把甲语言编写的程序翻译为等价的乙语言编写的程序。

其中甲语言程序称为源程序,乙语言程序称为目标程序

翻译程序源程序 目标程序

常用的有下列几种:

汇编程序( 汇编器 )

汇编语言源程序

机器语言目标程序

编译程序( 编译器 )

高级语言源程序

机器语言或汇编语言目标程序

解释程序( 解释器 )

高级语言源程序

边解释边执行,不产生目标程序

Page 24: 3.3    程序设计语言         及其处理系统

24 3.3 程序设计语言

编译程序与解释程序的区别 解释:解释器直接解释并且执行源语言程序,不产生目标程序(相当于“口译”)

编译:把源程序编译为机器语言目标程序后,再由计算机运行(相当于“笔译”)

源程序

目标程序

编译器

计算机

编译方式

计算机

源程序解释器

解释方式

BASIC 、 Visual Basic 、 VBScript 、Java 、 JavaScript等都是解释执行的语言

C 、 C++ 等都是需要编译的语言

Page 25: 3.3    程序设计语言         及其处理系统

25 3.3 程序设计语言

编译程序的处理过程

源程序 目标程序可执行代码

程序库

编译程序 链接程序

.c

.h

.obj

.exe

1. 编辑 2. 编译 3.链接 4. 运行

Page 26: 3.3    程序设计语言         及其处理系统

26 3.3 程序设计语言

3.3.4 常用程序设计语言介绍

Page 27: 3.3    程序设计语言         及其处理系统

27 3.3 程序设计语言

FORTRAN 语言 FORTRAN 是 FORmula TRANslation (公式翻译)的缩写词,它是一种主要用于数值计算的面向过程的程序设计语言。 FORTRAN 语言的特点是接近数学公式,简单易用

目前最新的国际标准是 FORTRAN 2003

Page 28: 3.3    程序设计语言         及其处理系统

28 3.3 程序设计语言

BASIC 和 Visual Basic 语言 BASIC 语言的特点是简单易学 Visual BASIC(VB) 语言是微软公司基于 BASIC

发展而来的一种程序设计语言,特点是: 是一种可视化的、面向对象的、采用事件驱动方式

的结构化高级程序设计语言 具有高效率、简单易学及功能强大的特点 可以高效、快速地开发 Windows 环境下功能强大、

图形界面丰富的应用软件

Page 29: 3.3    程序设计语言         及其处理系统

29 3.3 程序设计语言

资料: VBA 和 VBScript VBA ( Visual Basic for Application )

VB 的子集,包含在 Office软件(如 Word 、 Excel 、 Access 、Power Point )中

用途:扩展 Office软件的功能 特点:寄生于已有的应用程序(如 Word ),不需要另外的开

发环境,也不能生成 .exe 文件,所开发出来的程序(称为“宏”)必须由它的宿主程序调用才能运行

VBScript 语言 也是 VB 的子集,嵌入在 HTML 文档中使用 所编写的脚本程序可以扩充网页的功能,例如:

动态修改网页的内容和控制文档的展现 检验用户的输入信息是否正确等

Page 30: 3.3    程序设计语言         及其处理系统

30 3.3 程序设计语言

Java 语言 由 SUN Microsystem公司于 1995 年发布的一种面

向对象的、用于网络环境的程序设计语言 基本特征:

适用于网络分布环境 具有一定的平台独立性 安全性和稳定性好

应用举例: 从网络下载到浏览器中运行的跨平台小程序 Java

applets

便携式数字设备 ( 如手机 ) 中的应用程序

Page 31: 3.3    程序设计语言         及其处理系统

31 3.3 程序设计语言

C 语言和 C++ 语言 C 语言是 1972 ~ 1973 年间由 AT & T公司 Bell实验室开发而成

C 语言兼有高级语言的优点和汇编语言的效率,有效地处理了简洁性和实用性、可移植性和高效性之间的矛盾

C++ 语言以 C 语言为基础发展而成,既有数据抽象和面向对象能力,运行性能高,又能与 C 语言兼容,因而 C++ 语言迅速流行,成为当前面向对象程序设计的主流语言

Page 32: 3.3    程序设计语言         及其处理系统

32 3.3 程序设计语言

计算机软件技术有哪些内容? 程序设计语言 编译技术 软件及实现技术 操作系统 计算机 数据库技术 软件技术 软件工具 算法和数据结构 软件开发方法与技术 程序设计方法

软件工程