20XX年软考程序员考试知识点
FoxPro程序设计
1.命令文件的建立、修改和运行
(1)命令文件的建立与修改MODIFYCOMMAND[<命令文件名>/?][INWINDOW<窗口名>/SCREEN] (2)命令文件的执行DO<命令文件名>
其中SETDEVELOPMENTON/OFF,处于ON状态是默认,执行新的版本,处于OFF状态,则执行旧版本。 (3)命令文件的注释NOTE<注释>*<注释>&&<注释> 2.顺序结构程序设计
(1)CLEAR是清屏命令,SETTALKON为默认,每执行一条命令就给出回应,RETURN是一条返回命令。 (2)非格式化输入命令
ACCEPT[<字符表达式>]TO<内存变量>接受从键盘输入的字符型数据,输入的字符串不必用引号括起来。<字符表达式>只是提示作用。
INPUT[<字符表达式>]TO<内存变量>接受从键盘输入的C,N,D,L等,若是字符串则必须用引号括起来。 WAIT[<字符表达式>]TO<内存变量>等待从键盘输入一个字符,<字符表达式>只能是提示作用。 SETCONSOLEON(默认,所有非格式化输入数据都显示)/OFF(相反) (3)格式化输入输出命令
格式化输出命令@<行,列>SAY<表达式>[PICTURE<描述符串>][FONT<字体>[,<字号>]]SETDEVICETOSCREEN屏幕输出
SETDEVICETOPRINT打印机输出
格式化输入输出命令@<行,列>[SAY<表达式1>]GET<内存变量>|<字段>[PICTURE<描述符串>][RANGE<表达式2>[,<表达式3>]]与READ合用,才能修改变量,一个READ可以修改前面多个@…GET的变量值,通常SAY只是提示作用。
定义文本编辑区
<行,列>EDIT<内存变量>SIZE<数值表达式1>,<数值表达式2>[FONT<字体>[,<字号>]][SCROLL]通过READ编辑,主要是对备注字段起作用。 清屏命令
CLEAR清除整个屏幕
<行1,列1)[CLEAR|CLEARTO<行2,列2>]清除屏幕局部区 3.分支语句IF<条件> <命令序列1> [ELSE <命令序列2>] ENDIF
多分支选择语句DOCASE
CASE<条件1> <命令序列1> CASE<条件2> <命令序列2> CASE<条件N> <命令序列N> [OTHERWISE <命令序列N+1>] ENDCASE
4.循环结构程序设计 DOWHILE<条件> <命令序列1> [LOOP] <命令序列2> [EXIT] ENDDO
FOR<循环变量>=<初值>TO<终止>[SETEP<步长>] <命令序列> [LOOP] [EXIT] ENDFOR
SCAN[<范围>][FOR<条件>][WHILE<条件>] <命令序列> [LOOP] [EXIT] ENDSCAN
5.过程及自定义函数 (1)过程PROCEDURE<过程名> [PARAMETERS<形参表>] <过程体> RETURN[TOMASTER]
其中[TOMASTER]在嵌套中使用,含有[PARAMETERS<形参表>]为有参过程。 (2)过程文件建立PROCEDURE<过程名1> <过程体1>
RETURN …………
过程文件的打开和关闭SETPROCEDURETO[<过程文件名>] CLOSEPROCEDURE
(3)过程的调用DO<过程名>[WITH<实参表>] (4)变量的作用域
全局变量PUBLIC<内存变量表> 局部变量:未经PUBLIC定义的 PRIVATE<内存变量表>
PRIVATEALL[LIKE<通配符变量名>|EXCEPT<通配符变量名>]隐藏指定的内存变量,避免同名变量 (5)定义自定义函数FUNCTION<函数名> [PARAMETERS<形参表>] <函数体> RETURN<表达式>
自定义函数的调用:函数名([<实参表>])
参数传递方式SETUDFPARMSTO[VALUE|REFERENCE]若选用VALUE为值传递(默认),不会改变变量的值,若REFERENCE,则为引用方式。 数据库的基本操作
库文件结构建立CREAT[<文件名>|?]其中A-J作为工作区代码 在把记录输入完后,按CTRL+W或CTRL+END存盘。 追加记录APPEND[BLANK]
记录显示LIST/DISPLAY[<范围>][FIELDS<字段名表>][FOR<条件>][WHILE<条件>][OFF][TOPRINTER/FILE<文件名>]
数据库文件打开USE[<库文件名>/?][ALIAS<别名>] 关闭数据库文件:关闭当前工作区打开的数据库文件USE 关闭当前打开的所有的库文件CLOSEDATABASES
数据库文件结构的显示:LIST/DISPLAYSTRUCTURE[TOPRINTER/TOFILE<文件名>] 数据库文件结构的修改:MODIFYSTRUCTURE*不能同时修改字段名和宽度
指针的移动
绝对移动
1.GO/GOTO[RECORD]<数值表达式>[IN<工作区号>/<文件别名>] 2.GO/GOTOTOP/BOTTOM[IN<工作区>/<文件名>]
相对移动SKIP[<数值表达式>][IN<工作区号>/<文件别名>] 插入记录INSERT[BEFORE][BLANK]