VFP复习题第5章

  • 格式:doc
  • 大小:121.00 KB
  • 文档页数:18

第五章

一、填空 共64题 (共计64分)

第1题 (1.0分) 题号:309

以下程序的功能是将英文字母组成的字符串加密.加密的算法是:

如果是大写字母,用原字母后面的第4个字母代替原字母,

否则用原字母后的第2个字母代替原字母,如原文"China",加密后的密文是"Gjkpc",

完善下列程序:

m=space(0)

c="China"

for i=1 to 【len(c)】

nc=asc(substr(c,I,1))

if nc>64 【and】 nc<91 &&该字母的ASC值在64之91之间,表明该字母是大写

m=m+【chr(nc+4)】

else

m=m+chr(nc+2)

endif

endf

第2题 (1.0分) 题号:1178

完善下列程序,其功能是显示如下所示的文字图形.

字字

大大大

宝宝宝宝

塔塔塔塔塔

【程序清单】

CLEAR

c="金字大宝塔"

n=LEN(c)/2

FOR i=1 TO n

?SPACE(70-i)

FOR j=1 【TO i】

?? SUBS(C,2*i-1,2)

=INKEY(0.5)

ENDFOR

ENDFOR

第3题 (1.0分) 题号:1273

请写出x的值【30】,y值是【-2】

X=26

y=0

if int(x/2)=x/2

y=mod(x,3)

x=x+4

endif if int(x/3)=x/3

y=Mod(x,-4)

endif

? x,y

第4题 (1.0分) 题号:291

如果当前日期是2000年4月1日,并且命令 ?date()在屏幕上返回 04/01/00,

则命令行 ?date()+10在屏幕上返回的值为【04/11/00】

第5题 (1.0分) 题号:294

已知N="1",M="2",X12="GOOD",则表达式X&N&M的值为【GOOD】

第6题 (1.0分) 题号:307

已知有三个文件分别程序文件、查询文件、表单文件,文件名都是a,

请问运行程序文件的命令是【do a】、

运行查询文件的命令是【do a.qpr】、

运行表单文件的命令是【do form a】

第7题 (1.0分) 题号:1206

执行下列程序后,输出到屏幕的结果为【3】。

【程序清单】

CLEAR

cstring="VisualFoxPro"

nresult=0

m=LEN(cstring)

FOR n=1 to m

c=SUBSTR(cstring,n,1)

IF !BETWEEN(ASC(c),ASC("A"),ASC("Z"))

LOOP

ENDIF

nresult=nresult+l

ENDFOR

?nresult

第8题 (1.0分) 题号:1179

完善下列自定义函数STR_RV(),其功能是将一个字符串(假设所有字符均为ASCII和GB2312字

符集中的字符)进行"反序".例如,STR_RV("ABCD")的返回值为"DCBA".

【程序清单】

FUNCTION str_rv()

PARAMETERS c

P=SPACE(O)

DO WHILE LEN(C)>0

x=ASC(【LEFT(c,1)】)

IF x>127 &&ASCII码值大于127的字符为汉字(x为半个汉字的机内码)

i=2

ELSE

i=1

ENDIF

P=LEFT(C,i)+P C=SUBSTR(c,i+1)

ENDDO

【RETURN P】

ENDFUNC

第9题 (1.0分) 题号:281

完善程序题.下列程序的功能是统计一个字符串中各个字符的个数(假设字符串仅由大写英文字母A,B,C,D组成):

cStr='AABBDDCABCDAADBCAACCDDDDBB' &&字符串赋初值

STORE 0 TO nA,nB,nC,nD, &&计数变量

for i=1 to 【len(cStr)】

C=LEFT(【cStr,1】)

do case

case C="A"

nA=nA+1

case C="B"

nB=nB+1

case C="C"

nC=nC+1

case C="D"

nD=nD+1

【ENDC】

EndF

第10题 (1.0分) 题号:303

在Visual FoxPro中,基类的事件集合是固定的,不能进行扩充.

基类的最小事件集包括Init 事件、Destroy 事件和【error】事件

第11题 (1.0分) 题号:1251

完善下列程序,是程序的结果如下图所示

1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9

2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18

3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27

4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36

5*5=25 5*6=30 5*7=35 5*8=40 5*9=45

6*6=36 6*7=42 6*8=48 6*9=54

7*7=49 788=56 7*9=63

8*8=64 8*9=72

9*9=81

*****程序*****

CLEAR

FOR i=1 TO 9

FOR j=1 TO 9

If i<=j

?? STR(I,1)+"*"+STR(j,1)+"="+【str(i*j,2)】 +SPACE(2)

ENDIF

ENDFOR 【?】

ENDFOR

第12题 (1.0分) 题号:286

如果2002年3月18号是星期一,则以下命令在屏幕上显示【2】

x={^2002/03/18}

?dow(x)

第13题 (1.0分) 题号:1177

执行以下程序段后,屏幕显示的运行结果为【15】 .

【程序清单】

CLEAR

x=12

Do WHILE .T.

x=x+1

IF x=INT(x/4)*5

??x

ELSE

LOOP

ENDIF

IF X>10

EXIT

ENDIF

ENDD0

第14题 (1.0分) 题号:302

已知在命令行输入 ?at("e", "Hello everyone!",3)其返回值为9,

则?at("e", "Hello everyone!",2)返回值为【7】

第15题 (1.0分) 题号:289

下面程序执行以后,屏幕上显示【.f.】

x=.t.

y=.f.

z=not(x and (y or x))

?z

第16题 (1.0分) 题号:1290

使程序的运行结果如下所示:

1*9+2=11

12*9+3=111

123*9+4=1111

1234*9+5=11111

12345*9+6=111111

123456*9+7=1111111

1234567*9+8=11111111

12345678*9+9=111111111

123456789*9+10=1111111111

完善下列程序:

SET TALK OFF CLEAR

x=space(0)

For i=1 to 【9】

x=x+allt(str(i))

?STR(VAL(x))+"*9+"+ 【str(I+1 )】 +"="+ ALLT(STR(VAL(x)*9+ i+1))

ENDFOR

第17题 (1.0分) 题号:274

使用LOCAL、PRIVATE和PUBLIC关键字可以指定变量的作用域.

在命令窗口中创建的任何变量或数组均为【全局】性变量.

第18题 (1.0分) 题号:277

函数LEN(STR(12345678901))的返回值为【10】,函数LEN(DTOC(DATE()))的返回值为【8】

第19题 (1.0分) 题号:1335

下面有两段程序代码,它们的功能【相同】(注:答"相同"或"不相同").

【程序一清单】

nSum=0

p=1

FOR i=1 TO 10

p=p*i

nSum=nSum+p

ENDFOR

?nSum 【程序二清单】

nSum=0

FOR i=1 to 10

nSum=nSum+fJC(i)

ENDFOR?nSum