第五章一、填空共64题(共计64分)第1题(1.0分)题号:309以下程序的功能是将英文字母组成的字符串加密.加密的算法是:如果是大写字母,用原字母后面的第4个字母代替原字母,否则用原字母后的第2个字母代替原字母,如原文China,加密后的密文是Gjkpc,完善下列程序:m=space(0)c=Chinafori=1to【len(c)】nc=asc(substr(c,I,1))ifnc64【and】nc91&&该字母的ASC值在64之91之间,表明该字母是大写m=m+【chr(nc+4)】elsem=m+chr(nc+2)endifendf第2题(1.0分)题号:1178完善下列程序,其功能是显示如下所示的文字图形.金字字大大大宝宝宝宝塔塔塔塔塔【程序清单】CLEARc=金字大宝塔n=LEN(c)/2FORi=1TOn?SPACE(70-i)FORj=1【TOi】??SUBS(C,2*i-1,2)=INKEY(0.5)ENDFORENDFOR第3题(1.0分)题号:1273请写出x的值【30】,y值是【-2】X=26y=0ifint(x/2)=x/2y=mod(x,3)x=x+4endififint(x/3)=x/3y=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,请问运行程序文件的命令是【doa】、运行查询文件的命令是【doa.qpr】、运行表单文件的命令是【doforma】第7题(1.0分)题号:1206执行下列程序后,输出到屏幕的结果为【3】。【程序清单】CLEARcstring=VisualFoxPronresult=0m=LEN(cstring)FORn=1tomc=SUBSTR(cstring,n,1)IF!BETWEEN(ASC(c),ASC(A),ASC(Z))LOOPENDIFnresult=nresult+lENDFOR?nresult第8题(1.0分)题号:1179完善下列自定义函数STR_RV(),其功能是将一个字符串(假设所有字符均为ASCII和GB2312字符集中的字符)进行反序.例如,STR_RV(ABCD)的返回值为DCBA.【程序清单】FUNCTIONstr_rv()PARAMETERScP=SPACE(O)DOWHILELEN(C)0x=ASC(【LEFT(c,1)】)IFx127&&ASCII码值大于127的字符为汉字(x为半个汉字的机内码)i=2ELSEi=1ENDIFP=LEFT(C,i)+PC=SUBSTR(c,i+1)ENDDO【RETURNP】ENDFUNC第9题(1.0分)题号:281完善程序题.下列程序的功能是统计一个字符串中各个字符的个数(假设字符串仅由大写英文字母A,B,C,D组成):cStr='AABBDDCABCDAADBCAACCDDDDBB'&&字符串赋初值STORE0TOnA,nB,nC,nD,&&计数变量fori=1to【len(cStr)】C=LEFT(【cStr,1】)docasecaseC=AnA=nA+1caseC=BnB=nB+1caseC=CnC=nC+1caseC=DnD=nD+1【ENDC】EndF第10题(1.0分)题号:303在VisualFoxPro中,基类的事件集合是固定的,不能进行扩充.基类的最小事件集包括Init事件、Destroy事件和【error】事件第11题(1.0分)题号:1251完善下列程序,是程序的结果如下图所示1*1=11*2=21*3=31*4=41*5=51*6=61*7=71*8=81*9=92*2=42*3=62*4=82*5=102*6=122*7=142*8=162*9=183*3=93*4=123*5=153*6=183*7=213*8=243*9=274*4=164*5=204*6=244*7=284*8=324*9=365*5=255*6=305*7=355*8=405*9=456*6=366*7=426*8=486*9=547*7=49788=567*9=638*8=648*9=729*9=81*****程序*****CLEARFORi=1TO9FORj=1TO9Ifi=j??STR(I,1)+*+STR(j,1)+=+【str(i*j,2)】+SPACE(2)ENDIFENDFOR【?】ENDFOR第12题(1.0分)题号:286如果2002年3月18号是星期一,则以下命令在屏幕上显示【2】x={^2002/03/18}?dow(x)第13题(1.0分)题号:1177执行以下程序段后,屏幕显示的运行结果为【15】.【程序清单】CLEARx=12DoWHILE.T.x=x+1IFx=INT(x/4)*5??xELSELOOPENDIFIFX10EXITENDIFENDD0第14题(1.0分)题号:302已知在命令行输入?at(e,Helloeveryone!,3)其返回值为9,则?at(e,Helloeveryone!,2)返回值为【7】第15题(1.0分)题号:289下面程序执行以后,屏幕上显示【.f.】x=.t.y=.f.z=not(xand(yorx))?z第16题(1.0分)题号:1290使程序的运行结果如下所示:1*9+2=1112*9+3=111123*9+4=11111234*9+5=1111112345*9+6=111111123456*9+7=11111111234567*9+8=1111111112345678*9+9=111111111123456789*9+10=1111111111完善下列程序:SETTALKOFFCLEARx=space(0)Fori=1to【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=0p=1FORi=1TO10p=p*inSum=nSum+pENDFOR?nSum【程序二清单】nSum=0FORi=1to10nSum=nSum+fJC(i)ENDFOR?nSumFUNCTIONfJCPARAMETERSxp=1FORn=1TOxp=P*nENDFORRETURNpENDFUNC第20题(1.0分)题号:282完善程序题.下列自定义函数DeleteSpace()的功能是将一个字符串中的所有空格删除:FUNCTIONDeleteSpacePARAMETERScStrcResult=SPACE(0)FORn=1TO【len(cstr)】IFSUBSTR(cStr,n,1)=SPACE(1)【loop】ENDIFcResult=cResult+SUBSTR(cStr,n,1)ENDFORRETURN【cResult】ENDFUNC第21题(1.0分)题号:1271完善下列程序,其功能是统计一个仅由数字组成的字符串中各种数字字符的个数:ClearcStr=110102342245676893319Store0Ton0,n1,n2,n3,n4,n5,n6,n7,n8,n9DowhileLen(cStr)0C=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之间的随机整数,并且统计互不相同的数据个数.CLEARn=1000DIMENSIONx(n),p(n)&&数组P用于存储数是否相同的标识FORi=1T0nx(i)=INT(RAND()*100)ENDFORs=OFORi=1T0n-1FORj=i+lTOnIFx(i)=x(j)p(i)=.T.【Exit】ENDIFENDFORENDFORFORi=1TOnIF!p(i)s=s+1ENDIFENDFOR?s第23题(1.0分)题号:1272实现如下表达式的和:1+3+5+7+9+11,请完善如下程序:s=0ForI=1to11ifmod(I,2)=0【LOOP】EndIfs=s+iEndFor?s第24题(1.0分)题号:300完善下列程序,以实现通过字符串变量操作竖向显示天长地久、横向显示地久天长的功能.程序清单如下:SETTALKOFFSTORE天长地久TOchCLEARn=1DOWHILEn8?substr【(ch,n,2)】n=n+2ENDDO?substr【(ch,5)】??SUBSTR(ch,1,4)第25题(1.0分)题号:1204一只球从100米的高度自由落下,每次落地后反弹回原高度的一半.下列程序的功能是:计算并显示当它在第10次落地时,总共经过的距离和第10次反弹的高度.【程序清单】CLEARS=100h=50FoRi=1TO9s=s+h*2h=【h/2】ENDFOR?球在第10次落地时,共经过了:'+ALLT(STR(s,10,6))+米?球第1O次反弹的高度是:+ALLT(STR(h,10,6))+米第26题(1.0分)题号:1202执行下列程序后,输出到屏幕的结果为【3】.【程序清单】CLEARcstring=VisualFoxPronresult=0m=LEN(cstring)FORn=1tomc=SUBSTR(cstring,n,1)IF!BETWEEN(ASC(c),ASC(A),ASC(Z))LOOPENDIFnresult=nresult+lENDFOR?nresult第27题(1.0分)题号:1316运行下列程序后,显示的运行结果的第二行为【11*11=121】SETTALKOFFCLEARY=11111111FORI=1TOLEN(y)X=LEFT(y,i)?SPACE(20-i*2)+x+*+x+=+ALLT(STR(VAL(x)*VAL(x)))ENDFOR第28题(1.0分)题号:1343下列自定义函数NTOC()的功能是:当传送一个1~7之间的数值型参数时,返回一个中文形式的星期日~星期六.例如,执行命令?NTO(4),显示星期三.FUNCTIONNTOCPARAMETERSnLOCALchch=日一二三四五六mch=星期=SUBSTR(ch,【2*n-1】,2)RETURNmchENDFUNC第29题(1.0分)题号:279函数或过程的参数可以是变量或数组元素,并可以通过值或引用传递.如果希望自定义函数修改参数,并将修改后的值返还给主程序,则应通过【引用】传递函数.第30题(1.0分)题号:1291运行下列程序后,显示的运行结果为【FoxPro】.?TT(123E%nw$O4q*5n6)FUNCTIONTTPARAcstrcResult=space(0)FORn=1toLEN(ALLT(cStr))c=SUBSTR(cStr,n,1)IF!BETWEEN(c,A,Z)and!BETWEEN(c,a,z)LOOPENDIFcResult=cResult+CHR(ASC(c)+1)ENDFORRETURNcResultENDFUNC第31题(1.0分)题号:297设有一表文件x