当前位置:文档之家› VF第6章习题练习

VF第6章习题练习

VF第6章习题练习
VF第6章习题练习

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

NEXT

A.60 B.50 C.40 D.30

11.下列程序段的输出结果是()。

ACCEPT “请输入任意一个字符串:”TO A

IF A=[123]

S=0

ENDIF

S=1

?S

A.0B.1C.123D.由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 >=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

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

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

if mod(i,2)=0

loop

endif

t=t+i

enddo

? ’1~100奇数和为:’ , t

SET TALK ON

RETURN

6、方法1:CLEAR

SET TALK OFF

E=0

STORE 1 TO T,N (或T=1 N=1)

FOR N=1 TO 10 [STEP 1]

T=T*N

E=E+1/T

ENDFOR|NEXT

?”所求的E值为:”,E

SET TALK ON

RETURN

方法2:CLEAR

SET TALK OFF

E=0

STORE 1 TO T,N

DO WHILE T<=10

T=T*N

E=E+1/T

N=N+1

ENDDO

?”所求的E值为:”,E

SET TALK ON

RETURN

7、方法1:CLEAR

SET TALK OFF

N=1

SUM=0

DO WHILE N<=1000

IF MOD(N,7)==0

SUM=SUM+N

ENDIF

N=N+1

ENDDO

?”1到1000中能被7整除的数的累加和是:”,SUM

SET TALK ON

RETURN

方法2:

CLEAR

SET TALK OFF

SUM=0

FOR N=1 TO 1000 [STEP 1]

IF MOD(N,7)==0

SUM=SUM+N

ENDIF

ENDFOR|NEXT

?”1到1000中能被7整除的数的累加和是:”,SUM SET TALK ON

RETURN

相关主题
文本预览
相关文档 最新文档