付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 任务六 学用 Visual FoxPro 的编程功能 【学习目标】 通过本章学习, 应熟练掌握程序的建立、 修改和运行方法; 掌握基本的输入和输出命令,掌握程序的三种基本结构; 理解和掌握主程序、 子程序和过程的概念和编写; 理解和掌握内存变量作用域的定义命令。 【重点难点】 重点: 程序的三种基本结构;多模块结构 难点: 循环结构的使用;多模块结构中参数传递的两种方式;变量作用域 本章主要介绍程序设计及其相关的一些内容 , 包括程序设计时使用的程序控制语 句、程序的基本结构、 程序设计调试等方面的内容。 该章是开发基于 VFP 应用系统的基础,掌握学习时,要充分上机操作练习。 第十一讲 程
2、序与程序的基本结构 子任务一 学习程序的概念 程序是能够完成一定任务的命令的有序集合。 采用程序方式有如下好处: 可以利用编辑器,方便地输入、修改和保存程序。 可以用多种方式、多次运行程序。 可以在一个程序中调用另一个程序。 例 2.1 假定学号的前两位为入学年份(如 01 代表 2001 年),第 3、4 位为专业代 码。编写命令文件 test1.prg ,分别统计所有学生和 2001 年入学,专业代码为 03 的学生选修课程号为 101 课程的平均成绩。编写其程序如下: set talk off clear open database xsxk use 选课 in 0 select avg
3、( 成绩 ) from 选课 where 课程号 =101 into array m1 select avg( 成绩 ) from 选课 where 课程号 =101 and ; left( 学号 ,2)=01 and substr( 学号 ,3,2)=03 into array m2 所有学生的平均分: ,m1(1,1) 指定学生的平均分: ,m2(1,1) use 选课 close database set talk on return 1 子任务二 建立与执行程序文件 1. 程序文件的建立 程序文件的建立需要调用系统内置的文本编辑器来进行。有三种方法: 用“新建”对话框建立:程序文件的默
4、认扩展名是 .prg 。 用命令 modify command 文件名 来建立 用“项目管理器”来建立 2. 执行程序文件 打开程序文件后使用菜单命令或单击工具栏上的运行按钮。 用命令运行: do 文件名 使用“项目管理器”运行 在执行程序的过程中,执行以下命令之一可中止程序的运行: cancel ; do 命 令; return ; quit 当用 DO 命令执行程序文件时,如果没有指定扩展名,系统将按下列顺序寻找该程 序文件的源代码或某种目标代码文件执行: exe-app-fxp-prg 。故如果要运行指定文 件时扩展名不能省略。 子任务三 学用简单的输入输出命令 1.input 命令 格
5、式: input 提示信息 to 内存变量名 功能:等待从键盘输入表达式赋值给变量。 说明:该命令可以输入任意类型的数据。 在输入字符串时须加定界符, 输入逻辑型 常量时要用圆点定界, 输入日期及日期时间型数据时要作大括号。 不允许不输入任何内容直接按回车键。 例 2.2 编写命令文件 test2.prg ,查找指定日期以后出生的学生。 CLEAR OPEN DATABASE XSXK USE 学生 INPUT 请输入日期: TO MRQ SELECT 学号 , 姓名 , 出生日期 FROM 学生 WHERE 出生日期 MRQ CLOSE DATABASE 2.accept 命令 格式: ac
6、cept 提示信息 to 内存变量名 功能:等待从键盘输入字符串赋值给变量。 说明:该命令只接受字符串, 用户在输入字符串时不需要加定界符。 如果不输入任 何内容直接按回车,系统会把空串赋给指定的内存变量。 例 2.3 检索通过键盘输入的学生的各门课程的成绩。 OPEN DATABASE XSXK CLEAR 2 accept 请输入姓名: TO xm SELECT 学生 . 学号 , 姓名 , 课程名 , 成绩 FROM 学生 , 选课 , 课程 ; WHERE 学生 . 学号 =选课 . 学号 and 课程 . 课程号 =选课 . 课程号 and 姓名 =xm CLOSE DATABASE
7、 3.wait 格式: wait 提示信息 to 内存变量名 window at 行,列 nowait clear | noclear timeout 秒数 例 2.4 wait 命令使用示例。 wait 输入无效,请重新输入, windows timeout 5 3 程序结构:是指程序中命令或语句执行的流程结构。有三种基本结构: 顺序结构、选择 结构、循环结构。 子任务四 学用选择结构 有条件语句和分支语句两种。 1. 条件语句 格式: if 条件 语句序列 1 else 语句序列 2 endif 功能: 真 假 假 条件 条件 真 语句序列 1 语句序列 2 语句序列 endif 后面的语
8、句 endif 后面的语句 说明: if 和 endif 必须成对出现。 if 语句可以嵌套。 例 2.5 某地至北京的邮路里程为 1043 km,通过邮政局向北京城区寄交 “特快专递” 邮件,应在 24 小时到达,计费标准每克为 0.05 元,但超过 100 克后,超出数每克为 0.02 元,试编写程序 test4.prg 计算邮费。 方法一: INPUT 请输入邮件重量: TO W IF W100 F=100*0.05+(W-100)*0.02 ENDIF ? 邮费为: ,F 例 2.6 编写命令文件 test5.prg ,请用户输入待查学生的姓名, 显示该学生的基本情况。 CLEAR O
9、PEN DATABASE XSXK ACCEPT 请输入待查学生姓名: TO NAME LOCATE FOR 姓名 =NAME IF .NOT. EOF() 姓名: + 姓名 性别: +IIF( 性别 , 男 , 女 ) 出生日期: +DTOC(出生日期 ,1) ELSE 查无此人 ! ENDIF CLOSE DATABASE 分支语句格式: do case case 条件 1 语句序列 1 case 条件 2 语句序列 2 , case 条件 n 语句序列 n otherwise 语句序列 n+1 endcase 功能: 依次判断 CASE 后的条件是否成立, 当发现某个 CASE 后面的条
10、件成立时, 就执行该 CASE 和下一个 CASE 之间的命令序列, 然后执行 ENDCASE 后面的命令。 如果所的有条件都不成立,则执行 OTHERWISE 与 ENDCASE 之间的命令序列,然后转向 ENDCASE 后面的语句。 说明:不管有几个 CASE 条件成立, 只有最先成立的那个 CASE 条件对应的命令序列被执行; 如果所有的 CASE 条件都不成立, 且没有 OTHERWISE 子句,则直接跳出本结构; DO CASE 和 ENDCASE 必须成对出现。 例 2.6 将学生成绩分为 “不及格”、“及格”、“良好”和“优秀”等次。 5 clear input 输入学生成绩 :
11、 to score do case case score=0 and score=60 and score=70 and score=85 and score=100 ?优秀 otherwise ? 不合法的数据 ! endcase 子任务五 学用循环结构 循环结构也称重复结构, 是指程序在执行过程中, 其中的某段代码被重复执行若干 次。被重复执行的代码段,通常称之为循环体。 VFP 支持循环结构的语句有三种: do while enddo for - endfor 语句 scan-endscan 1.do while - enddo 语句 格式: do while 语句序列 1 enddo
12、条件 假 真 条件 假 循环体 loop 真 循环体 exit enddo 后面的语句 enddo 后面的语句 功能:执行该语句时,首先判断 DOWHILE 处的循环条件是否成立,如果条件成立, 6 则执行 DO WHILE 和 ENDDO 之间的命令序列。当执行到 ENDDO 时,返回到 DO WHILE,再 次判断循环条件是否成立, 以确定是否再次执行循环体。 若条件为假, 则结束该循环语 句,执行 ENDDO 后面的语句。循环语句执行过程如上图所示。 说明: 如果第一次判断条件即为假,则循环体一次都不执行。 如果循环体中包含 LOOP 命令,则遇到 LOOP 时,就结束循环体的本次执行,
13、 不 再执行其后的语句,而是转回到 DO WHILE 重新判断条件。 如果循环体中包含 EXIT 命令,则遇到 EXIT 时,就结束该语句的执行, 转去执行 ENDDO 后面的语句。 通常 LOOP 和 EXIT 出现在循环体内嵌套的选择语句中,根据条件决定是 LOOP 回去,还是 EXIT 出去。 例 2.7 编写程序,计算 S=1+2+, +100。 S=0 I=1 DO WHILE I=100 S=S+I I=I+1 ENDDO ?S=,S 例 2.8 求前 100 个自然数中的偶数和。 s=0 i=1 do while i=100 if mod(I,2)=0 s=s+i i=i+1 e
14、lse i=i+1 loop endif enddo ? 前 100 个自然数中的偶数和为 :,s return 2.for - endfor 语句 格式: for 循环变量 =初值 to 终值 step 步长 循环体 endfor | next 功能:执行时,首先将循环变量初值赋予循环变量, 然后判断循环变量是否大于 (步 7 长大于 0 时)或小于(步长小于 0 时)循环变量终值, 若结果为真, 则退出循环; 否则,执行循环后,循环变量自动按步长增加或减少。 说明:该语句用循环计数器 来控制循环体的执行次数。 常用于实现循环次数已知情况下的结构。 例 2.9 编写程序 test9.prg,
15、 找出 100 999 之间的所有“水仙花数” 。所谓“水仙 花数”是指一个三位数,其各位数字的立方和等于该数本身(153=13+53+33) CLEAR FOR I=100 TO 999 A=INT(I/100) B=INT(I-A*100)/10) C=I-A*100-B*10 IF I=A3+B3+C3 ? I ENDIF ENDFOR RETURN 3.scan- endscan 语句 格式: scan 范围 for 条件 循环体 endscan 功能: 执行该语句时, 记录指针自动、 依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。 说明: 范围的默认
16、值是 all 。 exit 和 loop 命令同样可以出现在该循环语句的循环体内。 例 2.10 统计专业代码(学号的第 3、 4 位)为 03 的男、女生人数。 OPEN DATABASE XSXK USE 学生 STORE 0 TO M,W SCAN FOR SUBS(学号 ,3,2)=03 IF 性别 =.T. M=M+1 ELSE W=W+1 ENDIF ENDSCAN CLEAR ? 男生人数 :,M ? 女生人数 :,W 8 CLOSE DATABASE 编程举例 例 2.11 计算 T=1!+2!+ , +10! clear t=0 p=1 for i=1 to 10 p=p*i
17、 t=t+p endfor ? t=,t 例 2.12 编制一个查询学生情况的程序。 要根据给定的学号找出并显示该学生的姓名及各门功课的成绩。 open database xsxk do while .t. clear accept 请输入学号: to mxh select 学生 . 学号 , 姓名 , 课程名 , 成绩 from 学生 , 选课 , 课程 ; where 学生 . 学号 =选课 . 学号 and 课程 . 课程号 =选课 . 课程号 ; and 学生 . 学号 =mxh wait 继续查询? (y/n) to p if upper(p)Y use exit endif end
18、do close database 9 第十二讲 多模块程序 子任务一 认识模块及其定义和调用 模块可以是程序文件(命令文件) ,也可以是过程。过程的建立仍使用 MODIFY COMMAND 命令,文件的默认扩展名是 PRG。过程定义的语法格式如下: PROCEDURE|FUNCTION 过 命令序列 RETURN ENDPROC|ENDFUNC PROCEDURE|FUNCTION 命令表示一个过程的开始 , 并命名过程名 . 过程名必须以字母 或下划线开头 , 可以包含字母、数字和下划线。 ENDPROC|ENDFUNC 命令表示一个过程的结束,如果缺省, 过程结束于下一条 PROCEDU
19、RE|FUNCTION 命令或文件结尾处。 当过程执行到 RETURN 命令时,控制将转回到调用程序(或命令窗口)并返回表达 式的值。 如果缺省 RETURN 命令, 则在过程结束处自动执行一条隐含的 RETURN 命令。若 RETURN 语句不带 ,则回逻辑真 .T. 。 过程可以包含在程序文件中放在程序文件代码的后面, 也可以放在称为过程文件的 单独文件里。 过程文件里只包含过程, 这些过程能被任何其它程序所调用。 但在调用过 程文件中的过程之前首先要打开过程文件。 打开过程文件的命令格式为: SET PROCEDURE TO , , ADDITIVE 可以打开一个或多个过程文件 . 一旦
20、一个过程文件被打开 , 那么该过程文件中的所 有过程都可以被调用 . 如果选用 ADDITIVE, 那么在打开过程文件时 , 并不关闭原先打开 的过程文件。 当使用不带任何文件名的 SET PROCEDURE TO 命令,将关闭所有打开的过程文件。 如果不想一并关闭所有过程文件,而要关闭个别过程文件,可以用下面命令: RELEASE PROCEDURE过程文件 1 ,过程文件 2,, 存放在命令文件里的过程主要被命令文件中的代码所调用 , 但也可以被其它程序所 调用 . 当命令文件处于执行状态时 , 包含在其中的过程就可以被直接调用, 如果命令文件 不处于打开状态,那么要调用其中的过程,就要用
21、 SET PROCEDURE 命令先打开此命令文 件。这与打开过程文件的道理是一样的。 总而言之, 模块是指过程和命令文件里的代码。 而过程的调用需要它所在的文件处 于打开状态。 模块调用的格式有两种: 格式 1: DO | 格式 2: |() 在上面两种格式里,如果模块是程序文件的代码, 用文件名;否则用 。 格式 2 既可以作为命令使用(反回值被忽略) ,也可作为函数出现在表达式里。这里的 10 文件名不包括扩展名。 例 2.13 模块定义和调用的程序示例。 Clear a=0 do p1 &调用过程 P1 do p2 &调用过程 P2 do p3 &调用过程 P3
22、 ?a=,a proc p1 &过程 P1 a=a+1 proc p2 &过程 P2 a=a*a proc p3 &过程 P3 do p1 a=a*a+1 return 运行结果是: a= 5 子任务二 使用参数传递来编程 模块程序可以接收调用程序传递过来的参数, 并能根据接收到的参数控制程序流程或对接收到的参数进行处理,从而提高模块程序功能设计的灵活性。 接受参数的命令 接收参数的命有如下两种格式: 格式 1: PARAMETERS形参变量 1 ,形参变量 2,, 格式 2: LPARAMETERS 形,,, 功能: PARAMETERS 命令声明的形参变量被看作是模
23、块程序中建立的 私有变量 , LPARAMETERS 命令声明的形参变量被看作是模块程序中建立的 局部变量 。 说明:不管是 PARAMETERS 命令还是 LPARAMETERS 命令,都应是模块程序的第一条可执行命令。 调用模块程序的命令 格式 1: DO文件名 | 过程名 WITH实参 1 ,实参 2,, 格式 2:文件名 | 过程名(实参 1 ,实参 2,, ) 功能:实参可以是常量、变量,也可以是一般形式的表达式。调用模块程序时,系 统会自动把实参传递给对应的形参变量。 说明: 形参的数目不能少于实参的数目, 否则系统会产生运行时错误; 如果形参的 数目多于实参的数目,那么多余的形参
24、取初值逻辑假( .f. )。 3. 参数传递方式 11 按值传递:单向传递 采用格式 1 调用模块程序时, 如果实参是常量或一般形式的表达式 ,系统会计算 出实参的值,并把它们赋值给相应的形参变量。这种情形称为 按值传递 。 按引用传递,也称地址传递 如果实参是变量 ,那么传递的将不是变量的值,而是变量的地址。这时形参和实 参实际上是同一个变量 (尽管它们的名字可能不同) ,在模块程序中对形参变量的改变, 同样是对实参的改变。这种情形称为 按引用传递 。 设置参数传递方式的命令 采用格式 2 调用模块程序时, 默认情况是按值传递参数。 如果实参是变量可以通过 调用命令 SET UDFPARMS
25、 命令重新设置参数传递的方式。该命令的格式如下: SET UDFPARAMS TO VALUE|REFERENCE TO VALUE:按值传递。形参变量值的改变不会影响实参变量的取值。 TO REFERENCE:按引用传递。形参变量值改变时,实参变量也随之改变。 例 2.14 按值传递和按引用传递示例。 CLEAR STORE 100 TO X1,X2 SET UDFPARMS TO VALUE & 设置按值传递 DO P4 WITH X1,(X2) & x1 按引用传递, (x2) 按值传递 ? 第一次: ,X1,X2 STORE 100 TO X1,X2 P4(X1,(X2
26、) & x1 、 (x2) 都按值传递 ? 第二次: ,X1,X2 SET UDFPARMS TO REFERENCE & 设置按引用传递 DO P4 WITH X1,(X2) & x1 按引用传递, (x2) 按值传递 ? 第三次: ,X1,X2 STORE 100 TO X1,X2 P4(X1,(X2) & x1 按引用传递, (x2) 按值传递 ? 第四次: , X1, X2 PROCEDURE P4 &过程 P4 PARAMETERS X1,X2 STORE X1+1 TO X1 STORE X2+2 TO X2 ENDPROC 运行结果为: 第
27、一次 : 101 100 第二次 : 100 100 第三次 : 101 100 第四次 : 101 100 12 (x2) 用一对圆括号将一个变量括起来使其变成一般形式的表达式, 所以不管什么情 况,总是按值传递。从运行结果看,用格式 1 调用模块程序时的参数传递方式并不受 UDFPARRMS 值的设置影响。 子任务三 理解变量的作用域 变量的作用域是指变量在什么范围内是有效的或能够被访问的。 在 VFP 里,若以变 量的作用域来分,内存变量可分为公共变量、私有变量和局部变量三类。 1公共变量 在任何模块中都可使用的变量称为公共变量。 公共变量要先建立后使用, 公共变量 可用 PUBLIC
28、命令建立: PUBLIC 该命令的功能是建立公共的内存变量 , 并为它们赋初值逻辑假。 例如,命令 PUBLIC X , Y, S( 10)建立了三个公共内存变量:简单内存变量 X 和 Y 以及一个含水量 10 个元素的数组 S,它们的初值都是 .F. 。 公共变量一旦建立就一直有效, 即使程序运行结束返回到命令窗口也不会消失。 只 有当执行 CLEAR MEMORY、RELEASE、 QUIT 等后,公共内存变量才被释放。 在命令窗口中直接使用而由系统自动隐含建立的变量也是公共变量。 2私有变量 在程序中使用(没有通过 PUBLIC 和 LOCAL 命令事先声明)而由系统自动隐含建立 的变量
29、都是私有变量。 私有变量的作用域是建立它的模块及其下属各层模块。 一旦建立它的模块程序运行结束,这些私有变量将自动清除。 3局部变量 局部变量只能在建立它的模块中使用, 不能在上层或下层模块中使用。 当建立它的 模块程序运行结束时,局部变量自动释放。局部变量用 LOCAL 命令建立: LOCAL 该命令建立指定的局部变量 , 并为它们赋初值逻辑假 .F. 。由于 LOCAL 与 LOCATE 前 四个字母相同,所以这条命令的命令动词不能缩写。 局部变量先建立后使用。 例 2.15 公共变量、私有变量、局部变量及其作用域示例。 PUBLIC X1 LOCAL X2 STORE F TO X3 D
30、O P6 ? 主程序中 . ?X1=,X1 ?X2=,X2 ?X3=,X3 RETURN 13 *过程 P6 PROCEDURE P6 ? 子程序中, ? X1=,X1 ? X3=,X3 RETURN 开发应用程序时, 主程序与子程序不一定由同一个人开发, 这样就可能出现以下情 形:子程序中变量可能已经在主程序中建立(即与主程序中的变量同名) ,子程序的运 行可能会更改主程序中变量的值。 为解决这一问题, 可以在子程序中使用 PRIVATE 命令 隐藏主程序中的同名变量,使得这些变量在子程序中暂时无效。 PRIVATE 命令的语法格 式为: PRIVATE PRIVATE ALLLIKE|EX
31、CEPT 该命令的功能是:隐藏上层模块中的同名变量 , 使得这些变量在当前模块中暂时无效。这样,这些变量名就可以用来命名在当前模块或其下属模块中的私有变量或局部变 量,并且不会改变上层模块中的同名变量的取值。 一旦当前模块程序运行结束返回上层模块时,那些被隐藏的内存变量就自动恢复有效性,并保持原有的取值。 例 2.16 变量的隐藏示例。 SET TALK OFF VAL1=10 VAL2=15 DO P7 VAL1,VAL2 *过程 P7 PROCEDURE P7 PRIVATE VAL1 VAL1=50 VAL2=100 VAL1,VAL2 RETURN 运行结果为: 50 100 10 1
32、00 实际上, LOCAL 命令在建立局部变量时,也具有隐藏在上层模块中建立的同名变量的作用。但与 PRIVATE 不同, LOCAL 命令只能在它所在的模块内隐藏些同名变量,一旦到了下层模块,这些同名变量就会重新出现。 例 2.17 LOCAL 和 PRIVATE 命令的比较示例。 PUBLIC X,Y 14 X=10 Y=100 DO P8 ? X,Y 过程 P8 PROCEDURE P8 PRIVATE X X=50 LOCAL Y DO P9 ? X,Y 过程 P9 PROCEDURE P9 X=AAA Y=BBB RETURN 运行结果为: .F. 10BBB 15 实训二 程序设计
33、 一、实训目的 掌握程序中常用的输入输出语句的使用; 学会程序文件的创建、修改与运行; 理解程序的三种基本结构:顺序结构、选择结构和循环结构。 二、实训内容 1编一名为 guess.prg 的程序,实现如下功能:自己心想一个自然数( 1-1024 ), 让计算机猜。程序运行时计算机只问用户 10 个问题便知用户心想之数,并输出。 2用循环结构编一名为“统计 .prg ”的程序,实现如下功能:统计表文件“学 生 .dbf ”中的男女生人数,统计表文件“学生 .dbf ”中各系人数并输出。 三、实训步骤 1编写 guess.prg 猜数程序: 在命令窗口键入 MODIFY COMMAND gues
34、s,进入程序录入窗口界面。 在程序录入窗口中输入如下代码: ? 请您心想一自然数( 1-1024 ),我来猜! low=1 & 设 low 表示范围下限 upp=1024 & 设 upp 表示范围上限 FOR k=1 TO 10 mid=INT(low+upp)/2) & 设 mid 表示范围前一半的最后一数 WAIT 您心想的数是否大于 +STR(mid,4)+(Y/N?) TO ans IF UPPER(ans)=Y low=mid+1 & 原范围后一半作为新范围 ELSE upp=mid & 原范围前一半作为新范围 ENDIF ENDFOR ? 我
35、猜你心想之数一定是 :,low &low 和 upp 相等,范围缩小到一个 数 按 Ctrl+S 存盘。 在命令窗口中输入命令 DOguess.prg 回车后进入运行界面。 用户根据自己 心想的数依次回答程序运行时屏幕出现的十个问题,每一个问题要求用户键入 y、 16 Y 或 n、 N 从而将范围缩小一半,用户所猜数的范围在 low 和 upp 之间,当十个问 题回答完毕时 low 和 upp 相等,也即为用户心想之数。 2编写“统计 .prg ”程序: 在命令窗口键入 MODIFY COMMAND 统计,进入程序录入窗口界面。 在程序录入窗口中输入如下代码: CLOSE TABLE
36、ALL USE 学生 STORE 0 TO na,nv,jsj,jjgl,glx SCAN IF 性别= 男 na=na+1 ELSE nv=nv+1 ENDIF DO CASE CASE 系名 = 计算机系 jsj=jsj+1 CASE 系名 = 经济管理系 jjgl=jjgl+1 CASE 系名 = 公路系 glx=glx+1 ENDCASE ENDSCAN USE ? 计算机系人数为 ,jsj, 经济管理系人数为 ,jjgl, 公路系人数为 ,glx ? 男生人数为 ,na, 女生人数为 ,nv 按 Ctrl+S 存盘。 在命令窗口中输入命令 DO 统计 .prg ,回车后就可在主屏幕看
37、到如下的运 行结果: 计算机系人数为 2 经济管理系人数为 3 公路系人数为 3 男生人数为 5 女生人数为 3 若将程序最后一行改为以下语句: ? 男生人数为 +ALLTRIM(STR(na), 女生人数为 +ALLTRIM(STR(nv) 17 则程序运行结果为: (从中体会 STR、 ALLTRIM 函数的作用) 计算机系人数为 2 经济管理系人数为 3 公路系人数为 3 男生人数为 5 女生人数为 3 18 实训三 多模块程序及参数传递 一、 实训目的 1. 解多模块程序中内存变量的作用域, 具体地说就是理解公共变量、 私有变量、 局 部变量、学会隐藏主程序中的同名变量; 进一步掌握程
38、序调用中的参数传递。 二、 实训内容 1通过实例验证如下关于内存变量作用域的结论。 子程序中出现的内存变量若未经定义,则有 2 种可能: 主程序中没有同名变量,那么返回主程序时,该变量被释放失效。 主程序中有同名变量,那么这 2 个同名变量实质上是一个变量,返回 主程序时,其值被带回主程序。 若在过程中出现的内存变量被定义为公共变量,则该变量在程序执行期间 和终止后始终有效。 在过程中用 PRIVATE 命令声名的内存变量为私有变量,它与主程序中的同 名变量毫无关系。 过程执行期间, 主程序中的同名变量被隐匿起来, 以便不受影响。 返回主程序时, 过程中的变量被释放失效。 而主程序中的同名变量保持调用过程之 前的值不变。 若在过程中出现的内存变量被定义为局部变量,那么它与上层主程序及其 下属子程序中的同名变量毫无关系。 过程执行期间, 主程序中的同名变量被隐匿起 来,以便不受影响。 调用执行其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能科技利用推动承诺书6篇
- 根治性肝癌肝叶切除术后护理查房
- 教育培训项目完成承诺书8篇
- 人力资源招聘流程与工具清单
- 项目交付质量控制模板系统
- 2026年安徽省蚌埠局属校初三第二学期第3次练考英语试题含解析
- 云南省曲靖市重点名校2026届初三第三次质量检测试题试卷英语试题含解析
- 上海市浦东区重点中学2026届初三下学期5月热身英语试题含解析
- 2026年上海浦东第四教育署初三第六次质检语文试题含解析
- 陕西省榆林市绥德县市级名校2026年初三最后一模语文试题试卷含解析
- 民航安全检查掌握证件检查课件
- 养成教育六行动
- 高一下期《化学必修第二册》实验课计划
- 手工焊锡知识培训课件
- 摄像头基础知识
- 融媒体语境下河南卫视文化节目品牌建设浅析
- Supplier-Audit-Check-List半导体芯片制造企业供应商审核清单
- 电机轴承知识与润滑知识
- 高考生物选择性必修1稳态与调节基础知识填空默写(每天打卡)
- DL-T5461.1-2012火力发电厂施工图设计文件内容深度规定第1部分:总的部分
- DL-T976-2017带电作业工具、装置和设备预防性试验规程
评论
0/150
提交评论