二级 VFP练习题目题目

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VFP练习题目
二常用函数
1、表达式stuff("GOODBOY",5,3,"GIRL")的运算结果是____GOODGIRL_____
2、设A=10,B=5,C=4,表达式A%B+B^2/C+B的值为___11.2500____
3、执行命令?substr("可视化VisualFoxpro",3,4)的显示结果__视化___
4、执行命令?upper("VisualBasic")的显示结果____VISUALBASIC____
5、表达式?"student"=="Student"的结果是__.F.___
6、表达式?1+18>10 and 10+8>12 or "abc"$"ab"的结果是____.T.__
7、设A="30",B="A",表达式?&B+"10"的结果是__3010_
8、执行?day({^2005-12-15})命令后显示的结果是___15____
9、执行?lower("VISUAL FoxPro 数据库管理系统")命令后显示的结果是___visual foxpro 数据库管理系统___
10、表达式?"Visual FoxPro"$"Visual"的结果为_.F.__(前面是子串)
11、表达式?at("Visual FoxPro","数据库管理系统",2)的结果为___0__
12、?left("123ABCD",len("数据库"))的计算结果是___123ABC___
13、表达式?{^2007/09/30}-{^2007/09/10}的值为___20__
14、表达式?125*5<=625的值为__.T.___
15、表达式?10*20<=200 and 10*20>=200的值为___.T.___
16、表达式?25<>20 and 25#20 and 25 !=20的值为___ .T.___(<> # != 表示不等于)
17、表达式?not 10**2>100 or 50*10>25 and 16>16__.T.____
18、表达式?int(-11.9+3)+abs(-10)的值为__2____
19、表达式?max(10**2,10*2) 的值为_100.00___
20、表达式?int(sqrt(3^2+round(2.098,2)*10)) 的值为_5__
21、表达式?round(int(sqrt(1680.67))+2.356,1) 的值为__42.4_
22、表达式?mod(-int(sqrt(105)),-3) 的值为__-1_(求余数)
23、表达式?len("Visual"+"FoxPro"+"教程")的值为__16_
24、执行后显示结果为__14.80____
x=str(12.4,4,1) &&数值转换成字符串12.40
y=right(x,3) &&2.40
z="&x+&y"
?&z
25、执行后显示结果为__GOOD LUCKY__
w1="GOOD AFTERNOON"
w2=substr(stuff(w1,6,0,"LUCKY"),1,10) &&stuff 子串替换函数substr 从指定表达式值的指定起始位置取指定长度的子串作为函数值?w2
26、表达式?val(substr("586cpu",2,1))*len("Foxpro6.0")的结果是____72.00__
&&val 字符串转换成数值
Val(8)*9
72
27、表达式?8<>5and"ABC">"ABD"OR NOT 10>12+3的结果是___.T.___
28、依次输入下列命令:
A="软件"
B="系统软件"+space(6)-"应用软件" &&系统软件应用软件
?AT(A,B,2) &&at 求子串位置函数
输出结果是__5_______
29、表达式?len(substr("Internet",6)+space(3))的值为___6____
30、输入命令:?len(alltrim("计算机"+space(10)+"应用")),系统输出结果是___20__ &&alltrim 返回指定字符表达式去掉前导和尾部空格后形成的字符串,非中间的空格
31、输入命令:?upper(lower("Yes.NO.")) 系统输出结果是__YES.NO___
32、依次输入下列命令:
x="ABC"
y="ABD"
?iif(len(x)>len(y),"YES","NO")
输出结果是__NO_______
1、依次输入下列命令,输出结果依次为5 5 -1 0___
store 10 to x
?abs(5-x),abs(x-5),sign(5-x),sign(x-10)
2、依次输入下列命令,输出结果依次为__-10.00__
store -100 to x
?sign(x)*sqrt(abs(x)) &&-1*SQRT(100)
3、依次输入下列命令,输出结果依次为___5 -5 6 -5 5 -6_
?int(5.8) &&返回整数部分
?int(-5.8)
?ceiling(5.8) &&返回大于或等于的最小整数
?ceiling(-5.8)
?floor(5.8) &&返回小于或等于的最小整数
?floor(-5.8)
4、依次输入下列命令,输出结果依次为___无返回值245.35 345.3 345 350_ ?round(345.345)
?round(345.345,2)
?round(345.345,1)
?round(345.345,0)
?round(345.345,-1)
5、依次输入下列命令,输出结果依次为____1 -2 2 -1
?mod(10,3)
?mod(10,-3)
?mod(-10,3)
?mod(-10,-3)
6、依次输入下列命令,输出结果依次为__12 飞机__
?max('2','12','05')
?min('汽车','飞机','轮船')
7、依次输入下列命令,输出结果依次为__21__
?len("中国Visual FoxPro6.0")
8、依次输入下列命令,输出结果依次为_xly2a abcabc N=1 ABCABC___ ?lower('X1y2A*')
?lower('ABCabc')
?upper('n=1')
?upper('ABCabc')
9、依次输入下列命令,输出结果依次为__Go BY BYE! YE!__
?left("GooD BYE!",2)
?substr("GOOD BYE!",6,2)
?substr("GOOD BYE!",6)
?right("GOOD BYE!",3)
10、依次输入下列命令,输出结果依次为__5 2 1 0__
?occurs('a','abracadabra')
?occurs('b','abracadabra')
?occurs('c','abracadabra')
?occurs('e','abracadabra')
程序设计基础习题集
执行下面程序,结果是11 6
store 0 to B
for A=0 to 10
if mod(A,2)=0
B=B+1
endif
endfor
?A,B
执行下面程序,结果是
执行下面程序,结果是13
s=1
i=0
do while i<8
s=s+i
i=i+2
enddo
?s
执行下面程序,结果是 24
i=1
t=0
do while i<=7
i=i+2
t=t+i
enddo
?t
return
执行下面程序,结果是____5 .F.____
dimension A(10)
i=1
do while i<=5
k=str(i,1)
A&k=i
A(i)=i
i=i+1
enddo
?A&k,A(i)
return
有如下程序
clear
x1=100
x2=58
do sub
?x1,x2
return
procedure sub
private x1
x1=110
x2=60
?x1,x2
endproc
程序执行后,屏幕显示结果是______110 60___100 60__
执行下面程序,结果是_10____ 答案为
clear
store 20 to x
if x<0
y=-x
else
if x<=-10
y=10-x
else
y=x-10
endif
endif
?y
return
执行下面程序,结果是_____30____ 答案:
clear
n=6
s=0
do while n>0
for m=int(n/2) to n step 2
s=s+m+n
endfor
n=n-3
enddo
?str(s)
return
下列程序的运行结果是___科技大学______答案:
clear
ABC="北京科技大学信息学院"
x=len(ABC)/5
if x>=4
ABC=substr(ABC,5,8)
else
ABC=substr(ABC,13,8)
endif
?ABC
return
下列程序的运行结果是13
clear
i=1
do while i<=11
i=i+2
enddo
?i
return
有下列程序:
clear
set talk off &&SET TALK OFF的意思是关闭程序运算的显示过程,
&&SET TALK ON是开启显示程序的运算过程
i=1
s=0
do while i<=10
s=s+i
i=i+1
enddo
?"s=",s
该程序的运行结果是55
有下列程序
set talk off
s tore 3 to x,y,z
do fy with(x),y
?x,y,z
*******定义过程*******
procedure fy &&procedure是定义过程,无返回值parameter a,b &&parameter:参数
a=a+2
b=b-2
return
set talk on
程序执行后,正确的结果是 3 1 3
有下列程序: 1 2 3 4 5 6
clear
for i=1 to 6
??i
endfor
有如下程序:
clear
set talk on
x=10
y=5
z=6
do fy with x,y
do fy with x,y
set talk on
procedure fy
parameter y,z
x=y+10
y=y+z
?x,y,z
endproc
&& return
程序执行后,正确的结果是_20 15 5
25 20 5___答案:如下程序段的输出结果是11
clear
i=1
do while i<10
i=i+2
enddo
?i
写出下列程序的运行结果 2 2 2
set talk off
dimension A(6)
for k=1 to 6
A(k)=20-2*k
endfor
k=1
do while k<6
A(k)=A(k)-A(k+1)
k=k+1
enddo
?A(1),A(3),A(5)
set talk on
执行下面程序,则i的值是7,2
clear
for i=10 to 4 step-2
if i%3#0
i=i-1
endif
i=i-2
??i
endfor
执行下列程序的结果为
clear
do while.t.
?right(var,1)+var
exit
var=var+2
enddo
执行下列程序的结果为105
clear
s=1
for n=1 to 8 step 2
s=s*n
endfor
?s
下面所列程序的运行结果为空格3 空格空格4 空格空格空格5 clear
for m=3 to 5
?space(m-2)+str(m,1)
endfor
执行下列程序的结果为
clear
s=1
for n=1 to 8 step 2
s=s*n
endfor
?s
有如下程序,显示结果为9
*******主程序A.prg*******
store 2 to x1,x2,x3
x1=x1+1
do a2
?x1+x2+x3
return
set talk on
*******过程A2.prg*******
proc a2
x3=x3+2
return to master
endproc
写出下列程序的运行结果 6 4 2
set talk off
dimension a(6)
for k=1 to 6
a(k)=20-2*k
endfor
k=5
do while k>=1
a(k)=a(k)-a(k+1)
k=k-1
enddo
?a(1),a(3),a(5)
set talk on
写出下列程序的运行结果122.00 23 set talk off
clear
store 1 to x
store 20 to y
do while x<=y
if int(x/2)<>x/2
x=1+x^2
y=y+1
loop
else
x=x+1
endif
enddo
?x
?y
set talk on
return
写出下列程序的运行结果 1
2
3
2
4
6
set talk off
clear
dimension k(2,3)
do while i<=2
j=1
do while j<=3
k(i,j)=i*j
??k(i,j)
??""
j=j+1
enddo
?
i=i+1
enddo
return
写出下列程序的运行结果y= 100(前面有7个空格)clear
store 0 to x,y
do while.t.
x=x+1
y=y+1
if x>=100
exit
endif
enddo
?"y="+str(y,10)
写出下列程序的运行结果 6 5
clear
store 0 to x,y
x=5
y=6
x=x+y
y=x-y
x=x-y
?x
?y
下列程序的运行结果是 3 9 27 81
clear
s=1
do while s<50
s=s*3
??s
enddo
return
有如下程序:执行该程序时,要执行__6____次循环(60 59 58 57 56 55 54)
clear
a=55
b=60
do while b>=a
b=b-1
enddo
?b
return
下面程序段的输出结果是10
i=1
do while i<10
i=i+3
enddo
?i
return
有下面的程序段,执行程序后,最后显示N的值是 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
for n=1 to 20
?n
endfor
?n
下面程序段的输出结果是abcde
12345
clear
set talk off
a='12345'
do b
?a
set talk on
return
procedure b
private a
a='abcde'
?a
return
下面程序段的输出结果是12 12 set talk off
clear
m=10
n=1
do test with m,n
?m,n
set talk on
return
procedure test
parameters x,y
x='12'
y=12
?x,y
return
下面程序段的输出结果是16
set talk off
clear
i=1
j=2
do a with i,j
?i+j
set talk on
procedure a
parameters x,y
x=x+1
y=y+1
do b with x,y
return
procedure b
parameters a,b
private a,b
a=11
b=5
return
下面程序段的输出结果是 5 clear
store 0 to x,y
do while x<=10
x=x+1
if int(x/2)<>x/2
loop
else
y=y+1
endif
enddo
?"y=",y
set talk on
下面程序段的输出结果是y= 2500
set talk off
clear
x=0
y=0
do while x<100
x=x+1
if int(x/2)=x/2
loop
else
y=y+x
endif
enddo
?"y=",y
return
下面程序段的输出结果是西部开发在重庆clear
w="西部大开发"
c="重庆"
a=subs(w,1,4)+subs(w,at("开",w),4)
?"&a.在&c"
return
下面程序段的输出结果是i= 8 j= 6 clear
i=0
j=10
do while i<j
j=j-1
i=i+2
enddo
?"i=",i,"j=",j
return
下面程序段的输出结果是7 21 35 49
set talk off
clear
i=1
do while i<=50
if i/7=int(i/7)
??str(i,4)
endif
i=i+2
enddo
return
有如下程序文件:
input"请输入x的值:"to x
input"请输入y的值:"to y
input"请输入z的值:"to z
if max(x,y)<z
?max(x,y)
else
if min(x,y)<z
?z
else
?min(x,y)
endif
endif
当运行程序后,输入的x,y,z的值分别为3,4,10。

则程序运行的结果为 4
执行如下程序,如果输入x的值为5,则最后s的显示值为
set talk off
clear
s=0
i=1
input"x="to x
do while s<=x
s=s+1
i=i+1
enddo
?s
set talk on
下面程序的输出结果是s=30
set talk off
a=3
b=5
do pp with 2*a,b
set talk on
return
procedure pp
parameter x,y
clear
s=x*y
?"s="+str(s,3)
return
下面程序的输出结果是a,b,c,d 2 2 3 4
a,b,c,d 2 2 5 4 clear
public a
set talk off
a=1
c=5
d=0
do sub
?"a,b,c,d",a,b,c,d
set talk on
return
procedure sub
public b
private c
a=a+1
b=2
c=3
d=4
?"a,b,c,d",a,b,c,d
return
下面程序的输出结果是********
clear
ch="*"
for i=5to 1 step-2
ch=ch+ch
endfor
?ch
下面程序的输出结果是ss=55
clear
set talk off
store 0 to n,s
do while.t.
n=n+1
s=s+n
if n>=10
exit
endif
enddo
?"s="+str(s,2)
set talk on
下面程序的输出结果是10 5
10 3
set talk off
clear
a=2
b=3
do sub
?a,b
procedure sub
private b
a=10
b=5
?a,b
return
下面程序的输出结果是m= 3 n= 2 clear
m=3
n=4
do b
?"m=",m,"n=",n
return
procedure b
private m
m=1
n=2
return
下面程序的输出结果是10 20
10 2 set talk off
clear
a=1
b=2
do sub
?a,b
return
procedure sub
private b
a=10
b=20
?a,b
return
下面程序的输出结果是
clear all
store 0 to x,y
do while.t.
x=x+1
do case
case mod(x,2)=0
Loop 返回重新执行循环
case x>=10
Exit 跳出循环,结束
otherwise
y=y+x
endcase
enddo
?"x=",x,"y=",y
return
下面程序的输出结果是y=30
a= 3 b= 30
clear
a=3
b=5
do sub_2 with 2*a,b
?"a=",a,"b=",b
return
procedure sub_2
parameters x,y
y=x*y
?"y="+str(y,3)
return
下面程序的输出结果是 4 5 .F.
.F. .F. 7
dimension y(3,4) 数组中元素默认值为.f.
store 3 to i
for i=1 to 3
for j=i+1 to 4
y(i,j)=i+j
endfor
endfor
?y(2+1),y(2+2),y(2+3)
?y(3,2),y(3,3),y(3,4)
下面程序的输出结果是x=10 y=8
clear
store 2 to x,y
do while.t.
y=y+3
do case
case int(y/5)*5=y
loop
case y>10
exit
otherwise
x=x+y
endcase
?"x="+str(x,2),"y="+str(y,2)
enddo
下面程序的输出结果是y=***
store 0 to x,y
do while.t.
x=x+1
y=y+x
if x>=100
exit
endif
enddo
?"y="+str(y,3) 如果长度值小于数值表达式的整数部分,则返回一串*
写出下列程序执行的结果18 15 12
dimension A(6)
for k=1 to 6
A(k)=30-3*k
endfor
k=5
do while k>=1
A(k)=A(k)-A(k+1)
k=k-1
enddo
?A(2),A(4),A(6)
写出下列程序执行的结果10 1 2 3 105 store 0 to a,b,c,d,n
do while.T.
n=n+5
do case
case n<=50
a=a+1
loop
case n>=100
b=b+1
exit
case n>=80
c=c+1
other
d=d+1
endcase
n=n+5
enddo
?a,b,c,d,n
写出下列程序执行的结果150
A=50
B=100
do while B>A
A=A+B
B=B+50
enddo
?A
写出下列程序执行的结果
A="1000"
do sub
?A
procedure sub
A=A+"100" 注意引号
endproc
写出下列程序执行的结果12 8
store 0 to x,y
do while x<10
x=x+y
y=y+2
enddo
?x,y
写出下列程序执行的结果1*2=2
2*3=6
3*4=12
4*5=20 a=1
b=2
do while a<5
x=a*b
?str(a,1)+"*"+str(b,1)+"="+str(x,2)
a=a+1
b=b+1
enddo
写出下列程序执行的结果9 5
2 5 store 2 to x,y
do sub1
?x,y
procedure sub1
private x
y=5
x=y+4
?x,y
写出下列程序执行的结果5 public x
x=5
do sub
?x
procedure sub
private x
x=10
return
写出下列程序执行的结果2500
n=0
s=0
do while n<100
if int(n/2)=n/2
loop
else
s=s+n
endif
enddo
?"s=",s
写出下列程序执行的结果100
m=0
n=100
do while n>m
m=m+n
n=n-10
enddo
?m
写出下列程序执行的结果 1 2
2 4
dimension a(2,3)
i=1
do while i<=2
j=1
do while j<=2
a(i,j)=i*j
??a(i,j),""
j=j+1
enddo
?
i=i+1
enddo
return
执行如下程序,如果输入N的值为5,则最后S的显示值是6 s=0
i=1
input"n=? "to n
do while s<=n
s=s+1
i=i+1
enddo
?s
写出下列程序的结果39 15
store 0 to y1,y2
x=10
if sqrt(x)=3 or int(x/2)=x/2
y1=y1+x
else
y2=y2+x
endif
x=x-1
enddo
?"y1="+str(y1,3),"y2="+str(y2,3)
写出下列程序的结果15.0000 4.0000 3 store 0 to x,y,s1,s2,s3
do while x<10
x=x+1
do case
case int(x/2)=x/2
s1=s1+x/2
case mod(x,3)=0
s2=s2+x/3
case x%2#0
s3=s3+1
endcase
enddo
?s1,s2,s3
写出下列程序的结果10
x=1
for i=1 to 50
if x>=10
exit
endif
if x%2=1
x=x+5
loop
endif
x=x-3
endfor
?x
写出下列程序的结果8
store 0 to x
for i=1 to 2
x=x+1
for j=1 to 4
if j%2#0
else
x=x+1
endif
endfor
x=x+1
endfor
?x
有如下程序:
set talk off
clear
m=0
n=-100
do while n>m
m=m+n
n=n-10
enddo
?m
set talk on
return
运行程序显示的m值是0
运行下述程序后的显示结果是 6 4 2
dimension A(6)
for k=1 to 6
A(k)=20-2*k
endfor
k=5
do while k>=1
A(k)=A(k)-A(k+1)
k=k-1
enddo
?A(1),A(3),A(5)
以下程序的运行结果为 1 不管有几个case条件成立,只有最先成立的那个case条件对应命令序列被执行
x=2.5
do case
case x>1
y=1
case x>2
y=2
?y
return
有如下程序:s=55
store 0 to N,S
do while.T.
N=N+1
S=S+N
if N>=10
exit
endif
enddo
?"S="+str(S,2)
本程序的运行结果是:
给出以下程序的运行结果y= 2500
set talk off
x=0
y=0
do while x<100
x=x+1
if int(x/2)=x/2
loop
else
y=y+x
endif
enddo
?"y=",y
return
给出以下程序的运行结果100 200 100 store 100 to x,y,z
do proc1 with (x),y
?x,y,z
procedure proc1
parameter m,n
m=m+100
n=n+100
return。

相关文档
最新文档