pli程式说明(中文)

上传人:xiao****1972 文档编号:84086781 上传时间:2019-03-02 格式:DOC 页数:13 大小:159.85KB
返回 下载 相关 举报
pli程式说明(中文)_第1页
第1页 / 共13页
pli程式说明(中文)_第2页
第2页 / 共13页
pli程式说明(中文)_第3页
第3页 / 共13页
pli程式说明(中文)_第4页
第4页 / 共13页
pli程式说明(中文)_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《pli程式说明(中文)》由会员分享,可在线阅读,更多相关《pli程式说明(中文)(13页珍藏版)》请在金锄头文库上搜索。

1、一、PL/1 的字符集及书写 1、PL/1 的字符集的字符集 PL/1 的字符集一般分为 48 个字符与 60 个字符两种,目前采用 60 个字符的字 符集。 1.129 个字母字符 A,B,.,Z, 1.210 个数字 0,1,2,3,4,5,6,7,8,9 1.321 个专用字符(如下所示) 空格 % 百分号 = 等号 ; 分号 + 加号 : 冒号 - 减号 大于 / 斜线(除号) | 或 ( 左括号 以其它 字母开始约定为 FIXED DEC(6) 1.2 数值字符数据 它是介于算术数据与字符串数据间的数据 数 123732.1098.7 书写 PIC 999 PIC 999V.99PI

2、C 99V9 存贮 形式 F1F2F3F7F3F24BF1F0F9F8F7 其中: V 表明在数据域中该位置出现一个隐含的十进位或二进位小数点. 若 V 后面还有“.” ,表明相应数据域位置包含一个小数点 注: 数值字符数据主要是构成定点十进数,定点二进数可打印的形式; 在 PIC 后面引号()中的数字字符个数最多 15 个; 数值字符数据可进行算术运算,但须经转换; 如果一个数字字符定义为 PIC ZZZV.,则不管此字符是否有值,都显 示为“ .” 。 1.2.1 定点十进数(FD)、定点二进数(FB)和 PIC 间的转换 例: DCL A PIC99 DCL B PIC99 DCL C

3、PIC99 C=A+B 则为欲求得 C,须经: AFIXED DEC, B FIXED DEC A_FD + B_FD FIXED DEC PIC 赋予 C 在算术运算时,必须转为 FIXED DEC 才能进行 转换表 R C FBFDPIC FB C FBC FD FD FB FDR FB C FD PICR FD FD FB R FDC FD R FD 注:一般金额采用注:一般金额采用 FIXED DEC 整数采用 FIXED BIN PIC 用于 输入/输出 它是字符与算术数据间的桥梁。 1.3 串数据(String data) 1.3.1 字符串数据(Character String

4、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 字符串数据通常在程序内赋值时用. 例: X=THIS REPORT IS 赋值时,字符串数据括于单引号内 赋值时,在字符串右边不足部分,系统自动以“空白 ”符补足 例: DCL X CHAR(5) X =A ; X 值会是 A 后跟随 4 个空格 字符串内出现单引号时,必须以两个单引号(称为 Null String)表示, 否则会引起 混淆。 例: 设赋值给 X,其值为:JOHNS CAP 则必须写为

5、 X=JOHN S CAP (注:若写为 X=JOHNS CAP ,则 S CAP被略) 重复的字符串数据可用重复因子表示 例: X=(N) BCC 表示 X 有值为 BCC ,BCC ,.(N 个) 1) 重复因子必须放在括号内; 2) 重复因子只对紧接的一个字符生效 例: PIC(4)AB 乃表示 PICAAAAB CHARACTER PICTURE SPECIFICATION PIC9表示数字 09 PICA表示字母 Az PICX表示任何字符 1.3.2 (二进)位串数据(BIT String data) 值 PL/I 写法 存贮形式 1B BIT(1) 占 1 字符 1111B BI

6、T(4) 占 1 字符 (64)0B BIT(64) 占 8 字符 位串数据赋给变量是从左到右进行,若串数据长度,超过变量说明的长度, 则以变量 长度为准,截去串数据右端的位;若串数据长度短于变量说明的长度,也以 变量长度 为准,右边自动以 0 补足. 位串数据通常用于检查 真/假 条件 真 TRUE_1B 假 FALSE_0B 例: DCL EOF BIT(1) - _在检查“真”时可写:IF EOF=1B 或 IF EOF 在检查“假”时可写:IF EOF=0B 或 IF EOF 2、控制型数据、控制型数据 2.1 文件数据(File data):它表示 PL/I 文件的信息 它是 PL/

7、1 的输入/输出文件名字 即 JCL 的输入/输出 DD 名字,File name 和 DDname 互相对应 例: DCL INFILE INPUT RECCRD FILE DCL OUTFILE OUTPUT STREAM FILE 2.2 标号数据(label data) 作为语句标号引用 例: LOOP:- - - GO TO LOOP; 作为语句标号变量 例: DCL CIRCLE LABEL LOOP1:- - - LOOP2:- - - CIRCLE=LOOP1; GO TO CIRCLE; - 等价于 GO TO LOOP1 2.3 入口数据(ENTRY Data) 用作过程(

8、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

9、DCL A CHAR(8) DCL X CHAR(8) 基于 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 变化. 基于 ADDRess DCL B FIXED DEC(7) BASED (ADDR(A) 此时,B 是固定的,它由 A 的地址唯一确定 001500 DCL CIC1 FIXED BIN(15); 001600 DCL CIC2 FIXED BIN(15); 001

10、700 DCL CIC3 FIXED BIN(15); 001800 DCL CIC4 FIXED BIN(15); 001900 DCL CI1PTR POINTER; 002000 DCL CI1PTRF FIXED BIN(31) BASED(ADDR(CI1PTR); 002100 DCL CI2PTR POINTER; 002200 DCL CI2PTRF FIXED BIN(31) BASED(ADDR(CI2PTR); 002300 DCL UTSCIFC CHAR(4089) VAR; 002400 DCL 1 CIF1 BASED(ADDR(UTSCIFC), 002500

11、2 CITOTL FIXED BIN(15), /* TOTAL RECORD LENGTH */ 002600 2 UTSCIFC_BEG_DMY 002800 2 CIIDQTY FIXED BIN(15), /* ID QUANTITY */ 009800 2 CIMTCAC FIXED DEC(15), RELATIVE MTC SAVING AC NO.*/ 009810 2 CIHKDAC FIXED DEC(15), /* RELATIVE HKD SAVING AC NO.*/ 009820 2 CIFCYAC FIXED DEC(15), /* RELATIVE FCY SA

12、VING AC NO.*/ 009830 2 CIPBCINT CHAR(1), /* PBC INT INDICATOR */ 009900 2 CIPCLASS FIXED DEC(1), /* PRIVILEGE CLASS */ 009910 2 CINAT CHAR(9), /* NATIONNALITY */ 009920 2 CICDTDAT(10) CHAR(6), /* TAX RATE FOR BRANCH */ 010000 2 CIHKDPVC FIXED DEC(15,2),/* STAFF HKD PRIV.CERT TOT P */ 010100 2 CIHKDP

13、 FIXED DEC(15,2),/* HKD CERT TOTAL PRINCIPAL */ 010200 2 CIUSDP FIXED DEC(15,2),/* USD CERT TOTAL PRINCIPAL */ 011300 2 CIIDNO(CIC1 REFER(CIIDQTY) 011410 CHAR(19), /* ID NUMBER */ 011500 2 CIIDNO_END_DMY CHAR(0), 011600 2 CISIGNO(CIC2 REFER(CISIGQTY) 011700 CHAR(8), /* SIGNATURE NO */ 011800 2 CISIGNO_END_DMY 011900 CHAR(0), 012000 2 CINAME CHAR(CIC3 REFER(CINAMEL), 012100 /* CUSTOMER NAME */ 012200 2 CINAME_END_DMY CHAR(0), 012300 2 CIT

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号