VFP练习题及答案.docx
《VFP练习题及答案.docx》由会员分享,可在线阅读,更多相关《VFP练习题及答案.docx(21页珍藏版)》请在冰点文库上搜索。
![VFP练习题及答案.docx](https://file1.bingdoc.com/fileroot1/2023-6/22/795ee5b4-3c64-4178-a274-92832eeefedf/795ee5b4-3c64-4178-a274-92832eeefedf1.gif)
VFP练习题及答案
VFP练习题及答案
VFP期末笔试题型
1.单项选择题2.写出表达式及函数结果题3.阅读程序写出结果题4.填空题
5.编程题一题面向过程,一题面向对象
各章复习
第一章数据库系统及VisualFoxPro概述
1.B是用于建立、使用和维护数据库的系统软件。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
用户通过它来访问数据库中的数据,数据库管理员也通过它进行数据库的维护工作。
A、数据库
B、数据库管理系统
C、操作系统 D、数据处理应用程序
2.关于关系规范化、关系模型和关系运算,以下说法中错误的是:
___B__。
A、
关系模型中,主要是通过外部关键字表示实体之间的联系
B、关系规范化的主要目的之一就是完全消除数据冗余
C、在进行关系运算的并、差、交运算时,两个关系的结构必须相同D、一个规范化的二维表中,其行、列的顺序可任意交换
3.当前常用的DBMS产品中,数据模型主要采用__B___和面向对象模型,VFP就是采用这种。
A、表格模型B、关系模型C、E-R模型E、模型网状模型F、层次模型。
D、C/S
4.E-R图是E-R模型的图形表示法,它是直接表示概念模型的有力工具。
在E-R图中,用 D 表示属性。
A、三角形
B、矩形
C、菱形
D、椭圆形
5.关键字是关系模型中的重要概念。
其值能够惟一地确定一条记录,但是它所包含的字段可能是有多余的,这样的关键字称为 A 。
A、超关键字
B、候选关键字
C、主关键字
D、外部关键字
6.在关系模型中,关系规范化的过程是通过关系中属性的分解和关系模式的分解来实现的。
在实际应用中,设计关系模式时一般要求满足 C 。
A、1NF B、2NF C、3NF D、4NF
7.二维表中能唯一确定记录的一列或多列的组合称为超关键字。
若一个超关键字去掉其中任何一个列后不再能唯一确定记录,则称其为候选关键字。
8.关键字是关系模型中的重要概念。
当一张二维表(A表)的主关键字被包含在另一张二维表(B表)中时,则
1
它就被称为B表的外部关键字。
9.关系模型是用二维表或表的结构形式来表示实体及实体间的关系的P8
10.“ 数据库 ”是指以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。
P3填写下列的运算是何种运算:
A)有两个结构相同的学生关系S1和S2,分别存储两个系的学生档案,如果把S2中的学生档案追加到
S1中,则为两个关系的___并____运算。
与命令appendfrom?
?
相当。
B)__差___运算与delete-sql或dele命令相当C)_选择____运算与select–sql命令相当
第二章VFP语言基础
1.下列符合VFP命名规则的是 D 。
A、USE B、#COUNT C、StudentID D、My_Name
2.在VFP系统中,常量根据其数据类型可分为6种。
下列常量中为C型常量的是 A 。
①[xx年龄在70~80之间的教师 D、程序不完整,无法知道功能
写出表达式的值1.(-12%-5)^3–8或-
2.ROUND(,-2)1xx年12月26日是星期二,则DOW({^2006/12/26})的值是310.INT(VAL(“”)*2)54311.MOD(9,-2)-1
12.VAL(\–YEAR({^2004/12/5})249613.SUBSTR(‘南京财经大学’,5,2)财14.LEN(‘ABCD’-‘CD’)6
15.AT(\□is□my□computer\注:
符号“□”表示一个空格)6
写出下面程序的执行结果1.执行下面程序:
X=1Y=2IFX>Y Z=XELSEZ=YENDIF?
Z
4
程序运行结束时Z的值是:
2 。
2.在VFP的命令窗口中依次执行如下命令:
DIMENSIONa(3,4)a=8a(3,4)=5?
a(3),a*a(3,4)
则:
a(3)的值为8 ,a*a(3,4)的值为40。
3.执行下面程序:
DIMENSIONA(6)A
(1)=1A
(2)=1i=3
DOWHILEi程序运行结束时,A(3)的值是 、A(5)的值是 。
2、54.执行下面程序:
s=0
FORi=1TO10STEP2 IFINT(i/3)=i/3 LOOP ENDIF s=s+iENDF?
s,i
程序运行结束时,s的值是 ,i的值是 。
13、115.执行下面这个程序:
s=0
5
FORi=1TO10 IFMOD(i,3)0 LOOP ELSE s=s+i ENDIFENDFOR?
s
程序运行后,s的值是:
18 ;i的值是:
11 。
6.执行下面程序:
s=0p=1i=1
dowhile.T. ifi>5 exit else
p=p*i s=s+p i=i+1 endifenddo?
i,s
程序运行结束时i的值是:
6 ,s的值是:
153 。
7.执行下面程序:
nResult=0FORn=1TO10 s=0
FORm=1TOn s=s+m ENDFor
6
nResult=nResult+sENDFOR?
nResult,s
程序运行结束时nResult的值是:
220 ,s的值是:
55 。
8.执行下面这个程序:
i=1s=0
DOWHILEiFUNCTIONPlus PARAMETERSx x=x+x RETURNxENDFUNC
程序运行后,s的值为 30 ;i的值为 6 。
9.执行下面程序:
?
straa(\南京NJUE财经EDU大学网站cn\调用自定义函数FUNCTIONstraa
PARAMETERScstr,m,n
FORi=1TOLEN(cstr) aa=ASC(SUBSTR(cstr,i)) IFaa>127 n=n+1 i=i+1 ELSE m=m+1 ENDIF ENDFOR
7
RETURN\ENDFUNC
程序运行结束时,VFP主窗口显示m= 、n=_______。
12、810.执行下面程序:
x=2y=5s1=aa1(x,y)?
s1,x*s1functionaa1 paraL,W L=L+2
z=L*W returnzendfunc
程序运行结束时s1的值是:
20,x*s1的值是:
40。
11.在某数据库中有一个成绩表,其表结构及所含的记录如下所示。
执下程
成绩表()结构字段名xhkcdhCJxh010201010201010201010202010202成绩表()的记录内容kcdh0102030304cj7882807058xh010202010301010301010301kcdh02010306cj80808578现行列序:
数据类型字段含义C,6C,2N,3
学号课程代号成绩 CLOSETABLEALLUSECJnSum=0nAvg=0n=0
8
k=RECCOUNT()FORI=1TOk IFkcdh=\ nSum=nSum+cj n=n+1 ELSE
nAvg=nAvg+cj ENDIF SKIPENDFOR
nAvg=nAvg/(k-n)?
nSum,nAvg
程序运行结束时,nSum的值是 、nAvg的值是________。
235、76
12.Store“asdf”toc,cc
P=space(0)Dowhilelen(c)>0 P=left(c,1)+p C=substr(c,2)Enddo?
p
程序运行后,P的值是__”fdsa”____。
13.已知中含有如左表所示的记录(表中所示为xscj表中记录的物理顺序),现运行下面程序:
closeallusexscjgo2s=0ncount=0
Xh950101950102950201950101kcdh01020203cj838070879
scanforcj>=80 s=s+cj
ncount=ncount+1endscan?
s,ncount
程序运行结束时s的值是:
250 ,ncount的值是:
3 。
14.有一成绩表(),它的结构及所含的记录如右表所示。
执序:
s=0i=0
SCANFORkcdh=\ i=i+1 s=s+cjENDSCAN
?
\平均成绩为:
\
程序运行结束后,i的值是5 ;显示的平均成绩是 。
15.执行下面这个程序:
设有表文件,表中共有30条记录,记录内容如下:
学号XH990201990201990201990201990201990201990202990202990202990202
行下面的程
xhkcdhcj2110101018621101020190211010301762110102027321101030283211010402662010211017020102120168课程代号KCDH01020304050601020304成绩CJ78808073829563626993学号XH990202990202990301990301990301990301990301990301990302990302课程代号KCDH05060102030405060102成绩CJ95846362829395767880学号XH990302990302990302990302990303990303990303990303990304990304课程代号KCDH03040506010203040103成绩CJ8998689487788580518610
C、视图具有许多数据库表的共性,即可以利用视图创建视图和查询D、视图是数据库的一个组成部分,它兼有表和查询的特点2.关于VFP的查询与视图,下列说法中正确的是:
。
A、查询与视图一样都可以更新其数据源表中的数据
B、视图既可以保存在数据库中,也可以保存为独立的视图文件C、查询不可以保存在数据库中,只能保存为独立的查询文件D、查询文件中实际保存的是SELECT-SQL语句的执行结果
3.事实上,一个查询可以用一条 语句来完成,查询保存为一个扩展名为.qpr的文件,文件中保存的是实现查询的命令,而非查询结果。
A、SELECT-SQL B、BROWSEC、CREATEQUERY D、CREATESQLVIEW
4.使用 ,主要是从表中检索或统计出所需的数据,这些数据是只读的,不可更新的。
A、表
B、视图
C、表单
D、查询
5.在创建多表查询时,必须选择一种联接类型,最普通的联接类型是 联接。
A、完全
B、左
C、右
D、内
6.浏览视图中的内容可以使用 命令。
A、USEB、BROWSEC、SELECTD、SQLVIEW
7.在SELECT-SQL命令中,如果在分组的基础上,还需对查询结果进行记录的筛选,即取查询结果记录的子集,可以用 子句。
A、ORDERBYB、HAVING
C、DISTINCT
D、WHERE
8.根据需要可以把查询的结果输出到不同的目的地。
以下不可以作为查询的输出类型的是 。
A、自表
B、临时表
C、表单
D、报表
9.在VFP中,使用“查询设计器”或“视图设计器”设计查询与视图时,以下不能作为查询与视图的输出类型的是:
_。
A、数组 B、屏幕 C、临时表 D、文件
10.根据需要可以把查询的结果输出到不同的目的地。
以下可以作为查询的输出类型的是 。
A、自表
B、浏览
C、表单
D、菜单
11.下列对自表建立查询的SELECT-SQL语句中,错误的是 。
A、SELECT*FROMxsINTOSCREENB、SELECT*FROMxsINTOCURSORtempC、SELECT*FROMxsINTOTABLEtemp
21
D、SELECT*FROMxsTOFILE
12.参数化视图可以用来限定视图的作用范围。
可以使用CREATESQLVIEW命令并带上“ ”符号和一个参数来创建参数化视图。
A、=
B、?
C、*
D、%
13.下列SELECT-SQL语句中,可实现“查询zy表(专业表)中,哪些专业在xs表(学生表)中尚未有该专业的学生”的功能的语句是:
______。
(注:
zydh表示“专业代号”字段)A、SELECT*FROMzyWHEREIN(SELECTFROMxs)B、SELECT*FROMxsWHEREIN(SELECTFROMzy)C、SELECT*FROMzyWHERENOTIN(SELECTFROMxs)D、SELECT*FROMxsWHERENOTIN(SELECTFROMzy)
14.在SELECT-SQL语句中,可以使用UNION子句将多个SELECT查询结果组合起来建立组合查询。
关于组合查询,下列说法中错误的是:
_。
A、组合的多个SELECT命令的查询结果的列数必须相同
B、组合的多个SELECT命令的查询结果中的对应列必须有相同的数据类型和宽度
C、组合的多个SELECT命令,只有在最后的一个SELECT命令中可以包含ORDERBY子句D、可以使用UNION子句来组合子查询
15.用“查询设计器”创建多表查询时,需要建立表之间的联接。
在建立联接时,必须选择一种联接类型。
联接类型有四种:
内联接、左联接、右联接和完全联接。
16.在SELECT-SQL语句中,DISTINCT选项的功能是 。
17.以下是基于SJK数据库中的KC(课程)表和CJ(成绩)表查询各课程的选课人数、考试成绩为优秀(CJ表中cj(成绩)字段的值在90及以上)的人数,查询结果按“选课人数”的降序排序的SELECT-SQL语句。
请补充完整:
(注:
语句中的kcdh字段表示“课程代号”,kcm字段表示“课程名”)
SELECT,,COUNT(*)AS选课人数,;
SUM(IIF(>=90,1,0)) AS优秀人数;FROMsjk!
kcINNERJOINsjk!
cjON=;GROUPBY;
ORDERBY3或者选课人数DESC
17.基于成绩表()和课程表()建立查询。
要求查询每门课程的课程代号(KCDH)和名称(KCM)以及最高分(成绩字段为CJ),并且只显示最高分大于等于75分的记录。
查询结果保存到一个名为kc_的表文件中。
请完善以下SELECT语句。
SELECT,,MAX()AS最高分;
22
FROMcjINNERJOINkc; ON=;
GROUPBY 或1或 ; HAVING 最高分>=75; INTOTABLE|DBFkc_
18.显示XS和ZY两张表中的三个字段XH、XM、ZYMC的内容,并根据两张表都有ZYDH字段联接两张表。
SELECT查询命令如下:
SELECT,,; FROMXS,ZY;
WHERE_____=_____________
19.已知xs表含有字符型字段xh(学号)和xm(姓名),kc表含有字符型字段kcdh(课程代号)、数值型字段kss(课时数)和xf(学分)、逻辑型字段bxk(是否必修课),cj表含有字符型字段xh(学号)和数值型字段cj(成绩)。
现基于xs表、kc表和cj表建立查询,要求统计每个学生所学必修课的门数和所有课程的总学分,学生的成绩只有在60分以上才能取得学分。
要求输出:
xh,xm,必修课门数,总学分,查询结果按学号排序。
(注:
bxk字段的值为.T.表示必修课、为.F.表示选修课)。
请完善该查询的SELECT-SQL命令:
SELECT,,Sum(iif(>=60,xf,0))或Sum(iif(Sum(iif(=.T.,1,0))或Sum(iif(,1,0))或Sum(iif(=.F.,0,1))或Sum(iif(!
0, AS必修课门数;
FROMxsINNERJOINcjINNERJOINkc; ON=; ON=;
GROUPBY 或1; ORDERBY
20.设sjk数据库中有三个表:
、和。
其中:
xim表所含的字段有:
系代号、系名。
js表和xs表均含有:
姓名、系代号字段。
要求查询“计算机科学系”的全体师生名单,结果中包含两列:
类别和姓名,其中类别用于注明“教师”或“学生”。
输出结果先按照类别排序,如果类别相同再按姓名排序。
请完善以下的SELECT-SQL命令:
23
SELECT\教师\AS类别,AS姓名; FROMsjk!
js,sjk!
xim;
WHERE=AND=\计算机科学系\; Union或Unio;
SELECT\学生\AS类别,AS姓名; FROMsjk!
xs,sjk!
xim;
WHERE=AND=\计算机科学系\;
ORDERBY 1,2
第六章对象模型和事件模型
1.以下说法中,除 外均是事件和方法程序之间相互关系的正确描述。
A、事件是对象识别的一个动作,而方法程序是对象能够执行的一个操作。
因此,它们在本质上是相同的并可以相互替代。
B、事件可以有与之相关联的方法程序。
C、方法程序也可以独立于事件而单独存在。
D、事件与方法程序的一个不同之处在于,前者的集合是固定的,而后者的集合是可以无限制扩展的。
2.在VFP中,关于属性、事件和方法程序,以下说法中正确的是:
_____。
A、事件可以具有与之相关联的方法程序B、方法程序也可以独立于事件而单独存在C、属性是对象的特征或某一方面的行为D、方法程序和事件都可以用户自己创建
3.以下关于在VFP中创建子类的说法中错误的是:
。
A、VFP将用户自定义子类保存在扩展名为.vcx的类库文件中B、一个VFP类库文件中可以保存多个自定义子类C、只能基于VFP的基类创建子类
D、在VFP中,可以使用“类设计器”或“表单设计器”创建子类4.设某子类Q具有P属性,则______。
A、Q的父类也必定具有P属性,且Q的P属性值必定与其父类的P属性相同B、Q的父类也必定具有P属性,且Q的P属性值可以与其父类的P属性不同C、Q的父类要么不具有P属性,否则于继承性,Q与其父类的P属性值必定相同D、Q的父类未必具有P属性,即使有,Q与其父类的P属性未必相同
24
5.某表单上只有一个表格控件,现分别为表单、表格、表格中的列控件及列控件中的文本框设置了Init事件代码。
则运行该表单时,上述事件中最先发生的是:
。
A、表单的Init事件C、表格的Init事件
B、列控件中文本框的Init事件D、列控件的Init事件
6.对于Init事件,下列说法中不正确的是 。
A、Init事件是在创建对象时发生的事件。
B、表单集的Init事件在其所属的表单的Init事件之前触发。
C、容器的Init事件可以访问容器中的对象。
D、在表单的Init事件处理程序中可以处理表单上的任意一个控件对象。
7.在以下VFP事件中,最先发生的是 。
A、表单的Init事件C、表单的Load事件
B、表单的Destroy事件D、对象的Init事件
8.所有基类都有的事件叫最小事件集,最小事件包括 。
A、Init B、Destroy C、Click D、Error9.当用户用键盘或鼠标更改控件的值时将发生 事件。
A、Click
B、Init
C、Valid D、InteractiveChange
10.子类或对象具有延用父类的属性、方法和事件代码等特征的能力,子类的这种特性称为继承性/继承。
11.对象是类 的实例。
12.当命令按钮、选项按钮或复选框有焦点时按下“空格”键,会发生Click 事件。
13.当用户使用键盘或鼠标更改控件的值时发生InterActiveChange事件。
14.在VFP基类的最小事件集中,除Error事件外,还包括创建对象时激活的INIT 事件和从内存中释放对象时激活的DESTROY事件。
15.若要为容器对象中的所有控件或某类控件指定一个属性设置,应使用Setall方法。
第七章表单
1.在VFP中,表单文件的扩展名是 。
A、.scx
B、.dbc
C、.qpr
D、.prg
2.建立一个表单后,会在磁盘上产生两个文件:
表单文件和表单备注文件,扩展名分别为 。
A、.dbf和.ftp B、.pjx和.pjtC、.scx和.sct D、.dcx和.dct3.表单集的集合属性和计数属性分别是 。
A、Forms和FormCountB、Controls和ControlCount
25
C、Pages和PageCountD、Objects和OjbectCount
4.在VFP中,下列语句结构中的______提供了给单个对象指定多个属性的方便途径。
A、IF?
?
ELSE?
?
ENDIF B、DOWHILE?
?
ENDDOC、WITH?
?
ENDWITH D、FOR?
?
ENDFOR
5.在相对引用对象时涉及到一些关键字,其中, 表示该对象的直接容器。
A、This
B、Parent
C、Thisform
D、ActivatePage
6.设表单frm