cobol的象征常量

来源:互联网 发布:淘宝淘抢购是正品吗 编辑:程序博客网 时间:2024/05/01 01:17

 

表意常量又称为字义常量,或象征常数,或赋形常数,或象征常量,Figurative Constant。它是用某些英文字(保留字)来代表某些特定的常值。除了ZERO代表数值常量(数字数据)之外,其它都是字母数字字符。例如:SPACE代表空格,QUOTE代表引号等,因为从这些字的意思就可以知道它们代表的是什么值,所以,叫表意常量或者字义常量,或者象征常量。

 

表意常量所代表的值:

 

表意常量

代表的值

ZERO

ZEROS

ZEROES

 

表示一个或者多个零字符

SPACE

SPACES

表示一个或者多个空格字符

HIGH-VALUE

HIGH-VALUES

表示一个或者多个具有“最高值”的字符(每个字符的二进制表示为“11111111”)

LOW-VALUE

LOW-VALUES

表示一个或者多个具有“最小值”的字符(每个字符的二进制表示为“00000000”)

QUOTE

QUOTES

表示一个或者多个引号字符

ALL 常量

表示由一个或者多个该常量组成的字符串

ALL literal

Literal连续结合组成的字符串

ALL symbolic-character

SPECIAL-NAMES段中指定的符号连续结合而形成的字符串

 

表示字符串的表意常量的长度及其数值取决于具体的上下文。如果表意常量与数据项关联,则其长度等于该数据项的长度。如果不与另一个数据项关联,则其长度为一个字符。但是,采用ALL literal格式时其长度为数值常量的长度(与省略关键字ALL时相同)。

下面来举例说明。

如果数据项NAME的长度为5个字符,那么,对于下面的语句:

MOVE  SPACE  TO  NAME.

此时,表意常量SPACE等于5个空格组成的非数值常量。

 

对于下面的语句:

MOVE  ALL  ‘XYZ’  TO  NAME.

此时,表意常量ALL ‘XYZ’ 等于非数值常量’XYZXY’

 

再通过下面的表格进行详细说明表意常量的用法。

 

 

 

 

通过上面的例子说明:

1、             表意常量的单数形式和复数形式是等价的,如ZEROZEROSZEROES完全等价。

2、             如果将一个表意常量传递给一个数据项,则表意常量的字符长度由该数据项来决定。

3、             如果表意常量不和数据项关联,则认为表意常量的字符长度为1