常用的高级语言
高级语言 | FORTRAN | COBOL | PASCAL | ADA | LISP | PROLOG | ALGOL | C/C++ | Java |
用途 | 数值计算 | 事务处理 | 结构程序设计 | 大型程序、嵌入式实时系统 | 函数式程序设计语言 | 逻辑程序设计 | 算法语言 | 系统程序设计 | Internet程序设计 |
高级语言的优点(与机器语言或汇编语言比较)
①较接近于数学语言和工程语言,比较直观、自然和易于理解;
②便于验证其正确性,易于改错;
③编写效率高;
④易于移植
2.1 程序语言的定义
由语法和语义定义:
语法:一组规则,定义了程序的形式结构
语义:一组规则,定义了程序的意义
程序本质上是一定字符集上的字符串。
语法:一组规则(词法规则+语法规则),用它可以形成和产生一个合式(well-formed)的程序。定义了程序的形式结构。
词法规则:单词符号的形成规则。单词符号是语言中具有独立意义的最基本结构。一般包括:常数、标识符、关键字、运算符、界符等。
描述工具:正规式,有限自动机
语法规则:语法单位的形成规则。语法单位通常包括:表达式、语句、分程序、过程、函数、程序等;
描述工具:上下文无关文法
定义语法单位的意义属于语义问题。
语义:一组规则,用它可以定义程序的意义。
程序语言的基本功能和层次结构
基本功能:描述数据和对数据的运算
层次结构:
程序语言每个组成成分的逻辑和实现意义
从数学上考虑时,我们注重它的逻辑意义;
从计算机角度来看时,我们注重它在机内的表示和实现的可能性与效率;
2.2 高级语言的一般特性
1.高级语言的分类
强制式语言(Imperative Languge)也称过程式语言:命令驱动,面向语句 【FORTRAN、C、Pascal,Ada 】
应用式语言(Applicative Language)也称函数式语言:注重程序所表示的功能,而不是一个语句接一个语句地执行 【LISP、ML】
基于规则的语言(Rule-based Language)也称逻辑式语言:检查一定的条件,当它满足值,则执行适当的动作 【Prolog】
面向对象语言(Object-Oriented Language):封装性、继承性和多态性 【Smalltalk,C++,Java 】
2.程序结构(介绍两种)
FORTRAN
特点
一个程序由一个主程序段和若干辅程序段组成。
辅程序段可以是子程序、函数段或数据块。
每个程序段有一系列的说明语句和执行语句组成。各段可以独立编译。
模块结构,没有嵌套和递归
各程序段中的名字相互独立,同一个标识符在不同的程序段中代表不同的名字。
program … //主程序
…
end
subroutine … //辅程序1
…
end
function … //辅程序2
…
end
program main //以program开头,后面接自己定义的程序的名字
implicit none //关闭默认类型,所有变量都要事先声明。(默认i~n都为int类型)
write(*,*) "hello,world!" //write方法,第一个*号代表输出位置,默认是6,即屏幕。
//第二个*号代表输出格式化设定。
pause
end //以end结尾
更多关于FORTRAN的详细的内容请看:FORTRAN入门
PASCAL
特点
PASCAL程序本身可以看成是一个操作系统所调用的过程,过程可以嵌套和递归。