vfp程序设计考试题库(vf程序设计考试试卷及答案)

时间:2023-03-15 13:54来源:考试资源网 考试资料网
vfp程序设计考试题库(vf程序设计考试试卷及答案)

vfp程序设计考试题库(vf程序设计考试试卷及答案)

admin3周前免费1

Visual Foxpro有那些经典例题

我先给你一些VF的例题看看吧!

Vfp--程序设计典型例题

Vfp题库:程序设计基础 典型例题

[例1] 在( )窗口中可以控制列表框内显示的变量种类。

A.跟踪窗口 B.监视窗口

C.局部窗口 D.调动堆栈窗口

分析:局部窗口用于显示模板程序中的内存变量,并显示它们的名称.当前取值的类型。它可以控制在列表内显示的变量类型。

答案c

例2下面选项中关于ACCEPT命令说法错误的是()

A.ACCEPT命令格式是:ACCEPT[字符表达式] TO内存变量

B.该命令只接收字符串,但是用户在输入字符串时,必须要加上定界符

C如果不输入任何内容直接按回车键,系统就会把空串赋给指定的内存变量

D如果选用字符表达式,那么系统就会首先显该表达式的值,作为提示信息

分析:该命令只接收字符串,但用户在输入时不需要加定界符;否则,系统会把定界符当作字符串的一部分输出.

答案:B

例3下列关于过程的说法中不正确的是

A.过程文件可以放在任何程序文件代码的后面,也可以保存在称为过程文件的单独文件里

B.过程文件只包含过程,这些过程只能被过程文件调用

C.如果需要打开多个过程文件,可以在调用过程语句中加ADDITVE,那么在打开过程文件时,

并不关闭原先已打开的过程文件

D.关闭个别过程文件的命令格式是:RELESE PROCEDURE过程文件

分析:过程文件只包含过程,这些过程可以被任何其它程序调用.命令格式SETPOCEDURE TO[过程文件][ADDITIVE]就可以打开多个过程文件.当使用不带任何文件名的SET PROCEDURE TO命令时,将会关闭所有的过程文件,使用命令RELEASE PROCEDURE过程文件时,将关闭指定的过程文件.

答案:B

例4 在一个程序定义了的一些变量,选出局部变量 ( )

1.PRG

PUBLIC aI

LOCAL a2,a3

SCORE'B'TO a4

LOCATE a5

A.a1 B.a2,a3

C.a4 D.a5

分析:A是公共变量,C是私有变量,D的命令和LOCATE相似,但不存在这样定义变量的命令.只有B才是定义了两个局部变量.

答案:B

例5 不需要先建立就可以使用的变量是 ( )

A.局部变量 B.公共变量

C.私有变量 D.数组

分析:私有变量是指在程序中直接使用,由系统自动隐含建立的变量.即没有通过PUBLIC 或LOCAL定义的变量.它的作用域是建立它的模块及其下属的各层模块.私有变量随着建立它的模块运行结束自动清除,不需要先建立就可以使用.

答案:C

「例6」可以设置表达式类型的断点窗口是 ( )

A.跟踪窗口 B.监视窗口 C.局部窗口 D.调用堆栈窗口

分析:监视窗口主要就是用来指定表达式在程序调试执行过程中的变化。要设置一个监视表达式,只需单击窗口中的“监视”文本框,然后输入表达式的内容,按回车键后表达式便添入文本框下方的列表框中。

答案:B

「例7」下列命令语句正确的是 ( )

A.INPUT〃请输入账号〃TO zh B.INPUT〔2001-03-01〕TO rq

C.INPUT〃T〃TO sa D.INPUT〃∧2001-03-01〃TO zh

分析:B的正确写法是:INPUT〔∧2001-03-01〕TO rq;C的正确写法是:INPUT.T.TO sa。

答案:A

「例8」阅读下列程序,该程序的运行结果是 ( )

SET TALK OFF

INPUT〃请输入A,B:〃TO A,B

IF A〈 B

T = A

A = B

B = T

ENDIF

DO WHILE B〈 〉0

T = MOD(A,B)

A = B

B = T

ENDDO

?A

SET TALK ON

RETURN

运行时输入:12,8

A.2 B.4 C.12 D.8

分析:本程序的功能是求两个数的最大公约数。方法是用两个数中较小的去除较大的,然后将除数作为一次除的被除数,余数作为下一次除的除数,反复进行这样的操作,直到余数为零时为止。则最后一次除的除数,即为所给两个数的最大公约数。

答案:B

「例9」用于说明程序中所有内存变量都是局部变量的命令是 ( )

A.PRIVATE ALL B.PUBLIC ALL

C.ALL=PRIVATE D.STORE PRIVATE TO ALL

分析:定义局部变量的语句有PRIVATE内存变量名表和PRIVATE ALL(LIKE/EXCEPT通配符)。在使用PRIVATE ALL本程序中所有内存变量都说明为局部变量。

答案:A

(例10)在Visual FoxPro中,用于建立过程文件PROGI的命令是 ( )

A. CREATE PORGI B. MODIFY COMMAND PROGI

C. MODIFY PROGI D. EDIT PROGI

分析: 在Visual FoxPro中,建立程序的命令是MODIFY COMMAND

答案:B

例11:一个过程文件最多可以包含128个过程,其文件扩展名是 ( )

A. PRG B. FOX

C. DBT D. TXT

分析: 过程文件也是一种命令文件,扩展名为.PRG

答案:A

例12:有Visual FoxPro程序如下:

SET TALK OFF

USE CJ

M - ZF=0

DO WHILE.NOT.EOF()

M - ZF=M - ZF+ZF

SKIP

ENDDO

?M - ZF

RETURN

其中数据库文件CJ.DBF中有2条记录,内容如下:

XM ZF

1 李四 500.00

2 张三 600.00

运行该程序的结果应当是

A.1100 B.1000

C.1600 D.1200

分析:分析该程序的结果时,只要理解“M - ZF”的含义,程序就没有社么难度了。

答案:A

例13:在命令文件中,调用另一个命令文件。应使用命令

分析:在FoxPro系统中,LOAD命令用于将一个二进制文件调人内存,CALL命令执行一个已调人内存的二进制文件。PROCEDURE仅在程序中说明过程名,每个过程以PROCEDURE过程名开始,用PETURN结束,不是调用程序。要在命令文件中调用另一个命令文件应该使用命令DO命令文件名.

答案: DO〈命令文件名〉

[例14]有下列程序:

PARAMETER A,B,C,D

D=B* B-4*A*C

DO CASE

CASE D=O

CASE D〈O

D=O

CASE D〉O

D=2

CASE D=O

D=1

ENDCASE

在主程序中执行如下命令:

STORE 2 TO A,C

DO SUB WITH A,B,C,D

?D

D的值为—————

分析:执行主程序DO SUB WITH A,B,C,D时,把实参1,2,1,2传递给形参A,B,C,D。在执行过程

SUB中语句D=B*B-4*A*C后的D值为O,然后执行DO CASE/ENDCASE语句,条件CASE D=O成立,重新赋值D=1,

最后返回主程序时,把形参A,B,C,D的值1,2,1,1传给对应实参A,B,C,D此时D的值为1。

答案: 1

[例15]有如下程序:

STORE O TO N,S

DO WHILE.T.

N=N+1

S=S+N

IF N=1O

EXIT

ENDIF

ENDDO

?”S=“+STR(S,2)

本程序的运行结果是—————

分析:本程序是无限次循环程序,有N的值来决定何时停止循环。程序的功能是求1到1O之间的所有整数之

和。可得程序运行的结果为S=55

答案:S=55

[例16]有如下程序:

*主程序:MAIN。PRG

SET TALK OFF

CLEAR

S=0

DO SUB WITH 10,S

?S

RETU

*子程序SUB。PRG

PARAMETERS D1,D2

D1=D1+D1

D2=D1*2

RETURN

执行主程序后S的值是__________。

分析:DO...WITH语句中的实在参数除了可以是变量外,还可以是任意有数或表达式。当为常数时,

直接把值传给对应的形参;当为表达式时,先求其值后把其值传给形参。主程序中变量S的初值为0,

S调用子程序SUB,将数值10和0对应传给子程序中的参数D1和D2,执行D1=D1+D1后,D1=20,再执行D2

=D1*2,D2=40,返回到主程序时D2将值回传给S。因此,在主程序执行?S时,屏幕显示40。

答案:40

[例17]设成绩库CJK.DBF中“数学”(数值型字段)这门课程的学分为4,其学分计算的方法如下:

数学>=90,学分值为4

80=数学90,学分值为3

70=数学80,学分值为2

60=数学70,学分值为1

数学60,学分值为0

计算任一学生数学这门课程的学分值的程序如下:

SET TALK OFF

USE CJK

ACCEPT "输入学号:" TO XH

XF=0

LOCATE FOR学号=XH

DO CASE

CASE______

XH=40

CASE______

XH=3

CASE__________

XF=2

CASE__________

XF=1

OTHERWISE

XF=0

ENDCASE

?"学号:",XH

?"数学的学分值:",XF

USE

RETURN

分析:本程序的考核要点是DO CASE分支语句

答案:数学=90 数学=80 数学=70 数学=60

【例18】参数的两种传递方法是_______和_______。

分析:调用程序模块时,如果实参是常量或一般形式的表达式,系统会计算出实参的值,并把它们赋值

给相应的形参变量。这种情形称为按值传递。如果实参是变量,那么传递的将不是变量的值,而是变量

的地址。这时形参和实参实际上是同一个变量,在模块程序中对形参变量值的改变,同样是对实参变量

值的改变,这种情形称为引用传递。

答案:TO VALUE(按值传递),REFERENCE(按引用传递)

【例19】填空完成下列程序,要求该程序能够三次从右向左显示变量S内容的字幕程序。

CLEAR

S=SPACE(80)+"关系数据库语言VFP计算机2级教程。关系数据库."

+SPACE(60)

N=0

______

I=1

DO WHILE I160

@20,0SAY SUBSTR(S,I,80)

H=INKEY(0.1,"h")

I=I+2

_____

_____

ENDDO

分析:表达式(1)是给出循环的条件,表达试(3)给出循环体的递增形式。

答案:(1)DO WHILE N3,(2)ENDDO,(3)N=N+1

【例20】用两种循环步长值来求1+2+3+...50的值,请将程序填写完整。

程序一:

S=0

FOR__(1)___

S=S+N

ENDFOR

? S

RETURN

程序二:

S=0

FOR__(2)___

S=S+N

ENDFOR

?S

RETURN

分析:这是一个计数循环的例子,由以上两种方法可以看出,初值和终值的设定是随步长值不同而变化

的,在程序一中,由于步长为1,所以省略了。缺省时,步长值默认为1。

答案:(1)N=1 TO 50,(2)N=50 TO 1 STEP -1

[例21] 求30!,请将程序填写完整。

程序:N=1

I=I*N

N=N+1

ENDDO

?I

分析:在进入循环前,必须组织好循环使累加器先赋初值勤,循环条件表达式中的控制变量也要根据

不同情况赋初值,因为循环的次数是和条件表达式中的控制变量所赋的初值密切相关的。循环体包括了

在循环体中的书写顺序也与循环的初始赋值有关。读者可以考虑一下,如果给N赋上班,那么DO WHILE

后面的条件表达式该怎么来写?

答案:N=30

[例22] 为了解决在子程序和主程序之间可能会出现变量的重复使用命令_______,这样可以使主程序中

的变量暂时在子程序中无效,而不改变它的值。

分析;为了避免子程序和主程序之间变量带来的问题,可以使主程序中使用命令PRIVATE隐藏主程序

中可能存在的变量,使得在子程序中暂时无效。该命令的语法格式是:

PRIVATE内存变量表

答案:private内存变量表》

例23 统计银行客房关系表中,银行代码为001,并且存款金额大于1500元的客房人数,请将程序填写完整。

程序:

clear

open银行客户关系表exclusive

browse all for银行代码=“001”

count all to kh

goto top

num=0

for(1)

if(2)

num=num+1

endif

skip

endfor

@2,30 say"银行代码为001,存款金额大于1500元的人数有:“num+””

endif

use

分析:在该例中,for语句使用了循环变量1控制操作,道德计算出了数据表中所含记录个数num,

然后把它人微言轻循环变量的终值,使循环变量从1开始,多次加入循环变量步长,直到循环变量1大于

num时才结束循环。

答案:(1)I=1 to kh step1,(2)金额>“1500”and,银行代码=“001”

例24 下例是关于参数传递的程序,求出正确结果。

程序:

clear

store 3 to a,b

store 2 to c,d

do tub with a,b,c,d

?b

store 4 to t2,t1

store 1 to t4,t3

do tub with t1,t2,t3,t3

?t4

do tub with 6,6,3,b

?b

procedure tub

PARAMETER A,B,C,D

B=A* A-4 *C* D

DO CASE

CASE B0

B=120

CASE B0

B=210

CASE B=0

B=100

ENDCASE

RETURN

分析: 在程序开始对A,B赋值为3,对C,D赋值为2。然后把实参A、B、C、D传递给予程序TUB,根据表达式B=A*A-4*c*D

计算出结果为-7,所以输出结果为120,同样,以下程序执行时,根据表达式的计算结果,输出依次为1和6。

答案:结果显示在3行上,依欠为120,1,6

[例25] 根据输入的半和径值,计算圆的面积,请将程序填写完整。

程序:

CLEAR

R=0

SM=0

@12,15 SAY “输入圆半径” CET R

READ

IF R=0

EXIT

ENDIF

————

@16,16 SAY“圆的面积为:”+ ALLTRIM(STR(SM))

ENDDO

RETURN

计算圆面积的函数:

FUNCTION AREA

PARAMETERS A

S=3.1415926*A*A

RETURN

分析:该语句是实现对计算圆面积函数的调用,返回值赋给变量SM。这个程序所使用的是一个自定义函数,自定义函数和

子程序的区别就是自定义函数必须返回一个函数值,而子程序没有这个限制。自定义函数的编辑方法和子程序的编辑方法相同,只是要把子程序文件名改为自定义函数名。

需要注意的几点是:自定义函数能以独立的文件存储,也可包含在调用程序中作为它的一部分。如果[FUNCTION函数名]缺省,这表示该函数是一个独立的文件。另外,自定义函数不能与系统函数同名,也不能与内存变量同名。

答案:SM=AREA(R)

例26 当变量I在奇偶之间变化时,求出下面程序的输出结果。

程序:

CLEAR

I=O

DO WHILE I10

IF INT(I/2)=I/2

?"W"

ENDIF

?"T"

I=I+1

ENDDO

分析:该程序应用的是循环和条件嵌套的结构。

答案:W,T,T连续显示5次

[例27] 填空完成下列程序,仅接受输入Y和N的程序,否则程序结束。

DO WHILE .T.

WAIT "请输入Y/N" TO AS

IF UPPER(AS) "Y"AND UPPER(AS) "N"

(1)

ELSE

(1)

ENDIF

ENDDO

分析:该例是一个条件循环,选用EXIT是强制推出循环条件,执行它能够立即跳出循环,执行ENDDO

后面的语句。选用LOOP则是一种强制缩短循环的语句,其功能是终止本次循环体语句的执行,把控制转到

循环结构的开始。

答案: (1)EXIT,(2)LOOP

[例28] 当变量X的值变化时,依次显示其结果,注意循环体内的LOOP和EXIT语句。

程序:

CLEAR

X=3

DO WHILE .T.

X=X+1

IF X=INT(X/3)*3

?x

ELSE

LOOP

ENDIF

IF X10

EXIT

ENDIF

ENDDO

RETURN

分析:INT()是取整数函数

如果循环体内有LOOP命令,那么当晕到LOOP时,就结束循环的本次执行,不再执行其后的语句,而是转回DO WHILE

处重新判断条件。

如果循环体包括EXIT命令,那么当遇到EXIT时,就结束该循环语句的执行,转去执行ENDDO后面的语句。

通常LOOP或EXIT出现在循环体内嵌套的选择语句时,根据条件来决定是LOOP回去,还是EXIT出去。

答案:依次显示为:6,9,12

[例29] 填空完成下列程序,求数绝对值的程序。

INPTU’请输入一个数:‘TO X

?STR(X)+“它的绝对值是:’+STR(f(x))

FUNCTION F

(1)

———

IF T=0

T=T

ELSE

T=-T

ENDIF

RETURN T

分析:FUNCTION 是一个子函数,语句PARAMETERS是定义子函数里面的变量。

[例30] 如果说用DO命令来执行查询文件、菜单文件、那么文件名中必须名含——————。

分析:VISUAL FOXPRO 程序文件通过编辑、连接,可以产生不同的目标代码文件,这些文件具有不同的文件名。

当用DO 命令执行程序文件时,如果没有指定扩展名,系统将按下列顺序寻找程序文件的源代码或某种目标代码文件

执行:.EXE-.APP-.FXP-.PRG;但是用DO命令来执行查询文件、菜单文件时,那么文件名中必须包括扩展名。

答案:扩展名(.QBR或.MPR)

[例31]打开银行客户关系表,输入一个控制口令控制程序的执行,若口令为1,则把

“银行代码”为“001”的所有记录加上删除标记;若口令为2,把“银行代码”为“002”的所有记录

加上删除标记;若口令为3,把“银行代码”为“003”的所有记录加上删除标记。请将程序填写完

整。

程序:

CLEAR

USE银行客户关系表EXCLUSIVE

BROWSE LAST

WATT“请输入你的选择:(1-3)”TO yhdm

DO CASE

CASE (1)

DELETE ALL FOR 银行代码=“001”

BROWSE ALL FOR银行代码=“001”

RECALL

CASE (2)

DELETE ALL FOR 银行代码=“002”

BROWSE ALL FOR 银行代码=“002”

RECALL

CASE (3)

DELETE ALL FOR 银行代码=“003”

BROWSE ALL FOR 银行代码=“003”

RECALL

ENDCASE

BROWSE

USE

分析:该程序执行时,依次判断语句中列出的条件,当碰到取值为真时就执行该条件下的语句序列。

答案:(1)yhdm=“1”,(2)yhdm=“2”,(3)yhdm=“3”

例32 按银行帐号显示存款记录,如果该帐号不存在,则会显示空记录,请将该程序

填写完整。

程序:

CLEAR

USE KH

帐号=SPASE(5)

@10.4 SAY "请出入要查循学生的学号:” CET帐号

READ

----------------

USE

分析:该程序可以实现查询功能,但是它显示不出客户信息的异常情况,也不能向用户显示错误提示信息,而且每调用一次程序只能查询一个客户的情况。

答案:disp for 帐号=ALLTRIM(KH)

例 34 查询客户情况,如果查到了就显示客户的存款信息,查不到就什么都不显示,请将程序填写完整。

程序:

CLEAR

USE KH

帐号=SPACE(15)

@ 10,4 SAY"请输入要查询的客户信息:" GET帐号

READ

LOCATE FOR 帐号=ALLTRIM(帐号)

IF (1)

@ 6,10 SAY"帐号是"+帐号+"的客户存款情况为:"

?金额,存款类型

ENDIF

USE

分析: 这是一个单边选择的程序,如果不满足条件,就自动执行下一条语句。

答案: NOT EOF()

VFP复习题

3、 查询文件的扩展名(.qpr)

6、 ROUND()是( 四舍五入 )函数

7、 MAX()是( 最大值 )函数。

8、 结构化程序的三种最基本的结构是( 顺序 )( 选择 )( 循环)

9、 VFP中可以创建两种类型的视图分别是( 本地视图 )( 远程视图 )

选择题:

1、 视图设计器窗口中创建表达式使用的选项卡是 (字段)

2、 CREATE DATABASE命令用来建立(数据库)

3、 一个别关系是一张二维表格,在VFP中,一个关系对应一个(表)

4、 在“查询设计器”窗口中不包括的选项卡是()

5、 关于查询与视图的区别

6、 扩展名为.pjx的文件是(项目文件)

7、 打开表文件的命令是(use 表名)

8、 VFP变量名有什么特点

9、 关于自由表的描述

10、 什么文件不能作为查询输出的目标。

11、 为了设置两个表之间的数据参照完整性,要求这两个表是(一对多关系)

谁有VFP的程序设计基础题目哦?

给你10套上机题:

第1题、

一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)

注意:基本操作题为4道SQL题,请将每道题的SQL命令粘贴到SQL1.txt文件,

每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;

如果某道题没有做相应行为空。

在考生文件夹下完成下列操作:

1. 利用SQL SELECT命令将表stock_sl.dbf复制到stock_bk.dbf。

2. 利用SQL INSERT命令插入记录("600028",4.36, 4.60, 5500)到stock_bk.dbf表。

3. 利用SQL UPDATE命令将stock_bk.dbf表中"股票代码"为600007的股票"现价"改为8.88。

4. 利用SQL DELETE命令删除stock_bk.dbf表中"股票代码"为600000的股票。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹下建立数据库sc2,将考生文件夹下的自由表score2添加进

sc2中。根据score2表建立一个视图score_view,视图中包含的字段与

score2表相同,但视图中只能查询到积分小于等于1500的信息。 然后利用

新建立的视图查询视图中的全部信息,并将结果按积分升序存入表v2。

2、建立一个菜单filemenu,包括两个菜单项"文件"和"帮助", "文件"将激活

子菜单,该子菜单包括"打开"、"存为"和 "关闭"三个菜单项;"关闭"子菜

单项用SET SYSMENU TO DEFAULT命令返回到系统菜单,其他菜单项的功能

不做要求。

三、综合应用(1小题,计30分)

在考生文件夹下有学生成绩数据库XUESHENG3,包括如下所示三个表文件以及相

关的索引文件:

1、XS.DBF(学生文件: 学号 C8,姓名 C8,性别 C2,班级 C5;另有索引文件

XS.IDX,索引键:学号)

2、CJ.DBF(成绩文件: 学号 C8,课程名 C20,成绩 N5.1;另有索引文件

CJ.IDX,索引键:学号)

3、CJB.DBF(成绩表文件:学号 C8,班级 C5,姓名 C8,课程名 C12,成绩

N5.1)

设计一个名为XS3的菜单,菜单中有两个菜单项"计算"和"退出"。

程序运行时, 单击"计算"菜单项应完成下列操作:

将所有选修了"计算机基础"的学生的"计算机基础"成绩, 按成绩由高到低的顺

序填列到成绩表文件CJB.DBF中(事前须将文件中原有数据清空)。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第2题、

一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)

在考生文件夹下完成下列操作(在"成绩管理"数据库中完成):

1. 为"学生"表在"学号"字段上建立升序主索引,索引名为学号;

2. 为"学生"表的"性别"字段定义有效性规则,规则表达式为:性别$"男女"出错

提示信息是:"性别必须是男或女"。

3. 在"学生"表的"性别"和"年龄"字段之间插入一个"出生日期"字段,数据类型

为"日期型"(修改表结构);

4. 用SQL的UPDATE命令将学生"王三风"的出生日期修改为1983年5月1日,并将该

语句粘贴在SQL2.TXT文件中(第一行、只占一行)。

二、简单应用(2小题,每题20分,计40分)

1、根据考生文件夹下的txl表和jsh表建立一个查询query2,查询出单位是

"南京大学" 的所有教师的姓名、职称、电话,要求查询去向是表,表名

是query2.dbf,并执行该查询。

2、建立表单enterf,表单中有两个命令按钮,按钮的名称分别为cmdin和

cmdout,标题分别为"进入"和"退出"。

三、综合应用(1小题,计30分)

在考生文件夹下有仓库数据库CK3,包括如下所示两个表文件:

CK(仓库号C(4),城市C(8),面积N(4))

ZG(仓库号C(4),职工号C(4),工资N(4))

设计一个名为ZG3的菜单,菜单中有两个菜单项"统计"和"退出"。

程序运行时,单击"统计"菜单项应完成下列操作:检索出所有职工的

工资都大于 1220元的职工所管理的仓库信息,将结果保存在wh1数据表(WH1为

自由表)文件中,该文件的结构和CK数据表文件的结构一致,并按面积升序排

序。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第3题、

一、基本操作(共四小题,第1和2题是7分、第3和4题是8分

1、请在考生文件夹下建立一个数据库KS4。

2、将考生文件夹下的自由表STUD、COUR、SCOR加入到数据库KS4中。

3、为STUD表建立主索引,索引名和索引表达式均为学号;

为COUR表建立主索引,索引名和索引表达式均为课程编号;

为SCOR表建立两个普通索引,其中一个索引名和索引表达式均为学号;另

一个索引名和索引表达式均为课程编号。

4、在以上建立的各个索引的基础上为三个表建立联系。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT、SCORE和

COURSE。

利用SQL语句查询选修了"网络工程"课程的学生的全部信息,并将结果按学

号降序存放在 NETP.DBF文件中(库的结构同STUDENT,并在其后加入课程号

和课程名字段)。

2、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT,使用一对多

报表向导制作一个名为CJ2的报表,存放在考生文件夹中

要求:选择父表STUDENT 表中学号和姓名字段,从子表SCORE中选择课程号

和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表

标题为"学生成绩表"。

三、综合应用(1小题,计30分)

在考生文件夹下有工资数据库WAGE3,包括数据表文件:ZG(仓库号C(4),

职工号C(4),工资N(4))

设计一个名为TJ3的菜单,菜单中有两个菜单项"统计"和"退出"。

程序运行时,单击"统计"菜单项应完成下列操作:检索出工资小于或

等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在

仓库号相同的情况下再按职工号升序存放到EMP1(EMP1为自由表)文件中,该

数据表文件和ZG数据表文件具有相同的结构。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第4题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、请在考生文件夹下建立一个项目WY。

2、将考生文件夹下的数据库KS4加入到新建的项目WY中去。

3、利用视图设计器在数据库中建立视图 NEW_VIEW,视图包括GJHY表的全部字

段(顺序同GJHY中的字段)和全部记录。

4、从表HJQK中查询"奖级"为一等的学生的全部信息(HJQK表的全部字段),

并按分数的降序存入存入新表NEW1中。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹下,有一个数据库CADB,其中有数据库表ZXKC和ZX。

表结构如下:

ZXKC(产品编号,品名,需求量,进货日期)

ZX(品名,规格,单价,数量)

在表单向导中选取一对多表单向导创建一个表单。要求:从父表zxkc中选取

字段产品编号和品名,从子表zx中选取字段规格和单价,表单样式选取 "阴

影式" ,按钮类型使用 "文本按钮" ,按产品编号升序排序,表单标题

为"照相机",最后将表单存放在考生文件夹中,表单文件名是form2。

2、在考生文件夹中有数据库CADB,其中有数据库表ZXKC和ZX。建立单价大于等

于800,按规格升序排序的本地视图 CAMELIST,该视图按顺序包含字段产品

编号、品名、规格和单价,然后使用新建立的视图查询视图中的全部信息,

并将结果存入表v_camera。

三、综合应用(1小题,计30分)

在考生文件夹下有仓库数据库CHAXUN3包括三个表文件:

ZG(仓库号 C(4),职工号 C(4),工资 N(4))

DGD(职工号 C(4),供应商号 C(4),订购单号 C(4),订购日期 D,总

金额 N(10))

GYS(供应商号 C(4),供应商名 C(16),地址 C(10))

设计一个名为CX3的菜单,菜单中有两个菜单项"查询"和"退出"。

程序运行时,单击"查询"应完成下列操作:检索出工资多于1230元的职工向北

京的供应商发出的订购单信息,并将结果按总金额降序排列存放在ord1文件

(和DGD文件具有相同的结构,ord1为自由表)中。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第5题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、打开数据库PROD_M及数据库设计器,其中的两个表的必要的索引已经建立,

为这两个表建立永久性联系

2、设置CATEGORY表中"种类名称"字段的默认值为:"饮料"。

3、为PRODUCTS表增加字段:优惠价格N(8,2)。

4、如果所有商品的优惠价格是在进货价格基础上减少12%,计算所有商品的

优惠价格。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹中有一个数据库GCS,其中GONGCH表结构如下:

GONGCH(编号C(4),姓名C(10),姓别C(2),工资N(7,2),年龄N(2),

职称C(10))

现在要对GONGCH表进行修改,指定编号为主索引,索引名和索引表达式均为

编号;指定职称为普通索引,索引名和索引表达式均为职称;年龄字段的有

效性规则在25至65之间(含25和65),默认值是45。

2、在考生文件夹中有数据库GCS,其中有数据库表GONGCH。

在考生文件夹下设计一个表单,该表单为GCS库中GONGCH表窗口式输入界

面,表单上还有一个名为cmdCLOSE的按钮,标题名为 "关闭",点击该按

钮,使用 ThisForm.release退出表单。最后将表单存放在考生文件夹中,

表单文件名是C_FORM。

提示:在设计表单时,打开GCS数据库设计器,将GONGCH表拖入到表单中就

实现了GONGCH 表的窗口式输入界面,不需要其他设置或修改。

三、综合应用(1小题,计30分)

在考生文件夹下有仓库数据库GZ3包括两个表文件:

ZG(仓库号C(4),职工号C(4),工资N(4))

DGD(职工号C(4),供应商号C(4),订购单号 C(4),订购日期D,总金

额N(10))

首先在GZ3库中建立工资文件数据表:GJ3(职工号C(4),工资N(4))

设计一个名为YEWU3的菜单,菜单中有两个菜单项"查询"和"退出"。

程序运行时,单击"查询"应完成下列操作:检索出与供应商S7、S4和S6都有

业务联系的职工的职工号和工资,并按工资降序存放到所建立的GJ3文件中。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第6题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、在考生文件夹下建立数据库KS7;并将自由表SCOR加入数据库中。

2、按下面给出的表结构。给数据库添加表STUD

字段 字段名 类型 宽度 小数

1 学号 字符型 2

2 姓名 字符型 8

3 年龄 数值型 2 0

4 性别 字符型 2

5 院系号 字符型 2

3、为表STUD建立主索引,索引名为学号,索引表达式为学号

为表SCOR建立普通索引,索引名为学号,索引表达式为学号

4、STUD表和SCOR表必要的索引已建立,为两表建立永久性的联系。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹中有一个学生数据库STU,其中有数据库表STUDENT存放学生信

息,使用菜单设计器制作一个名为STMENU的菜单,菜单包括"数据操

作"和"文件"两个菜单栏。

每个菜单栏都包括一个子菜单。菜单结构如下:

数据操作

数据输出

文件

保存

退出

其中:

数据输出子菜单对应的过程完成下列操作:打开数据库STU,使用SQL的

SELECT语句查询数据库表STUDENT 中所有信息,然后关闭数据库。

退出菜单项对应的命令为SET SYSMENU TO DEFAULT,使之可以返回到系统菜

单。保存菜单项不做要求。

2、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2、SC和

COURSE2。三个表如下所示:

STUDENT2(学号,姓名,年龄,性别,院系编号)

SC(学号,课程号,成绩,备注)

COURSE2(课程号,课程名,先修课号,学分)

用SQL语句查询"计算机软件基础"课程的考试成绩在85分以下(含85分)的学

生的全部信息并将结果按学号升序存入 NOEX.DBF文件中。(库的结构同

STUDENT2,并在其后加入成绩字段)。

三、综合应用(1小题,计30分)

现有医院数据库DOCT3,包括三个表文件:YISHENG.DBF(医生)、

YAO.DBF(药品)、CHUFANG.DBF(处方)。设计一个名为CHUFANG3的菜单,

菜单中有两个菜单项"查询"和"退出"。

程序运行时,单击"查询"应完成下列操作: 查询同一处方中,包含"感冒"两个

字的药品的处方号、药名和生产厂,以及医生的姓名和年龄,把查询结果按处方

号升序排序存入JG9数据表中。JG9的结构为:(姓名,年龄,处方号,药名,生产

厂)。最后统计这些医生的人数(注意不是人次数),并在JG9中追加一条记录,将

人数填入该记录的处方号字段中。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第7题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、在考生文件夹下建立数据库CUST_M。

2、把考生文件夹下的自由表CUST和ORDER1加入到刚建立的数据库中。

3、为CUST表建立主索引,索引名为 primarykey,索引表达式为客户编号。

4、为ORDER1表建立侯选索引,索引名为candi_key,索引表达式为订单编号。

为ORDER1表建立普通索引,索引名为regularkey,索引表达式为客户编号。

二、简单应用(2小题,每题20分,计40分)

1、根据order1表建立一个视图order_view,视图中包含的字段及顺序与order1表相同,但视图中只能查询到金额小于1000的信息。

然后利用新建立的视图查询视图中的全部信息,并将结果按订单编号升序存入表v1。

2、建立一个菜单my_menu,包括两个菜单项"文件"和"帮助","文件"将激活子菜单,该子菜单包括"打开"、"存为"和"关闭"三个菜单项,"关闭"子菜单项用 SET SYSMENU TO DEFAULT命令返回到系统菜单,其他菜单项的功能不做要求。

三、综合应用(1小题,计30分)

在考生文件夹下有学生管理数据库BOOKS,数据库中有score表(含有学号、物

理、高数、 英语和学分5个字段,具体类型请查询表结构),其中前4项已有数

据。

请编写符合下列要求的程序并运行程序:

设计一个名为myform的表单,表单中有两个命令按钮,按钮的名称分别为

cmdYes和 cmdNo,标题分别为"计算"和"关闭"。程序运行时,单击"计算"按钮

应完成下列操作:

(1)计算每一个学生的总学分并存入对应的学分字段。学分的计算方法是:物理

60分以上 (包括60分)2学分,否则0分;高数60分以上(包括60分)3学分,否

则0分;英语60分以上(包括60分) 4学分,否则0分。

(2)根据上面的计算结果,生成一个新的表 xf,(要求表结构的字段类型与

score表对应字段的类型一致),并且按学分升序排序,如果学分相等,则按

学号降序排序。

单击"关闭"按钮,程序终止运行。

第8题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、在考生文件夹下建立项目SALES_M。

2、在新建立的项目中建立数据库CUST_M。

3、把自由表CUST和ORDER1加入到新建立的数据库中。

4、为确保ORDER1表元组唯一,请为ORDER1表建立候选索引,索引名为订单编号,索

引表达式为订单编号。

二、简单应用(2小题,每题20分,计40分)

1、根据order1表和cust表建立一个查询query1,查询出公司所在地是"北京"的所

有公司的名称、订单日期、送货方式,要求查询去向是表,表名是

query1.dbf,并执行该查询。

2、建立表单my_form,表单中有两个命令按钮,按钮的名称分别为cmdYes和

cmdNo,标题分别为"登录"和"退出"。

三、综合应用(1小题,计30分)

在考生文件夹下有股票管理数据库stock,数据库中有表stock_sl、stock_fk

表。

stock_sl的表结构是股票代码C(6)、买入价N(7.2)、现价N(7.2)、持有数量

N(6)。

stock_fk的表结构是股票代码C(6),浮亏金额N(11.2)。

请编写并运行符合下列要求的程序:

设计一个名为menu_lin的菜单,菜单中有两个菜单项"计算"和"退出"

程序运行时,单击"计算"菜单项应完成下列操作:

(1)将现价比买入价低的股票信息存入stock_fk表,其中:

浮亏金额=(买入价-现价)*持有数量

(注意要先把表的stock_fk内容清空)。

(2)根据stock_fk表计算总浮亏金额,存入一个新表stock_z中,其字段名为浮

亏金额,类型为 N(11.2),该表最终只有一条记录(该表属于库STOCK)。

单击"退出"菜单项,程序终止运行。

第9题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、在考生文件夹下打开数据库CUST_M,为CUST表建立主索引,索引名为客户编号,

索引表达式为客户编号。

2、CUST表和ORDER1表中必要的索引已经建立,为两表建立永久性联系。

3、为CUST表增为字段:客户等级C(2) ,字段值允许为空。

4、为ORDER1表"金额"字段增加有效性规则: 金额大于零,否则提示:金额必须

大于零。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2,SC和

COURSE2。三个表如下所示:

STUDENT2(学号,姓名,年龄,性别,院系编号)

SC(学号,课程号,成绩,备注)

COURSE2(课程号,课程名,先修课号,学分)

在考生文件夹下有一个程序dbtest3.prg,该程序的功能是定义一个视图VS1,

检索选课门数是3门以上的每个学生的学号、姓名、平均成绩、最低分、选

课门数和院系编号,并按平均成绩降序排序。请修改程序中的错误,并调试

该程序,使之正确运行。不得增加或删减程序行。

2、在考生文件夹下有一个数据库CUST_M,数据库中有CUST和ORDER1两个表。请

使用菜单设计器制作一个名为 MY_MENU的菜单,菜单只有"浏览"一个菜单

项。

浏览菜单项中有"客户"、"订单"和"退出"三个子菜单:

客户子菜单使用SELECT * FROM CUST命令对CUST表查询;

订单子菜单使用SELECT * FROM ORDER1命令对ORDER1表查询;

退出子菜单使用SET SYSMENU TO DEFAULT命令返回系统菜单。

三、综合应用(1小题,计30分)

在考生文件夹下有学生管理数据库stu_3,数据库中有score_fs表,其表结构是

学号C(10)、物理I、高数I、英语I和平均分 N(6.2)。成绩如果用-1表示,说明

学生没有选学该门课程。其中 ,该表前四项已有数据。

请编写并运行符合下列要求的程序:

设计一个名为form_my的表单,表单中有两个命令按钮,按钮的名称分别为

cmdYes和CmdNo,标题分别为"统计"和"关闭"。

程序运行时,单击"统计"按钮应完成下列操作:

(1)计算每一个学生的平均分存入平均分字段。注意:分数为-1不记入平均分,

例如一个学生的三门成绩存储的是90,-1,70,平均分应是80。

(2)根据上面的计算结果,生成一个新的表PJF ,该表只包括学号和平均分两

项,并且按平均分的降序排序,如果平均分相等,则按学号升序排序。

单击"关闭"按钮,程序终止运行。

第10题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、在考生文件夹下建立项目SALES_M。

2、把考生文件夹中的数据库CUST_M加入SALES_M项目中。

3、为CUST_M数据库中CUST表增加字段:联系电话C(12),字段值允许"空"

4、为CUST_M数据库中ORDER1表"送货方式"字段设计默认值为"铁路"。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹下,有一个数据库SDB,其中有数据库表STUDENT、SC和

COURSE。表结构如下:

STUDENT(学号,姓名,年龄,性别,院系号)

SC(学号,课程号,成绩,备注)

COURSE(课程号,课程名,先修课程号,学分)

在表单向导中选取一对多表单向导创建一个表单。要求:从父表STUDENT中

选取字段学号和姓名,从子表SC中选取字段课程号和成绩,表单样式选

"浮雕式",按钮类型使用"文本按钮",按学号降序排序,表单标题为"学生

成绩" ,最后将表单存放在考生文件夹中,表单文件名是form1。

2、在考生文件夹中有一数据库SDB,其中有数据库表STUDENT,SC和COURSE。建

立成绩大于等于60分,按学号升序排序的本地视图GRADELIST,该视图按顺

序包含字段学号、姓名、成绩和课程名,然后使用新建立的视图查询视图中

的全部信息,并将结果存入表v_grade。

三、综合应用(1小题,计30分)

在考生文件夹下有股票管理数据库stock_4,数据库中有stock_mm表和stock_cc

表,stock_mm的表结构是股票代码C(6)、买卖标记L(.T.表示买进,.F.表示卖

出),单价N(7.2)、本次数量N(6)。stock_cc的表结构是股票代码C(6),持仓

数量N(8)。 stock_mm表中一只股票对应多个记录,stock_cc表中一只股票对应

一个记录(stock_cc表开始时记录个数为0)。

请编写并运行符合下列要求的程序:

设计一个名为menu_lin的菜单,菜单中有两个菜单项"计算"和"退出"。

程序运行时,单击"计算"菜单项应完成下列操作:

(1)根据stock_mm统计每只股票的持仓数量,并将结果存放到stock_cc表。计算

方法:买卖标记为.T.(表示买进),将本次数量加到相应股票的持仓数量;

买卖标记为.F.(表示卖出),将本次数量从相应股票的持仓数量中减去。

(注意:stock_cc表中的记录按股票代码从小到大顺序存放)。

(2)将stock_cc表中持仓数量最少的股票信息存储到自由表stock_x中(与

stock_cc表结构相同)。

单击"退出"菜单项,程序终止运行。

急需VFP程序设计试题的答案

1.关系数据库的任何检索操作都是三种基本运算的组合,这三种基本运算不包括( B )

A) 联接 B) 比较 C) 选择 D)投影

2.“项目管理器”的“文档”选项卡用于显示和管理( D)

A) 表单、报表和和查询 B) 数据库、表单和报表

C) 查询、报表和视图 D)表单、报表和标签

3. 在Visual FoxPro中,表结构中的逻辑型、通用型、日期型字段的宽度由系统自动给出,它们分别为( A )

A)1,4,8 B)4,4,10

C)l,10,8 D、2,8,8

4. 在程序中不需要使用public等命令明确声明和建立,可直接使用的内存变

量是 ( A )

A)局部变量 B)公共变量 C)私有变量 D)全局变量

5.下列属于非容器类控件的是 A

A)Text B)Form C)Page D)Container

6.若使“文本框”控件中输入的内容在运行时显示为“*”号,需修改文本框的 D 属性

A)Text B)Name C)Value D)PasswordChar

7.要为当前表所有职工增加100元工资,应该使用命令 D

A)CHANGE工资 WITH 工资十100

B)REPLACE工资WITH工资十100

C)CHANGE ALL工资WITH工资+100

D)REPLACE ALL工资WITH工资+100

8.SQL语句中条件短语的关键字是 A

A)WHERE B) FOR

C)WHILE D) CONDITION

9.以下关于查询的描述正确的是 D

A)不能根据自由表建立查询 B)只能根据自由表建立查询

C)只能根据数据库表建立查询 D)可以根据数据库表和自由表建立查询

10. VFP中支持两种类型的菜单,分别是 C

A)条形菜单和弹出式菜单 B)条形菜单和下拉式菜单

C)弹 出式菜单和下拉式菜单 D)复杂菜单和简单菜单

二、填空题(每空3分,共30分)

1.在Visual FoxPro的表之间建立—对多联系是把( 主表 )的主关键字字段添加到的(相关 )表中。

2.项目文件的扩展名是( .PJX )。

3.命令? ROUND(337.2007,3)的执行结果是( 337.201 )。

4.在定义字段有效性规则时,在规则框中输入的表达式类型是 逻辑型。

5.数据库表之间的一对多联系通过主表的 ( 主 )索引和子表的 ( 普通 )索引实现。

6.数据环境是表单的数据来源,它可以包括与表单有联系的__视图________、__自由表______或是__数据库表__________。

7.在SQL语句中空值用 ( null ) 表示

三、简答题(每题10分,共40分)

1.简述VF开发应用程序的过程

先创建表及相关数据文件,然后创建程序,最后使用项目管理器连编形成EXE文件

2.叙述下列各命令的功能:

GO BOTTOM 图 指针指向最后一条记录

MODIFY STRUCTURE 打开表设计器,修改表结构

3.简述什么是类?类和对象的区别和联系?

类是对一类相似对象的性质描述。

任何一个对象都是某一个类的实例。


    “vfp程序设计考试题库(vf程序设计考试试卷及答案)”由考试资料网(www.kszl.net)整理!仅供学习参考!具体以权威部门公布的内容为准!

------分隔线----------------------------


------分隔线----------------------------