江苏省计算机等级考试VFP第三章归纳Word格式文档下载.docx

上传人:b****5 文档编号:18689970 上传时间:2022-12-31 格式:DOCX 页数:13 大小:84.12KB
下载 相关 举报
江苏省计算机等级考试VFP第三章归纳Word格式文档下载.docx_第1页
第1页 / 共13页
江苏省计算机等级考试VFP第三章归纳Word格式文档下载.docx_第2页
第2页 / 共13页
江苏省计算机等级考试VFP第三章归纳Word格式文档下载.docx_第3页
第3页 / 共13页
江苏省计算机等级考试VFP第三章归纳Word格式文档下载.docx_第4页
第4页 / 共13页
江苏省计算机等级考试VFP第三章归纳Word格式文档下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

江苏省计算机等级考试VFP第三章归纳Word格式文档下载.docx

《江苏省计算机等级考试VFP第三章归纳Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《江苏省计算机等级考试VFP第三章归纳Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。

江苏省计算机等级考试VFP第三章归纳Word格式文档下载.docx

不需要加定界符;

否则,系统会把定界符作为字符

串本身的一部分。

如果不输入任何内容而直接按回

车键,系统会把空串赋给指定的内存变量。

ACCEPT 

TO 

▪格式3:

WAIT字符表达式TO内存变量

WINDOWTIMEOUT数值表达式  

该命令显示字符表达式的值作为提示信息

,暂停程序的执行,直到用户按任意键或单击鼠

标时继续程序运行。

<

内存变量>

用来保存用户输入的字符,其类

型为字符型。

TIMEOUT子句用来设定等待时间(秒)

WAIT“输入无效,请重输…”WINDOW

TIMEOUT5:

在VFP主窗口显示一提示窗口,显示

信息“输入无效,请重输…”,之后程序暂停输入,

5秒后或按任意键提示窗口关闭,程序继续执行。

考点2:

程序基本结构

▪顺序结构

▪选择|分支结构

•If…else…endif

•Docase…case…Otherwise…EndCase

▪循环结构

•For…..EndFor

•Dowhile…EndDo

•Scan….EndScan

▪IF<

条件>

<

语句序列1>

else

语句序列2>

endif

语句序列3>

当条件为.T.时,先执行语句序列1,再执行语句

序列3;

当条件为.F.时,先执行语句序列2,再执行语句

▪IF语句可以嵌套,但不能交叉,即最先出现的if和最后出现的endif成对,最后出现的if和最先出现的endif成对

例1:

下列程序段的输出结果是 

  ACCEPT 

  IF 

A=[] 

   

S=0 

  ENDIF 

  S=1 

  ?

 

  RETURN 

A.0 

B.1 

C.由A的值决定 

D.程序出错 

例2:

下列程序运行后,x的值为30,y的值为-2。

CLEAR

x=26

y=0

IFINT(x/2)=x/2

y=mod(x,3)

x=x+4

ENDIF

IFINT(x/3)=x/3

y=mod(x,-4)

ENDIF

?

x

y

例3:

下程序最后在屏幕显示的结果是:

A.oneB.two C.three D.four

SETEXACTON

s=“ni”+SPACE

(2)

IFs==“ni”

IFs=“ni”

?

“one”

ELSE

“two”

“three”

“four”

RETURN

▪DOCASE

CASE<

条件1>

条件2>

……

条件n>

语句序列n>

OTHERWISE<

语句序列n+1>

ENDCASE<

语句序列n+2>

▪依次判断CASE后的条件是否成立,若某个

CASE后的条件成立,则执行其后的语句序列,然

后执行ENDCASE后的语句序列;

若所有CASE后的条件都不成立,则执行

OTHERWISE后的语句序列,然后执行ENDCASE

后的语句序列。

▪只有最先成立的CASE条件后的语句序列被执行

▪DOCASE和ENDCASE必须成对使用

执行下列程序后,输出到屏幕上的结果为:

Clear

Store5toa,b

Store1toc,d

d=b^2-4*a*c

Docase

cased<

d=100

cased=0

d=200

cased>

d=300

ENDCASE

d

▪DOWHILE<

[LOOP]

[EXIT]

ENDDO

•循环体:

•先判断DOWHILE后的条件是否成立,若为.T.则执行循环体,执行到ENDDO时返回DOWHILE重新判断条件是否成立,若为.T.则继续执行循环体;

若为.F.则结束循环,转去执行ENDDO后的语句。

•LOOP:

结束循环体的本次执行,转去DOWHILE重新判断循环条件是否成立

•EXIT:

结束循环体的执行,转去执行ENDDO后的语句。

如下程序显示的结果是【13】。

  s=1

  i=0

  dowhilei<

8

  s=s+i

  i=i+2

  enddo

s

执行下列程序,显示的结果是 

KROW 

one=”WORK”

two=“”

a=LEN(one)

i=a

DO 

WHILE 

i>

=1

two=two+SUBSTR(one,i,1)

i=i-1

ENDDO

two

执行以下程序,屏幕显示为:

1015

x=8

DOWHILE.T.

x=x+1

IFx=INT(X/4)*5

ELSE

LOOP

IFx>

10

EXIT

例4:

完善下列程序,使其产生10个随机的大写英文字母:

i=1

DOWHILEi<

=10

k=INT(RAND()*100)+1

IFk>

=65ANDk<

=90

CHR(k)

i=i+1

例5:

下列程序段执行以后,内存标量y的

值是:

x=12345

DOWHILEX>

y=y+x%10

x=int(x/10)

A.54321B.12345C.51D.15

FOR循环变量=初值to终值STEP步长

循环体

▪ENDFOR循环条件:

循环变量<

=终值(步长为正)

循环变量>

=终值(步长为负)

▪若循环条件成立,则执行循环体;

每执行循环体,循环变量会增加一步长值,并再次判断循环条件是否成立,成立则继续执行循环体,不成立则执行ENDFOR后的语句序列。

▪步长值可正可负,默认为1.

▪LOOP:

结束循环体的本次执行,循环变量增加一个步长值,再次判断循环条件是否成立。

语句序列

运行下列程序后显示结果为:

南大信管系

CLEAR

C=”南京大学信息管理系”

FORI=1TOLEN(C)/2

IFI%2<

>

?

SUBS(C,2*I-1,2)

ENDIF

ENDFOR

完善下列程序以显示7~~1000以内能被7整除、且含有数字5的所有整数(例如35、、、、、、、、、、56、105等)。

FORn=7TO1000step7

ch=allt(str(n))

IF“5”$ch

n

ENDFOR

)完善下列程序,使程序的运行结果如右图所示。

FORi=1TO9

FORj=1TO9

IFi<

=j

STR(i,1)+"

*"

+STR(j,1)+"

="

+STR(i*j,2)+SPACE

(2)

ENDIF

?

下列程序用来计算数列2/1,3/2,5/3,…,

155/18,173/19,192/20,…的前20项之和。

m=2

s=0

FORi=1to20

s=s+m/i

m=m+i

s

例5:

3

cstring=“VisualFoxPro”

nresult=0

m=len(cstring)

FORn=1tom

c=SUBSTR(cstring,n,1)

IF!

BETWEEN(ASC(c),ASC(“A”),ASC(“Z”))

nresult=nresult+1

nresult

考点3:

过程或自定义函数

▪过程定义

PROCEDURE过程名

PARAMETERS形式参数列表

命令序列>

RETURN<

表达式>

ENDPROC

•形式参数最多27个

•RETURN<

指定过程的返回值

•RETURN:

返回值为.T.

自定义函数:

FUNCTION函数名

ENDFUNC

▪过程或自定义函数的调用与执行

DO过程名with实参1,实参2,……

•格式2:

过程名(实参1,实参2,……)

✓参数个数和数据类型必须和过程或自定义函数中所定义的参数个数及数据类型一致。

✓打开过程文件的命令:

setprocedureto过程名

▪参数传递的2种方式:

按值传递和引用传递

•格式1如果实参是变量名,地址传递.

   实参是常量,值传递.

•格式2默认按值传递

•Setudfparmstovalue/reference改变格式2参数的传递方式,但对格式1不起作用

•Setudfparmstovalue按值传递,形参的改变不会影响实参的取值

•Setudfparmstoreference按引用传递,形参改变时实参也随之改变

▪无论哪种格式,一个参数用()括号括起后,就按照值传递.

▪无论哪种格式,一个参数前加@就按照引用传递.

▪从变量的作用域划分,内存变量分为全局变量,私有变量,局部变量.

▪全局变量(PUBLIC)

✓在任何模块中均可使用,又称公共变量

✓先定义后使用

例:

publicx,y

✓定义后未赋值前其初值为.F.

✓在命令窗口中直接使用的变量是全局变量

▪私有变量(private)

✓在建立它的模块及其下属模块中使用

privatex,y

✓没有通过public和local声明在程序中直接使用的变量是私有变量

▪局部变量(local)

✓在建立它的模块中使用,不能在上层或下层模块使用

localx,y

下列程序段执行以后,内存变量A和B的值是( )。

A=10

B=20

SETUDFPARMSTOREFERENCE

DOSQWITH(A),B&

&

参数是值传送,B是引用传送

A,B

PROCEDURESQ

PARAMETERSX1,Y1

X1=X1*X1

Y1=2*X1

A.10200 

B.100200C.10020 

D.1020

在VisualFoxPro中,有如下程序:

*程序名:

TEST.PRG*子程序:

SUB1

SETTALKOFFPROCEDURESUB1

PRIVATEX,YLOCALX

X="

数据库"

X="

应用"

Y="

管理系统"

Y="

系统"

DOSUB1X=X+Y

X+YRETURN

RETURN

执行命令DOTEST后,屏幕显示的结果应是

数据库系统

下列程序段执行以后,内存变量X和Y的值是:

STORE3TOX

STORE5TOY

PLUS((X),Y)

X,Y

PROCEDUREPLUS

PARAMETERSA1,A2

A1=A1+A2

A2=A1+A2

A.813 B.313 C.35 D.85

完善下列自定义函数STR_RV(),要求其功能为将一个字符串进行“反序”。

例如STR_RV(“ABCD”)的返回值为“DCBA”

FUNCTIONSTR_RV()

PARAMETERSC

p=SPACE(0)

DOWHILELEN(C)>

x=ASC(left(C,1))

127

p=LEFT(c,2)+p

c=SUBSTR(c,3)

p=LEFT(c,1)+p

c=SUBSTR(C,2)

returnp

ENDFUNCTION

执行下列主程序后,输出结果为:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1