26、完善下列程序,其功能是统计一个仅由数字组成的字符串中各种数字字符的个数: Clear
cStr=\
Store 0 To n0,n1,n2,n3,n4,n5,n6,n7,n8,n9 Do while Len(cStr)>0 C=Left(cStr,1)
n&C=【 n&c.+1/ n&c+1 】
cStr=【 SUBSTR(cStr,2)/ SUBS (cStr,2) 】 Enddo
? n0,n1,n2,n3,n4,n5,n6,n7,n8,n9
27、以下程序产生1000个0-100之间的随机整数,并且统计互不相同的数据个数. CLEAR n=1000
DIMENSION x(n),p(n) &&数组P用于存储数是否相同的标识 FOR i=1 T0 n
x(i)=INT(RAND()*100) ENDFOR s=O
FOR i=1 T0 n-1 FOR j=i+l TO n IF x(i)=x(j) p(i)=.T. 【 Exit 】 ENDIF ENDFOR ENDFOR
FOR i=1 TO n IF !p(i) s=s+1 ENDIF ENDFOR ?s
28、完善下列程序,以实现通过字符串变量操作竖向显示\天长地久\、横向显示\地久天长\
的功能.程序清单如下: SET TALK OFF
STORE \天长地久\ CLEAR n=1
DO WHILE n<8
?substr【 (ch,n,2) 】 n=n+2 ENDDO
?substr【 (ch,5,4)/ (ch,5) 】 ??SUBSTR(ch,1,4)
29、一只球从100米的高度自由落下,每次落地后反弹回原高度的一半.下列程序的功能是:
计算并显示当它在第10次落地时,总共经过的距离和第10次反弹的高度. 【程序清单】 CLEAR S=100 h=50
FoR i=1 TO 9 s=s+h*2
h=【 h/2 】 ENDFOR
?\球在第10次落地时,共经过了:'+ALLT(STR(s,10,6))+\米\ ?\球第1O次反弹的高度是:\米\30、执行下列程序后,输出到屏幕的结果为【 3 】. 【程序清单】 CLEAR
cstring=\ nresult=0
m=LEN(cstring) FOR n=1 to m
c=SUBSTR(cstring,n,1)
IF !BETWEEN(ASC(c),ASC(\ LOOP ENDIF
nresult=nresult+l ENDFOR
?nresult
31、运行下列程序后,显示的运行结果的第二行为 【 11*11=121 】 SET TALK OFF CLEAR
Y=\
FOR I=1 TO LEN(y) X=LEFT(y, i)
?SPACE(20-i*2)+x+\ ENDFOR
32、下列自定义函数 NTOC ()的功能是:当传送一个 1~7 之间的数值型参数时,
返回一个中文形式的\星期日 ~ 星期六\例如,执行命令? NTO ( 4 ),显示\星期三\FUNCTION NTOC PARAMETERS n LOCAL ch
ch=\日一二三四五六\
mch=\星期\【 2*n-1 】,2) RETURN mch ENDFUNC
33、运行下列程序后,显示的运行结果为 【 FoxPro 】. ?TT(\ FUNCTION TT PARA cstr
cResult=space(0)
FOR n=1 to LEN(ALLT(cStr)) c=SUBSTR(cStr,n,1)
IF !BETWEEN(c,\ LOOP ENDIF
cResult=cResult+CHR(ASC(c)+1) ENDFOR
RETURN cResult ENDFUNC
34、执行下列程序后,输出到屏幕的结果为【 300 】 . 【程序清单】 CLEAR
STORE 5 TO ml,m2 STORE 1 TO m3,m4
DO PA WITH ml,m2,m3,m4 ?m4
PROCEDURE PA
PARAMETER a,b,c,d d=b^2-4*a*c DO CASE CASE d<0
d=100 CASE d=0 d=200 CASE d>0 d=300 ENDCASE RETURN
35、已知STUDENT表有20条记录,执行以下代码后,屏幕显示的是【 10 】
clear close all use student i=0 scan i=i+1 skip
endscan ?i
36、完善下列程序,以显示7~1000以内能被7整除且含有数字5的所有证书(例如35、 56、
105等).
FOR n=7 TO 1000 【 step 7 】 ch=ALLT(STR(n)) IF \ ?n ENDIF ENDFOR
37、表达式STR(YEAR(DATE()+10))的值的数据类型为【 字符/C 】型 38、完善下列程序,计算3+33+333+3333+33333+……前十项之和。 CLEAR m=3 n=0 s=0
FoR i=1 TO 10
n=【 n*10+3/ int(10**i/3) 】 s=s+n ENDFor
39、运行以下程序后, VFP 主窗口显示的结果是 【 6 】 . 【程序清单】 CLEAR i=0 n=0
DO WHILE i<=10
IF MOD(i,2)=0 n=n+1 ENDIF i=i+1 ENDDO ?n
40、循环语句中跳过当前循环,直接进入下一轮循环的语句是【 loop 】
41、依次执行以下命令之后,最后一条命令的输出结果是【 Visual FoxPro6.0 】
SET EXACT OFF x=\
?IIF(x=\
42、在VFP命令窗口中输入并执行命令【 _Screen 】.FontSize=20,可以使VFP主窗口中输
出文本的字号设置为20.
43、命令关键字和函数名一般可以缩写为前四个字母,但MEESSAGEBOX()函数的缩写为 【 messageb()/messageb 】
44、在定义数组时,使用DECLEAR和【 dimension/ dim 】声明的数组属于\私有数组\而使用PUBLIC命令声明的数组属于\全局数组\使用LOCAL命令声明的数组属于\局部数组\45、在面向对象的程序设计中,通过类可以简化应用程序的设计,因为类具有【 继承性 】、
多态性、封装性、抽象性等特点.
46、执行下列主程序后,输出结果为【 22 】 ****主程序**** CLEAR
Public x, y ,z X=3 Y=4 Z=5 Do pp ? x+y+z
****过程**** Procedure PP LOCAL x X=5 Y=7 Z=x+y EndPROC
47、完善以下用户自定义函数,使得当输入0——9之间的整数时,函数返回对应的中文:
function ntoc parameter pdi
cstr=\零一二三四五六七八九\
cresult=substr(cstr,【 pdi*2+1 】,【 2 】) return 【 cresult 】
endfunc
48、下列程序段用一句命令表示为【 】
DO CASE
CASE X>=85
Y= '优秀'
CASE X>=60
and x<85
Y='及格' OTHERWISE
Y='不及格'
ENDCASE 答案:
y=iif(x>=85,\优秀\及格\不及格\或y=iif(x>=85,\优秀\不及格\及格\或y=iif(x<60,\不及格\优秀\及格\或y=iif(x<60,\不及格\及格\优秀\
49、设定日期显示格式中,年的表示是否显示4位数的命令是【 set century/ set cent 】
on|off
50、在VFP中,利用可是化开发工具(表单设计器)创建表单和对象.通过对对象属性的修改、
方法程序的调用来处理对象.相对引用对象时,所设计的关键字THIS、THISFORMTHISFORMSET只能在方法程序或【 事件 】处理代码中使用.