MOVE语句。

通过MOVE语句的复制操作,可以实现变量的赋值,参数传递的功能。

 

1.单个数据复制时,直接将源数据名称放到前面,将目标数据项放到后面。通过TO连接。

如:

 MOVE '12' TO A.

 MOVE '34' TO B.

 当进行复制操作的两个数据名称相同时,要指明数据项所在的数据组名。

如:

 MOVE DAY TO IN DATA1 TO DAY IN DATA2.

 MOVE YEAR IN DATA3 TO YEAR IN DATA4.

 

2.复制不同长度的类型和长度的单个数据项。

 任何类型都可以复制到字符类型数据变量中。

 数值类型数据可复制到任何类型数据变量中。

如:

IDENTIFICATION DIVISION.

PROGRAM-ID. MOVE2.

ENVIRONMENT DIVISION.

DATA DIVISION.

WORKING-STORAGE SECTION.

01 INT-DATA PIC 9(5).

01 CHAR-DATA PIC X(5).

01 EDIT-DATA PIC $$$$9.

PROCEDURE DIVISION.

              MOVE 12345 TO IN-DATA.

              MOVE INT-DATA TO CHAR-DATA.

              MOVE INT-DATA TO EDIT-DATA.

              MOVE EDIT-DATA TO CHAR-DATA.

              DISPLAY 'INT-DATA :' INT-DATA.

              DISPLAY 'EDIT-DATA:' EDIT-DATA.

              DISPLAY 'CHAR-DATA:' CHAR-DATA.

              STOP RUN.

 运行结果,都是12345。

 

当复制对象为字符型数据时,将从左到右依次复制。

目标数据项长度大于源数据长度时,在目标数据项的右边以空格填充。

目标数据项长度小于源数据长度时,对右边超出部分进行截取。

如:

IDENTIFICATION DIVISION.

PROGRAM-ID. MOVE3.

ENVIRONMENT DIVISION.

DATA DIVISION.

WORKING-STORAGE SECTION.

01 SOURCE-DATA PIC X (5).

01 LONG-DATA PIC X (8).

01 SHORT-DATA PIC X(3).

PROCEDURE DIVISION.

               MOVE 'LIANG' TO SOURCE-DATA.

               MOVE SOURCE-DATA TO LONG-DATA.

               MOVE SOURCE-DATA TO SHORT-DATA.

               DISPLAY 'SOURCE-DATA:' SOURCE-DATA.

               DISPLAY'LONG-DATA:' LONG-DATA.

               DISPLAY'SHORT-DATA:' SHORT-DATA.

               STOP RUN.

运行结果:

SOURCE-DATA: LIANG

LONG-DATA.: LIANG                           后面有3个空格。

SHORT-DATA: LIA

 

当复制对象为数值型时,则,

 目标数据项长度大于源数据长度时,在目标数据项的高位以0填充。

 目标数据项长度小于源数据长度时,对高位超出部分进行截取。

 若数值含有小数部分,则需要将其作为符点数进行相应的处理。

如:

IDENTIFICATION DIVISION.

PROGRAM-ID. MOVE4.

ENVIRONMENT DIVISION.

DATA DIVISION.

WORKING-STORAGE SECTION.

01 SOURCE-DATA PIC 9(5).

01 LONG-DATA PIC 9(8).

01 SHORT-DATA PIC 9(3).

01 FLOAT-DATA PIC 9(3)V99.                     V是隐含的小数位。v左边是整数位,按数值的靠左的方法输出。 v右边是小数位,按正常的输出!

01 FLOAT-DATA1 PIC 9(4)V9(3).

01 FLOAT-DATA2 PIC 99V99.

PROCEDURE DIVISION.

              MOVE '54321' TO SOURCE-DATA.

              MOVE SOURCE-DATA TO LONG-DATA.

              MOVE SOURCE-DATA TO SHORT-DATA.

              MOVE SOURCE-DATA TO FLOAT-DATA.

              MOVE 543.21 TO FLOAT-DATA1.

              MOVE 543.21  TO FLOAT-DATA2.

              DISPLAY 'SOURCE-DATA:' SOURCE-DATA.

              DISPLAY 'LONG-DATA:' LONG-DATA.

              DISPLAY 'SHORT-DATA:' SHORT-DATA.

              DISPALY 'FLOAT-DATA:' FLOAT-DATA.

              DISPLAY 'FLOAT-DATA1:' FLOAT-DATA1.

              DISPLAY 'FLOAT-DATA2:' FLOAT-DATA2.

              STOP RUN.

运行结果:

SOURCE-DATA: 54321

LONG-DATA : 00054321

SHORT-DATA: 321

FLOAT-DATA: 32100

FLOAT-DATA1: 0543210

FLOAT-DATA2: 4321

 

                                                   

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值