PL1基础入门教程(2)

2019-07-13 18:59

1.2.1定点十进数(FD)、定点二进数(FB)和PIC间的转换

例: DCL A PIC‘99’

DCL B PIC‘99’

DCL C PIC‘99’

C==A+B

则为欲求得C,须经:

A FIXED DEC,

B FIXED DEC

A_FD + B_FD

FIXED DEC PIC 赋予C

在算术运算时,必须转为FIXED DEC 才能进行

转换表

R C FB FD PIC FB —— C FB

C FD FD FB FD

R FB —— C FD PIC

R FD

FD FB R FD

C FD R FD

注:一般金额采用 FIXED DEC

整数采用 FIXED BIN

PIC用于 输入/输出 它是字符与算术数据间的桥梁。

1.3 串数据(String data)

1.3.1 字符串数据(Character String data)

值 PL/1写法 存贮形式

‘ABC’ CHAR(6) C1,C2,C3,40,40,40

‘A102’ CHAR(4) C1,F1,F0,F2

‘A’ CHAR(4) C1,40,40,40

2 字符串数据通常在程序内赋值时用.

例: X==‘THIS REPORT IS ’

2 赋值时,字符串数据括于单引号内

2 赋值时,在字符串右边不足部分,系统自动以“空白 ”符补足

例: DCL X CHAR(5)

… …

X =‘A’; X值会是 A后跟随4个空格

2 字符串内出现单引号时,必须以两个单引号(称为Null String)表示,否则会引起

混淆。

例: 设赋值给X,其值为:JOHN’S CAP

则必须写为 X==‘JOHN’’S CAP’

(注:若写为X==‘JOHN’S CAP’,则S CAP’被略)

2 重复的字符串数据可用重复因子表示

例: X==(N)’BCC ‘表示X有值为 BCC ,BCC ,…….(N个)

1) 重复因子必须放在括号内;

2) 重复因子只对紧接的一个字符生效

例: PIC’(4)AB’ 乃表示PIC’AAAAB’

2 CHARACTER PICTURE SPECIFICATION

PIC’9’表示数字0~9

PIC’A’表示字母A~z

PIC’X’表示仸何字符

1.3.2 (二进)位串数据(BIT String data)

值 PL/I写法 存贮形式

‘1’B BIT(1) 占1字符

‘1111’B BIT(4) 占1字符

(64)’0’B BIT(64) 占8字符

2 位串数据赋给变量是从左到右进行,若串数据长度,超过变量说明的长度,则以变量

长度为准,截去串数据右端的位;若串数据长度短于变量说明的长度,也以变量长度

为准,右边自动以0补足.

2 位串数据通常用于检查 真/假 条件

真 TRUE_______’1’B

假 FALSE_______’0’B

例: DCL EOF BIT(1)

——–

__在检查“真”时可写:IF EOF=‘1’B 或 IF EOF

—在检查“假”时可写:IF EOF=‘0’B 或 IF ﹁EOF

2、控制型数据

2.1文件数据(File data):它表示PL/I文件的信息

l 它是PL/1的输入/输出文件名字

l 即JCL的输入/输出DD名字,File name和DDname互相对应

例: DCL INFILE INPUT RECCRD FILE

DCL OUTFILE OUTPUT STREAM FILE

2.2标号数据(label data)

l 作为语句标号引用

例: LOOP:——-

——-

——-

GO TO LOOP;

l 作为语句标号变量

例: DCL CIRCLE LABEL

LOOP1:———

——–

———

LOOP2:——–

——–

——–

CIRCLE==LOOP1;

… …

GO TO CIRCLE; ——–> 等价于 GO TO LOOP1

… …

2.3 入口数据(ENTRY Data)

——用作过程(Procedure)的入口点(entry point)

例:A:PROC OPTIONS(MAIN)

… …

B:PROC;

A,B即为入口点,称为入口数据,可由CALL语句来调用 CALL B;

——用作入口变量(entry variable)

例:DCL A ENTRY VARIABLE;

DCL(A1,A2)ENTRY;

IF X THEN A=A1;

ELSE A=A2;

CALL A; 等价于:

IF X THEN CALL A1;

ELSE CALL A2;

2.4 定位数据(Locator data)

根据POINTER变量所取的值作为指定的地址

例: DCL P POINTER

DCL A CHAR(8)

DCL X CHAR(8)

l 基于POINTER

DCL B FIXED DEC(15) BASED(P);

P=ADDR(A)

此时B不占空间,根据P描述,也即为B 描述为FIXED DEC(15)

若P=ADDR(X)

则B又随P描述X了,于是B是活动的,随P变化.

l 基于ADDRess

DCL B FIXED DEC(7) BASED (ADDR(A))

此时,B 是固定的,它由A的地址唯一确定

001500 DCL CIC1 FIXED BIN(15);

001600 DCL CIC2 FIXED BIN(15);

001700 DCL CIC3 FIXED BIN(15);

001800 DCL CIC4 FIXED BIN(15);


PL1基础入门教程(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学生公民素质教育答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: