《VFP复习题第5章.doc》由会员分享,可在线阅读,更多相关《VFP复习题第5章.doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章一、填空 共64题 (共计64分)第1题 (1.0分) 题号:309以下程序的功能是将英文字母组成的字符串加密.加密的算法是:如果是大写字母,用原字母后面的第4个字母代替原字母,否则用原字母后的第2个字母代替原字母,如原文China,加密后的密文是Gjkpc,完善下列程序:m=space(0)c=Chinafor i=1 to 【len(c)】 nc=asc(substr(c,I,1) if nc64 【and】 nc0 x=ASC(【LEFT(c,1)】) IF x127 &ASCII码值大于127的字符为汉字(x为半个汉字的机内码) i=2 ELSE i=1 ENDIF P=LEFT
2、(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
3、+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
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 i10 EXIT ENDIF ENDD0第14题 (1.0分) 题号:302已知在命令行输入 ?at(e, Hello everyone!,3)其返回值为9,则?at(e, Hello everyone!,2)返回值为【7】第15题
5、 (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= *9+7= *9+8= *9+9= *9+10=完善下列程序: 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+
6、 i+1) ENDFOR第17题 (1.0分) 题号:274使用LOCAL、PRIVATE和PUBLIC关键字可以指定变量的作用域.在命令窗口中创建的任何变量或数组均为【全局】性变量.第18题 (1.0分) 题号:277函数LEN(STR()的返回值为【10】,函数LEN(DTOC(DATE()的返回值为【8】第19题 (1.0分) 题号:1335下面有两段程序代码,它们的功能【相同】(注:答相同或不相同).【程序一清单】nSum=0p=1FOR i=1 TO 10p=p*inSum=nSum+pENDFOR?nSum 【程序二清单】nSum=0FOR i=1 to 10nSum=nSum+f
7、JC(i)ENDFOR?nSumFUNCTION fJCPARAMETERS xp=1FOR n=1 TO x p=P*nENDFORRETURN pENDFUNC 第20题 (1.0分) 题号:282完善程序题.下列自定义函数DeleteSpace()的功能是将一个字符串中的所有空格删除:FUNCTION DeleteSpacePARAMETERS cStrcResult=SPACE(0)FOR n=1 TO 【len(cstr)】 IF SUBSTR(cStr,n,1)=SPACE(1) 【loop】 ENDIF cResult=cResult+SUBSTR(cStr,n,1)ENDFOR
8、RETURN 【cResult】ENDFUNC第21题 (1.0分) 题号:1271完善下列程序,其功能是统计一个仅由数字组成的字符串中各种数字字符的个数: 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】 cStr=【SUBS (cStr,2)】 Enddo ? n0,n1,n2,n3,n4,n5,n6,n7,n8,n9第22题 (1.0分) 题号:1230以下程序产生1000个0-100之间的随机整数,并且统计互不相同的数据个数. CLEA
9、R 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第23题 (1.0分) 题号:1272实现如下表达式的和:1+3+5+7+9+11,请完善如下程序:s=0 For I=1 to 11 if mod(I,2)=0 【LOOP
10、】 EndIf s=s+i EndFor ?s第24题 (1.0分) 题号:300完善下列程序,以实现通过字符串变量操作竖向显示天长地久、横向显示地久天长的功能.程序清单如下: SET TALK OFF STORE 天长地久 TO ch CLEAR n=1 DO WHILE n8 ?substr【(ch,n,2)】 n=n+2 ENDDO ?substr【(ch,5)】 ?SUBSTR(ch,1,4)第25题 (1.0分) 题号:1204一只球从100米的高度自由落下,每次落地后反弹回原高度的一半.下列程序的功能是:计算并显示当它在第10次落地时,总共经过的距离和第10次反弹的高度. 【程序清
11、单】 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次反弹的高度是:+ALLT(STR(h,10,6)+米第26题 (1.0分) 题号:1202执行下列程序后,输出到屏幕的结果为【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 END
12、IF nresult=nresult+l ENDFOR ?nresult 第27题 (1.0分) 题号:1316运行下列程序后,显示的运行结果的第二行为 【11*11=121】 SET TALK OFF CLEAR Y= FOR I=1 TO LEN(y) X=LEFT(y, i) ?SPACE(20-i*2)+x+*+x+=+ALLT(STR(VAL(x)*VAL(x) ENDFOR第28题 (1.0分) 题号:1343下列自定义函数 NTOC ()的功能是:当传送一个 17 之间的数值型参数时,返回一个中文形式的星期日 星期六.例如,执行命令? NTO ( 4 ),显示星期三. FUNCT
13、ION NTOCPARAMETERS nLOCAL chch=日一二三四五六mch=星期=SUBSTR(ch,【2*n-1】,2)RETURN mchENDFUNC第29题 (1.0分) 题号:279函数或过程的参数可以是变量或数组元素,并可以通过值或引用传递.如果希望自定义函数修改参数,并将修改后的值返还给主程序,则应通过【引用】传递函数.第30题 (1.0分) 题号:1291运行下列程序后,显示的运行结果为 【FoxPro】. ?TT(123E%n w$O4q*5n6) FUNCTION TT PARA cstr cResult=space(0) FOR n=1 to LEN(ALLT(c
14、Str) c=SUBSTR(cStr,n,1) IF !BETWEEN(c,A,Z) and !BETWEEN(c,a , z) LOOP ENDIF cResult=cResult+CHR(ASC(c)+1) ENDFOR RETURN cResult ENDFUNC第31题 (1.0分) 题号:297设有一表文件xs.dbf 且已在当前工作区中打开,则使用命令COPY TO 【xs type xls】,可以将该表的数据复制到Excel文件xs.xls中.第32题 (1.0分) 题号:1203执行下列程序后,输出到屏幕的结果为【300】 . 【程序清单】 CLEAR STORE 5 TO m
15、l,m2 STORE 1 TO m3,m4 DO PA WITH ml,m2,m3,m4 ?m4 PROCEDURE PA PARAMETER a,b,c,d d=b2-4*a*c DO CASE CASE d0 d=300 ENDCASE RETURN第33题 (1.0分) 题号:308已知STUDENT表有20条记录,执行以下代码后,屏幕显示的是【10】clearclose alluse studenti=0scan i=i+1 skipendscan?i第34题 (1.0分) 题号:288在自定义函数中,定义形式参数的关键字为【para】第35题 (1.0分) 题号:1286在 VFP
16、中,每个对象都具有属性,以及与之相关的【事件和方法】.其中,属性是定义对象的特征或某一方面的行为.第36题 (1.0分) 题号:1314完善下列程序,以显示71000以内能被7整除且含有数字5的所有证书(例如35、 56、 105等). FOR n=7 TO 1000 【step 7】 ch=ALLT(STR(n) IF 5$ch ?n ENDIF ENDFOR第37题 (1.0分) 题号:293表达式STR(YEAR(DATE()+10)的值的数据类型为【字符 】型第38题 (1.0分) 题号:1249完善下列程序,计算3+33+333+3333+33333+前十项之和。 CLEAR m=3
17、 n=0 s=0 FoR i=1 TO 10 n=【n*10+3】 s=s+n ENDFor第39题 (1.0分) 题号:1327运行以下程序后, VFP 主窗口显示的结果是 【6】 .【程序清单】CLEARi=0n=0DO WHILE i=85,优秀,iif(x=60, 及格, 不及格)】DO CASECASE X=85Y= 优秀CASE X=60 and x 10 EXITENDIFENDDO第48题 (1.0分) 题号:305完善下列程序,使其具有如下功能:将任意输入的十进制正整数转换为十六进制数形式并显示.(提示:字母A的ASCII 码为65;INPUT语句用于从键盘上输入一个数据)S
18、ET TALK OFFCLEARINPUT 请输入任一正整数 TO num &输入一个数,并赋予变量numnum 1 = numxnum = SPACE ( 0 )y =IIF(MOD(num,16)9,CHR(【55+mod(num,16)】),str(MOD(num,16),1)DO WHILE num 15 xnum =&y + xnum num = INT (【num/16】)ENDDOxnum =&y+xnumWAIT WINDOW STR(【num1】) +转换为十六进制后为+xnum第49题 (1.0分) 题号:275在定义数组时,使用DECLEAR和【dim】声明的数组属于私有
19、数组,而使用PUBLIC命令声明的数组属于全局数组,使用LOCAL命令声明的数组属于局部数组.第50题 (1.0分) 题号:1201下列程序用来计算数列2/1,3/2,5/3,155/18,173/19,192/20,的前20项之和.阅读程序并完善,使它能实现要求的功能. 【程序清单】 CLEAR m=2 s=0 FOR i=1 TO 20 s=s+m/i m=【m+i】 ENDFOR ?s第51题 (1.0分) 题号:280完善程序题.下列程序的功能是计算下列数列1!,2!,3!,n!的前10项之和:nResult=0nMult=【1】FOR n=1 TO 10 &计数变量 nMult=nM
20、ult*n nResult=【nResult+nMult】ENDFOR?nResult第52题 (1.0分) 题号:1234在面向对象的程序设计中,通过类可以简化应用程序的设计,因为类具有【继承性】、多态性、封装性、抽象性等特点.第53题 (1.0分) 题号:1250完善下列程序,使两个程序的功能相同。 程序清单1 CLEAR S=0 P=1 For i=1 to 20 P=【P*I】 S=S+P ENDFOR ? s 程序清单2 CLEAR S=0 N=1 For i=1 to 20 M=1 For n=1 to i M=M*n Endfor S=S+M Endfor ? S第54题 (1.
21、0分) 题号:295下列程序用来求0100偶数之和,请将它写完整STORE 0 TO N, SDO WHILE .T. IF N100 【Exit】 ELSE S=S+N ENDIF N=N+2ENDDO第55题 (1.0分) 题号:1229本题程序求以下正项级数的近似值: 【程序清单】 CLEAR i=0 sn1=O DO WHILE .T. i=i+1 sn1=sn1+l/(i*(i+1)*(i+2) sn2=【sn1+1/(i+1)*(i+2)*(i+3)】 IF ABS(sn2-snl)0.0001 【Exit】 ENDIF ENDDO ?sn2第56题 (1.0分) 题号:285设定
22、日期显示格式中,年的表示是否显示4位数的命令是【set cent】on|off第57题 (1.0分) 题号:1312在VFP中,利用可是化开发工具(表单设计器)创建表单和对象.通过对对象属性的修改、方法程序的调用来处理对象.相对引用对象时,所设计的关键字THIS、THISFORM、THISFORMSET只能在方法程序或【事件】处理代码中使用.第58题 (1.0分) 题号:296运行下列程序段以后,显示内容的前两行为:【ABCDE】和【BCDE】SET TALK OFFS=ABCDEFN=LEN(S)K=1DO WHILE K=N ? SUBS(S,K,N-K) K=K+1ENDDO第59题 (
23、1.0分) 题号:292VFP系统中,程序控制分为顺序、分支和【循环】.第60题 (1.0分) 题号:1200完善下列程序,使两个程序的功能相同(求一个数列的前20项之和). 【程序清单1】 【程序清单2】 CLEAR CLEAR s=0 s=0 FOR i=1 To 20 FOR i=l TO 19 STEP 2 s=s+(-1)*(i+1)/(【i*2+i】) s=s+1/(i*(i+1)-1/(i+1)*(i+2) ENDFOR ENDFOR ?s ?S第61题 (1.0分) 题号:290下面的程序是给具有20个元数的一元数组赋整数值,并使其值的范围在099之间,完成程序(已知rand(
24、)是随机变量,其随机产生的值在0.01.0之间.提示:函数 int()返回其参数的整数部分)dime mm(20)for i=1 to 20 【mm(i)=int(rand()*100)】endf第62题 (1.0分) 题号:312当人机交互改变对象的值时发生的事件是【interactivechange】,该事件在组合框、列表框等对象中被常常使用第63题 (1.0分) 题号:301运行下面的程序字段后屏幕显示的运行结果是:【33】 SET TALK OFF STORE 4 TO N ?S(N) FUNCTION S PARAMETERS X Y=1 P=0 FOR i=1 TO X Y=Y*i
25、 P=P+Y ENDF Return P ENDF第64题 (1.0分) 题号:1329有如下程序代码: DIMENSION xx4ta=TYPE(xx1)xx1=VFPxx=1113tb=TYPE(xx1)则这段程序运行后,变量 ta 和 tb 的值分别是 【L】和【N】 . 二、单项选择 共22题 (共计22分)第1题 (1.0分) 题号:269对于表单对象来说,下列事件中最后发生的事件是(D)A:load B:init C:activate D:destroy第2题 (1.0分) 题号:277下列四个语句中返回值在1-100之间的是(B)A:int(rand()*101) B:int(rand()*100)+1C:int(rand()*100) D:int(rand()*101)+1第3题 (1.0分) 题号:261DIMENSION命令用来对(D)定义A:对象 B:变量 C:字段 D:数组第4题 (1.0分) 题号:271已知一张数据表Student有20条记录,以下程序执行后返回数值是(C)close
限制150内