清华大学出版社 TSINGHUA UNIVERSITY PRESS 第偉章概论 1.1程序设计语言 1.2程序的基本概念 1.3软件的基本概念 1.4应用系统软件的开发
第1章 概论 1.1 程序设计语言 1.2 程序的基本概念 1.3 软件的基本概念 1.4 应用系统软件的开发
清华大学出版社 TSINGHUA UNIVERSITY PRESS 1.1程序设计语言 程序设计语言的历史 德国工程师楚泽 Konrad zuse):唯一想到利用程 序设计语言来解决问题的人 程序语言列表:汇编语言、ASP、 BASIC、C、C++、 C#、 COBOL、 Delphi、 Fortran、 Fox Base、 FoxPro、 HTML、Java、 Javascript、LISP、 PASCAL、Perl PHP、 Prolog、SQL、 Visual basic、 Visual c、Ⅴ visual Foxpro、 VBScript
1.1 程序设计语言 一、 程序设计语言的历史 德国工程师 楚泽(Konrad Zuse) :唯一想到利用程 序设计语言来解决问题的人 程序语言列表 :汇编语言、ASP、BASIC、C、C++、 C# 、COBOL 、Delphi 、Fortran 、FoxBase、FoxPro、 HTML、Java、JavaScript 、 LISP 、PASCAL、Perl、 PHP 、Prolog 、SQL、Visual Basic 、Visual C 、Visual Foxpro、VBScript
清华大学出版社 TSINGHUA UNIVERSITY PRESS 程序设计语言的分类 程序设计语言可以从不同的角度进行分类。 从发展过程分 机器语言、汇编语言、高级语言、第四代语言、 第五代语言 从应用范围分 通用语言、专用语言 从程序设计方法分 结构化语言、模块化语言、面向对象语言
二、 程序设计语言的分类 程序设计语言可以从不同的角度进行分类。 从发展过程分 机器语言、汇编语言、高级语言、第四代语言、 第五代语言 从应用范围分 通用语言、专用语言 从程序设计方法分 结构化语言、模块化语言、面向对象语言
清华大学出版社 TSINGHUA UNIVERSITY PRESS 1.1.2高级程序设计语言概述 机器码→汇编语言→高级语言 编译,解释 把高级语言程序翻译成机器语言程序有两种做法: 编译和解释 相应的翻译工具也分别叫做编译器和解释器
把高级语言程序翻译成机器语言程序有两种做法: 编译 和 解释 相应的翻译工具也分别叫做编译器和解释器。 1.1.2 高级程序设计语言概述 机器码→汇编语言→高级语言 编译,解释
清华大学出版社 TSINGHUA UNIVERSITY PRESS 1.编译器工作原理 编译器逐行扫描高级语言程序源程序,编译过 程如下: ①词法分析 Lexical analysis ②语法分析( Syntax Analysis) ③语义分析( Semantic Analysis)。 ④中间代码生成。 ⑤优化。 ⑥代码生成
1.编译器工作原理 编译器逐行扫描高级语言程序源程序,编译过 程如下: ①词法分析(Lexical Analysis)。 ②语法分析 (Syntax Analysis)。 ③语义分析 (Semantic Analysis)。 ④中间代码生成。 ⑤优化。 ⑥代码生成
清华大学出版社 TSINGHUA UNIVERSITY PRESS 高级语言源程序经编译后得到目标码程序,还不 能立即装入机器执行,因为程序中如果用到标准函数 (它们生成的目标码已存放在模块库中),还需对编 译后得到的目标模块进行连接。 源程序c 目标程序obi 可执行文件exe 结果 编译 连接 执行 常见的程序设计语言,如CC++、 Pascal Fortran等都是编译型语言
高级语言源程序经编译后得到目标码程序,还不 能立即装入机器执行,因为程序中如果用到标准函数 (它们生成的目标码已存放在模块库中),还需对编 译后得到的目标模块进行连接。 常见的程序设计语言,如C/C++、Pascal、 Fortran等都是编译型语言。 源程序.c 目标程序.obj 可执行文件.exe 结果 编译 连接 执行
清华大学出版社 TSINGHUA UNIVERSITY PRESS 2.高级语言程序的解释执行 源代码逐句读入,分析检查后把每一语句压入执 行堆栈,并立即解释执行 采用解释执行的语言:操作系统的命令、Ⅴ isual Basic、Java、 JavaScript都是解释执行的(其中有些语 言也可以编译执行) 解释执行的优缺点:解释器不大,工作空间也不大, 不过,解释执行难于优化、效率较低,这是这类语言 的致命缺点
2.高级语言程序的解释执行 源代码逐句读入,分析检查后把每一语句压入执 行堆栈,并立即解释执行。 采用解释执行的语言:操作系统的命令、Visual Basic、Java、JavaScript都是解释执行的(其中有些语 言也可以编译执行)。 解释执行的优缺点:解释器不大,工作空间也不大, 不过,解释执行难于优化、效率较低,这是这类语言 的致命缺点
清华大学出版社 TSINGHUA UNIVERSITY PRESS 3.高级程序设计语言的基本特征 1)变量、表达式和赋值 2)程序的控制结构 3)数据类型 4)指针类型 5)过程 6)输入/输出
3. 高级程序设计语言的基本特征 1)变量、表达式和赋值 2)程序的控制结构 3)数据类型 4)指针类型 5)过程 6)输入/输出
清华大学出版社 TSINGHUA UNIVERSITY PRESS 1.1.3程序设计语言的评价标准 (1)用户界面好,操作简便; (2)对硬件、软件环境要求低; (3)对硬件资源利用的程度高; (4代码质量高,目标程序运行速度快,可靠性高,结 构化性能高,可读性好; (5应用范围广泛; (6调用其它软件容易; (7)自身发展快
1.1.3 程序设计语言的评价标准 (1)用户界面好,操作简便; (2)对硬件、软件环境要求低; (3)对硬件资源利用的程度高; (4)代码质量高,目标程序运行速度快,可靠性高,结 构化性能高,可读性好; (5)应用范围广泛; (6)调用其它软件容易; (7)自身发展快
清华大学出版社 TSINGHUA UNIVERSITY PRESS 1.4程序设计语言的选择标准 1)应用范围 在科学计算领域, FORTRAN常常是首选语言。 在事务处理方面,Ⅴ isual Basic语言是较理想的选择 在实时处理方面,选择汇编语言及C语言较合适。 在开发系统软件方面,可选择Ⅴ Visual o++、Ⅴ isual j++、 Borland C++、Ⅴ isual basic、 JBuilder、 Delphi及C++ Builder等语言。 如果开发的软件中含有大量的数据操作,则可采用SQL、 Visual Foxpro等数据库语言。 在网络开发中,Web服务器软件可以选择 Microsoft司的IS、 pache组织开发的 Apache服务器等。 2)算法及计算复杂性 3)数据结构 4效率
1.1.4程序设计语言的选择标准 1)应用范围 在科学计算领域,FORTRAN常常是首选语言。 在事务处理方面,VisualBasic语言是较理想的选择 在实时处理方面,选择汇编语言及C语言较合适。 在开发系统软件方面,可选择Visual C++、Visual J++、Borland C++、Visual Basic、JBuilder、Delphi及C++Builder等语言。 如果开发的软件中含有大量的数据操作,则可采用SQL、Visual Foxpro等数据库语言。 在网络开发中, Web服务器软件可以选择Microsoft公司的IIS、 Apache组织开发的Apache服务器等。 2)算法及计算复杂性 3)数据结构 4)效率