第五章结构化程序设计基础程序文件是一个文本文件,默认扩展名为.PRG。用户可以使用vfp的文本编辑器或其他字处理软件创建程序文件。1.创建和编辑程序命令Modifycommand<程序文件名>2.运行程序文件格式:DO<程序文件名>DO可以在命令窗口中运行程序,也可以在程序中调用其他程序,还可以调用过程3.添加注释“*”符号或note命令用于给某个程序行添加注释,”&&”符号可在语句行的后面添加注释。4.简单的输入输入命令(1)输入字符命令ACCEPT[提示信息]to<内存变量>WAIT[提示信息][to内存变量][window[at行,列]][NOWAIT](2)输入表达式命令INPUT[提示信息]TO<内存变量>(3)格式化输入/输出命令格式化输出命令:@<行,列>say[显示信息]格式化输入命令:@<行,列>say[显示信息]GET<变量>READ5.其他命令清屏命令clear设置会话状态settalkon/off设置文件安全setsaftyon/off5.测试函数测试行坐标的函数ROW()返回类型:N测试列坐标的函数COL()返回类型:N6.结构化程序有3种基本程序结构:顺序结构、选择结构、循环结构顺序结构是最基本的程序结构,也是使用得最广泛的程序结构。(1)单分支选择结构格式:IF<条件><语句组>ENDIF满足条件语句组ENDIF后面的语句NY(2)双分支选择结构格式:IF<条件><语句组1>ELSE<语句组2>ENDIF满足条件语句组1语句组2ENDIF后面的语句YN(3)多分支选择结构格式:DOCASECASE<条件1><语句组1>CASE<条件2><语句组2>……CASE<条件n><语句组n>[OTHERWISE]<语句组>ENDCASE满足条件1满足条件2满足条件n…有OTHERWISEENDCASE后面的语句NNNN语句组1Y语句组2Y语句组nY语句组1Y循环结构(1)指定条件的循环格式:DOWHILE<条件><语句组>ENDDO(2)针对记录的循环格式:SCAN[FOR条件]<语句组>ENDSCAN(3)指定次数的循环格式:FOR<变量>=<初值>TO<终值>[STEP步长]<语句组>ENDFOR7.循环控制命令(1)终止本次循环,使程序再次检查是否满足条件,以决定是否进行下一次循环LOOP(2)结束循环,使程序执行循环结构后面的语句EXIT满足条件1语句组语句组LOOPY循环后面的语句满足条件1语句组语句组EXIT循环后面的语句YNN子程序子程序具有特定功能和逻辑结构的完整程序段。它可以独立存在,也可以被调用。一个文件只能有一个子程序,多个子程序要存放多个文件中,可直接调用,无返回值主程序:只能调用其他的程序而不能被其他程序调用子程序:是一个程序文件,能被主程序调用,也能被其它子程序调用格式:[PARAMETERS<形参表>]<命令序列>return调用格式:do<文件名>[with<实参表>]注意:子程序不能出现循环调用过程定义:是一种特殊的子程序,可以和主程序在同一个文件中,也可以一个或多个过程存放在一个文件中,如和主程序在一个文件中可直接调用,否则,必须通过打开过程文件才可以调用,使用完再将过程文件关闭,有返回值。格式:PROCEDURE<过程名>[PARAMETERS参数列表]语句组[RETURN<表达式>][ENDPROC]调用格式:1、DO过程名[with参数列表]2、过程名(参数列表)3、DO过程名[with参数列表]IN<文件名>过程结束,一般不用打开过程文件的命令格式:setprocedureto[过程文件]关闭过程文件的命令格式:setproceduretocloseprocedurereleaseprocedure<过程文件表>PARAMETERS声明的变量是私有变量LPARAMETERS声明的变量是局部变量8.内存变量(1)全局变量PUBLIC<内存变量表>初值为.F.,程序运行结束,返回命令窗口,不会被自动删除,用clearmemory或release变量表命令删除;命令窗口中使用赋值命令或系统自动建立的内存变量是全局变量。必须先定义(2)私有变量PRIVATE<内存变量表>在程序中使用赋值命令或由系统自动建立的变量都是私有变量私有变量,当程序运行结束,会自动删除该私有变量(3)局部变量LOCAL<内存变量表>当程序运行结束,返回上一级程序时,自动删除该程序建立的局部变量,必须先定义,后使用。初值.F.自定义函数概念:函数和子程序,过程一样,是独立模块,调用关系也相同,它的程序段要和主调程序在同一个文件中,它的调用和标准函数相同,它可以进行参数传递,可以有返回值。格式:function<函数名>[parameters<形参表>]<命令序列>[return<表达式>][endfunc]Retur...