VF第6章习题练习
- 格式:doc
- 大小:59.50 KB
- 文档页数:11
Visual Foxpro练习6
一、 单项选择题
1. 在程序中定义局部变量的命令动词是( )。
A.PUBLIC B.PRIVATE C.LOCAL D.DECLARE
2. VFP 6.0程序设计的三种基本结构是( )。
A.顺序,选择,循环 B.顺序,选择,逻辑 C.模块,转移,循环 D.网状,选择,逻辑
3. 在DO WHILE / ENDDO循环中,若循环条件设置为.T.,则下列说法中正确的是( )。
A.程序无法跳出循环 B.程序不会出现死循环 C.用LOOP可跳出循环 D.用EXIT可跳出循环
4. SCAN循环语句是( )扫描式循环。
A.数组 B.数据表 C.内存变量 D.程序
5. 在 DO WHILE … ENDDO循环结构中,LOOP命令的作用是( )。
A.退出过程,返回程序开始处
B.转移到DO WHILE语句行,开始下一个判断和循环
C.终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行
D.终止程序执行
6. 下列程序段执行时在屏幕上显示的结果是( )。
DIME A(6)
A(1)=1
A(2)=1
FOR J=3 TO 6
A(J)=A(J-1)+A(J-2)
NEXT
?A(6)
A.5 B.6 C.8 D.7
7. 执行如下程序
SET TALK OFF
S=0
I=1
INPUT "N=" TO N
DO WHILE S<=N
S=S+I
I=I+1
ENDDO ?S
SET TALK ON
如果输入N值为5,则最后S的显示值是( )。
A.1 B.3 C.5 D.6
8. 下列程序段执行时在屏幕上显示的结果是( )。
X1=20
X2=30
DO test With X1,X2
?X1,X2
PROCEDURE test
PARAMETERS a,b
x=a
a=b
b=x
ENDPRO
A. 30 30 B.30 20 C.20 20 D.20 30
9. 有程序如下
USE CJ
M.ZF=0
SCAN
M.ZF=M.ZF+ZF
ENDSCAN
?M.ZF
RETURN
其中数据库文件CJ.DBF中有2条记录,内容如下
XM ZF
1 李四 500.00
2 张三 600.00
运行该程序的结果应当是( )。
A.1100.00 B.1000.00 C.1600.00 D.1200.00
10. 如下程序段的输出结果是( )。
DECLARE b(6)
FOR i=1 TO 6
b(i)=i*10
NEXT
FOR i=1 TO 6 ?b(6)
NEXT
A.60 B.50 C.40 D.30
11. 下列程序段的输出结果是( )。
ACCEPT “请输入任意一个字符串:” TO A
IF A=[123]
S=0
ENDIF
S=1
?S
A.0 B.1 C.123 D.由A的值决定
12-14题基于如下程序:
设ZGK.DBF为职工数据库文件,“职称”为该库中一字符型字段名。本程序的功能是显示库中职称为教授的所有记录。
SET TALK OFF
CLEAR ALL
( 12 )
DO WHILE NOT EOF()
IF ( 13 )
SKIP
LOOP
ENDIF
DISPLAY
( 14 )
ENDDO
USE
SET TALK ON
12. A.USE ZGK B.USE C.LOCATE FOR "教授"$职称 D.SET TALK OFF
13. A.职称= "教授" B.职称<> "教授" C.职称>< "教授"
D.!EOF()
14. A.EXIT B.LOOP C.SKIP
D.GO TOP
15. 有以下程序,假设从键盘输入数字75,请选择最后在屏幕显示的结果:( )。
CLEAR
INPUT "请输入你的成绩:" TO cj IF cj >=60
IF cj >=80
?"优良!"
ELSE
?"及格!"
ENDIF
ELSE
?"不及格!"
ENDIF
RETURN
A.优良 B.及格 C.不及格 D.空白
16. 表示应用程序文件的扩展名为___________________。
二、 编程题
1. 求数N的阶乘
2. 求两个数中较小值
3. 编程实现下列分段函数
4. 求前100个自然数的和:S=1+2+3+4+„„+100
5. 计算1~100的奇数和
6. 计算自然对数e的近似值(n为20)
e=1+1/1!+1/2!+…+1/n!
7. 编程求自然数1——1000中所有能被7整除的数的累加和。
参考答案:
一、选择题
1-5 CADBB 6-10 CDBAA 11-15BABCB 16 .prg
二、编程题
1、方法1:CLEAR 1 (X>0)
0 (X=0)
-1 (X<0)
Y=
Y= SET TALK OFF
INPUT "请输入数N:" TO N
IF N < 1
? "输入的数:", N, '太小!'
CANCEL
ENDIF
STORE 1 TO I,S
DO WHILE I <= N
S=S*I
I=I+1
ENDDO
? N,"的阶乘是:", S
SET TALK ON
RETURN
方法2:CLEAR
SET TALK OFF
INPUT “请输入N的值:” TO n
T=1
FOR I=1 TO n
t=t*I
NEXT
? N, ??"的阶乘=“,t
SET TALK ON
RETURN
2、CLEAR
SET TALK OFF Input "X=" To X
Input "Y=" To Y
If X
Min=X
Else
Min=Y
Endif
? " X与Y中的较小者是:", Min
SET TALK ON
RETURN
3、方法1:CLEAR
SET TALK OFF
Input "请输入一个数:" To X
If X>0
Y=1
Else
If X=0
Y=0
Else
Y=-1
Endif
Endif
? Y
SET TALK ON
RETURN
方法2:CLEAR SET TALK OFF
Input "请输入一个数:" To X
Do Case
Case X>0
Y=1
Case X=0
Y=0
Otherwise
Y=-1
Endcase
? Y
SET TALK ON
RETURN
4、方法1:CLEAR
SET TALK OFF
S=0
N=1
Do While N<=100
S=S+N
N=N+1
Enddo
? "1+2+3+„„+100=", S
SET TALK ON
RETURN
方法2:CLEAR SET TALK OFF
S=0
For N=1 To 100
S=S+N
Endfor
? "1+2+3+„+98+99+100=",S
SET TALK ON
RETURN
5、方法1:CLEAR
SET TALK OFF
store 0 to i, t
do while i<100
i=i+1
if int(i/2)=i/2
loop
endif
t=t+i
enddo
? ’1~100奇数和为:’ , t
SET TALK ON
RETURN
方法2:CLEAR
SET TALK OFF
store 0 to i, t
do while i<100
i=i+1