程序设计语言的基本成分
- 1、程序设计语言的数据成分
- 2、程序设计语言的运算成分
- 3、程序设计语言的控制成分
- 4、程序设计语言的传输成分
程序设计语言的基本成分包括数据、运算、控制和传输等。
1、程序设计语言的数据成分
程序设计语言的数据成分指一种程序设计语言的数据类型。数据对象总是对应着应用系统中某些有意义的东西,数据表示则指明了程序中值的组织形式。数据类型用于代表数据对象,还用于在基础机器中完成对值的布局,同时还可用于检查表达式中对运算的应用是否正确。
数据是程序操作的对象,具有存储类别、类型、名称、作用域和生存期等属性,在使用时要为它分配内存空间。数据名称由用户通过标识符命名,标识符是由字母、数字和下划线""组成的标记;类型说明数据占用内存的大小和存放形式;存储类别说明数据在内存中的位置和生存期;作用域则说明可以使用数据的代码范围;生存期说明数据占用内存的时间特点。从不同角度可将数据进行不同的划分。
1)常量和变量
按照程序运行时数据的值能否改变,将数据分为常量和变量。程序中的数据对象可以具有左值和(或)右值,左值指存储单元(或地址、容器),右值是值(或内容)。变量具有左值和右值,在程序运行过程中其右值可以改变;常量只有右值,在程序运行过程中其右值不能改变。
2)全局量和局部量
数据按在程序代码中的作用范围(作用域)可分为全局量和局部量。一般情况下,全局变量的作用域为整个文件或程序,系统为全局变量分配的存储空间在程序运行的过程中是不改变的,局部变量的作用域为定义它的函数或语句块,为局部变量分配的存储单元是动态改变的。
3)数据类型
按照数据组织形式的不同可将数据分为基本类型、用户定义类型、构造类型及其他类型。C(C++)的数据类型如下。
(1)基本类型:整型(int)、字符型(char)、实型(float、double)和布尔类型(bool)。
(2)特殊类型:空类型(void)。
(3)用户定义类型:枚举类型(enum)。
(4)构造类型:数组、结构、联合。
(5)指针类型:type*。
(6)抽象数据类型:类类型。
其中,布尔类型和类类型由C++语言提供。
2、程序设计语言的运算成分
程序设计语言的运算成分指明允许使用的运算符号及运算规则。大多数高级程序设计语言的基本运算可以分成算术运算、关系运算和逻辑运算等,有些语言(如 C、C++)还提供位运算。运算符号的使用与数据类型密切相关。为了明确运算结果,运算符号要规定优先级和结合性,必要时还要使用圆括号。
3、程序设计语言的控制成分
控制成分指明语言允许表述的控制结构,程序员使用控制成分来构造程序中的控制逻辑。理论上已经证明,可计算问题的程序都可以用顺序、选择和循环这3种控制结构来描述。
1)顺序结构
顺序结构用来表示一个计算操作序列。计算过程从所描述的第一个操作开始,按顺序依次执行后续的操作,直到序列的最后一个操作,如下图所示。在顺序结构内也可以包含其他控制结构。
2)选择结构
选择结构提供了在两种或多种分支中选择其中一个的逻辑。基本的选择结构是指定一个条件P,然后根据条件的成立与否决定控制流计算A还是计算B,从两个分支中选择一个执行,如下图所示。
选择结构中的计算A或计算B还可以包含顺序、选择和重复结构。程序设计语言中还通常提供简化了的选择结构,也就是没有计算B的分支结构,如下图所示。
3)循环结构
循环结构描述了重复计算的过程,通常由三部分组成:初始化、循环体和循环条件,其中初始化部分有时在控制的逻辑结构中不进行显式的表示。循环结构主要有两种形式:while型循环结构和do-while型循环结构。
while型结构的逻辑含义是先判断条件P,若成立,则执行循环体A,然后再去判断循环条件,否则控制流就退出重复结构,如下图所示。
do-while 型结构的逻辑含义是先执行循环体A,再判断条件P,若成则继续执行A,然后再判断条件P,否则控制流就退出循环结构,如下图所示。
4、程序设计语言的传输成分
程序设计语言的传输成分指明语言允许的数据传输方式,如赋值处理、数据的输入和输出等。