第一章 Visual FoxPro 基本概念
(21)(2006年春)
A.数据库系统复杂,而文件系统简单
B.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件
C.文件系统管理的数据量较小,而数据库系统可以管理庞大的数据量
D.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
答案:D。解决数据冗余和数据独立问题是数据库系统的最大特点。
2.数据库中的数据按一定的数据模型组织、描述和存储,具有较小的、较高的数据独立性和易扩展
性,并可以供多个用户共享。(2006年秋)
答案:冗余度。
为多级,每一级称为一个范式,记作 n NF( n 表示范式的级别).在实际应用的过程中(设计关系模式时),一般要求满足3NF . (2006年春)
4.E-R图是E-R模型的图形表示法,它是表示概念数据模型的有力工具。在E-R模型中有3个基本的概念,即实体、联系和___属性 __,在E-R图中它们分别用矩形框和椭圆行框来表示。(2005年秋)
5.E-R 图示 E-R 模型的图形表示法,它是表示概念模型的有力工具。在 E-R 图中,实体之间的联系用 ______ 表示。(2005年春)
A.矩形框B.菱形框C.圆形框D.椭圆形框
答案:B。实体用矩形框表示。属性用椭圆形框表示。
6.不同类型的文件有不同的默认扩展名。数据库文件、表文件以及查询文件的默认扩展名分别是__________。(2006年秋)
A..DBT、.FPT、.QPR B..DBC、.DBF、.QPR C..DBC、.MPR、.PRG D..DBT、.FPT、.QPX
答案:B。
7.在 VFP 中创建一个新的数据库后,系统会生成3个文件,其文件扩展名分别为 .dbc (数据库户文件), .dct (数据库备注文件)和 .dcx (数据库索引文件).(2006年春)
8.用户可以使用VFP的菜单设置器设计菜单。创建一个菜单后,系统会生成两个文件:.mnx和.mnt。.mnx菜单文件不能直接运行,当选中.mnx文件并且执行“运行”操作时,系统首先自动生成两个文件:.mpx和__.mpr___,然后运行它。(2005年秋)
VFP中各种文件组织的核心。在下列有关VFP项目的叙述中,错误的是____。(2005年秋)
A.项目的关键既可以利用菜单或工具栏,也可以利用VFP命令
B.一个VFP窗口中,只能打开一个项目
C.在VFP窗口中,项目管理器可以折叠成工具栏形式
D.“连编”操作是针对项目而言的,该操作位于“项目”菜单栏
答案:B。一个VFP窗口可以打开多个项目。
10.在“项目管理器”窗口中,用户可以选择一个程序、 ___表单__、查询或菜单,将其设置为主程序。(2005年春)
11.利用一条STORE命令可以给多个内存变量赋同一个值。(2006年秋)
答案:STORE。“=”和STORE命令都是给变量赋值。但是前者只能给一个变量赋值,后者可以同时给多个变量赋相同的值。
12.VFP 中,关闭所有的文件并结束当前 VFP 系统运行的命令是 QUIT .(2006年春)
答案:QUIT。关闭表文件的命令可以用CLOSE,但是要关闭文件同时退出系统的命令只有QUIT。
13.在VFP中,用户可以利用命令来修改系统的操作环境(如默认工作目录等),也可以通过菜单命令打开__选项___对话框进行设置。(2005年秋)
14.目前用户通常是在操作系统环境下(如在“我的电脑”或“资源管理器”窗口中)创建和删除文件夹。在VFP 中,也可以使用MD命令和___RD_____命令来创建新文件夹和删除已建文件夹。(2005年秋)
答案:RD。MD是创建文件夹命令。RD是删除文件夹的命令。CD是改变当前工作目录的命令。
15.在 VTP 集成环境下调试程序时,如果程序运行过程中出现“死循环”现象,通常可以通过按键盘上的____ESC____ 键强制中断程序。(2005年春)
★精讲精练★
一、选择题
1.数据库的三级模式中,内模式反映的是________。
A. DBA视图 B.系统程序员视图 C.用户视图 D.局部逻辑结构
2.实体是信息世界的属于,与之对应的数据库属于是__________。
A.文件 B.数据库 C.记录 D.字段
3.数据的逻辑独立性是通过________来保证的。
A.模式 B.内模式 C.模式/内模式映射 D.模式/外模式映射
4.把信息世界中实体具有的特征称为属性,与属性对应的数据库术语是___D_____。
A.文件 B.数据库 C.记录 D.字段
5.关于关系的主键的说法中,不正确的是___C_______。
A.主键的取值不能为空 B.主键可能由多个字段组成
C.主键不能包含关系的所有属性 D.可以通过主键唯一区分关系的每一个元组
6.具有同类特征的很多实体构成一个实体集,与实体集对应的数据库术语是___A____。
A.文件 B.数据库 C.记录 D.字段
7.关系数据操纵语言不包含_________关系运算。
A.连接 B.交运算 C.选择 D.投影
8.关于关系的下列说法不正确的是__D_____。
A.关系的任意两行可以互换 B.关系的任意两列可以互换
C.关系中的任意一列的数据类型必须一致 D.关系中运行可出现完全一样的行
9.设关系R和关系S具有相同的关系模式,则关系R与关系S的______运算是由属于R但不属于S的元组组成,即该种运算的结果是从R中除去S中也有的元组。
A.并B.差 C.交 D.笛卡儿乘积
10.____运算是对关系的垂直分解,它是在关系R中选择出若干个属性组成新的关系。经过该种运算可以得到一个新的关系,它包含的属性个数通常比原关系少。
A. 选择 B.投影 C.联接 D.差
11.数据库系统与文件系统的最主要区别是______。
A.数据库系统复杂,而文件系统简单
B.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件
C.文件系统管理的数据量较小,而数据库系统可以管理庞大的数据量
D.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
12.把实体-联系模型转换为关系模型时,实体之间多对多联系在关系模型中是通过_____。
A.建立新的属性来实现 B.建立新的关键字来实现C.建立新的关系来实现 D.建立新的实体来实现
二、填空题
1.数据模型是对现实世界客观事物的抽象描述,这种抽象描述应能确切反映事物、事物的特征和事物之间的联系。从形式上看,数据模型分成两个级别:____概念模型_____和实施模型。概念模型这样表示数据的逻辑特征,最常见的是_E-R图___。实施模型侧重于数据库中数据的表达方式和数据库结构的实现方法,主要有层次数据模型、网
络数据模型和__关系___数据模型。P10
2.在Visuanl Foxpro中有许多类文件,其中程序文件的扩展名为__.prg__,表单的扩展名是_.scx__,数据库容
器的扩展名是_.dbc___,自由表备注文件的扩展名是_.fpt_____,菜单文件的扩展名_.mnu__,应用程序的扩展名
是__.app__。P26
3.从项目管理器窗口中可以看到,一个项目可以包含数据、文档、库类、代码和其他等几大类文件,其中查询文
件在__数据___中,菜单文件在__其他___中。
第二章 VFP语言基础
1.在 VFP 中,系统规定:名称(如变量名,字段名,对象的属性名等)只能以字母,汉字或下划线等字符开头,不能以数字字符开头.系统预定义了许多系统变量,他们的名称均以下划线开头.(2006年春)
本题考点:VFP中的命名规则。
2.在VFP中,系统规定:除了自由表的字段名、表的索引标识名至多只能有___10____个字符以外,其余名称的长
度可以长达100多个字符。(2005年秋)
3.在 Visual FoxPro 系统中,下列命名中不能作为变量名的是 ______ 。(2005年春)
A.姓名B. 2004 姓名C.姓名2004 D. _2004 学生
定义了一个名为X的数组后,依次执行三条赋值命令X(3)=10 ,X(5)=20,X=30 ,则数组元素x(1,1),X(1,3),X(2,2) 的值分别是(27) (2006年春)
A. 30,30,30 B. .F.,10,20 C. 30,10,20 D. 0,10,20
答案:A。给一个数组名赋值,就是给数组中所有元素赋相同的值。
5.在 VFP 中,使用 Local , PRIVATE 和 PUBLIC 命令可以指定内存变量的作用域.(2006年春)
本题考点:VFP中变量的作用域。PUBLIC的作用域范围最大,在整个程序范围内。PRIVATE作用域范围最小,在声明该变量的程序段内。LOCAL作用域范围在PRIVATE和PUBLIC之间。
6.将内存变量文件 mVar 中所保存的内存变量恢复到内存,且当前已存在的内存变量仍保留,可以使用命令restore FROM mVar ADDITIVE (2006年春)
本题考点:restore命令。其命令格式为:restore from 变量名。Additive表示已存在的内存变量仍保留。
7.使用LOCAL,PRIVATE和PUBLIC命令可以指定内存变量的作用域。在VFP命令窗口中创建的任何内存变量均为全局变量. (2005年秋)
本题考点:未被声明的变量均视为全局变量。
8.将第2~4个字符为”yan”的所有内存变量保存mVar内存变量文件中,可以使用命令:
SAVE TO mVar ALL LIKE ?yan*(2005年春)
本题考点:1. save命令的格式:save to 变量名 all like ……。2. 掌握“?”和“*”的区别:前者表示一个字符,后者表示多个字符。
9.在 Visual FoxPro 系统中,下列表示中不属于常量的是 _____________ 。(2005年春)A. .T. B. [T] C."T"D. T
答案:D。字符串常量是用""、’’、和[ ]来定义的,逻辑常量是通过".. "”定义的。
10.有如下程序代码:
DIMENSION xx[4]
ta=TYPE("xx[1]")
xx[1]="VFP"
xx=1113
tb=TYPE("xx[1]")
则这段程序运行后,变量 ta 和 tb 的值分别是 ___L,N____ 。(2005年春)
答案:L,N。type函数求的是其括号里的参数的数据类型,并且参数要用“”括起来。TYPE("xx[1]")求的是数组元素xx[1]的数据类型,因为程序执行“DIMENSION xx[4]”命令,只是定义一个数组,并没有给数组赋值,所以数组中每个元素的值都是默认值.F.,所以ta的值是逻辑型(L),“xx=1113”命令表示数组中每个元素的值都是1113,所以tb的值是数值型(N)。
11.在下列函数中,返回值为字符型的函数是_________。(2006年秋)
A.DOW()
B.AT()
C.CHR()
D.VAL()
答案:C。CHR ()计算数值表达式的值,然后以该值为ASCII代码返回其对应的字符。DOW()函数以数值型返回该日期是一周中的第几天,VFP中星期用数值型1,2,3,4,5,6,7表示,其中1表示星期日,7表示星期六。AT()以数值型返回一个字符串表达式在另一个字符串表达式中出现的位置,返回值为数值型。VAL()返回有数字组成字符表达式的数字值。
12.函数是程序设计语言中重要的语言成分.在下列 VFP 系统函数中,其返回值不为字符型数据的是(26) (2006年春)
A. TYPE ()B. DOW ()C. CHR ()D. TTOC ()
答案:B。TYPE()表示返回表达式值的类型,其中表达式要用双引号括起来。TTOC ()将日期时间表达式的值返回字符型日期。
13.运行下列程序段后,屏幕上显示的内容是________。(2006年秋)
y=DTOC(DATE(),1)
Y=.NULL.
?TYPE(“Y”)
A. C
B. D
C. L
D. NULL
答案:A。本题第一个考点是组合函数DTOC(DATE(),1)。DATE():返回当天的日期。DTOC():将日期型转换成字符型。其中1表示以年月日的顺序且无分隔符的形式返回字符型日期。给变量赋.NULL.不会改变变量的原来的类型。本题第二个考点是VFP中的变量不区分大小写。
14.某公司实现人性化管理,在每个员工生日的当日会赠送礼物.若其人事档案表中包含一个出生日期字段(字段名为 csrq ,类型为日期型),则根据"月日"(不包含"年份")创建索引时,其索引表达式可以为 right (DTOC( csrq,1),4). (2006年春)
本题考点:right函数。其功能是:从字符表达式最右边一个字符开始返回指定数目的字符。
15.在下列有关VFP表达式中,语法上错误的是___C___。(2005年秋)
A.DATETIME()+1000
B.DATE()-1000
C.DATETIME()-DATE()
D.DTOC(DATE())-DTOC(DATETIME())
答案:C.日期时间型函数DATETIME()或日期型函数.DATE()不能相加。
16.函数 INT(-3.14) 的返回值是 _____________ 。(2005年春)
A. -4 B. -3 C. 3 D. 4
函数是取表达式的正数,与符号无关。
17.执行下列主程序后,输出结果为 _________。(2006年秋)
******主程序*******
Clear
X=”篮球”
Y=”足球”
DO sub
?x+y
*******过程**********
PROCEDURE sub
LOCAL x
X=”手球”
Y=x+y
ENDPROC
答案:篮球手球足球。解题方法:首先,明确思想:程序是从主程序开始执行。因此先执行命令CLEAR,然后在内存中声明两个变量X和Y,并分别赋值“篮球”和“足球”。因为X和Y没有声明作用域范围,因此系统默认是PUBLIC 型,即X和Y的有效范围包括主程序和过程。接着执行Do sub命令,执行过程sub下面的语句,即从Local x开始执行。注意:在VFP中不区分字母大小写。X的作用域受到LOCAL的限制,作用范围在整个过程部分。如果过程执行完毕,x就不在有效。在过程中声明一个变量X,并赋值为“手球”。Y=x+y程序表示将X的值与Y的值联接,
在重新赋值给Y。由于Y没有重新声明,所以Y原来的值仍然在过程中使用,所以执行完Y=x+y语句后,Y的值为“手球足球”。当程序执行到ENDPROC命令后表示过程执行完毕,程序重新执行DO sub下面的第一条语句即?x +y。此时的X的值仍然为“篮球”,所以?x+y的结果为“篮球手球足球”。
18.完善下列程序 , 使程序的运行结果如图 3 所示 . (2006年春)
SET TALK OFF
CLEAR
x=space(0)
For i=1 to_______
x=x+allt(str(i))
?STR(VAL(x))+"*9+"+ _________+"="+ ALLT(STR(VAL(x)*9+ i+1))
ENDFOR
1*9+2=11
12*9+3=111
123*9+4=1111
1234*9+5=11111
12345*9+6=111111
123456*9+7=1111111
1234567*9+8=11111111
12345678*9+9=111111111
123456789*9+10=1111111111
图3程序运行结果
答案:9, allt(str(I+1))。解题思路:当i=1时,进入for循环。x=x+allt(str(1)),即x=“1”。STR(VAL(x))的结果为“1”,然后与字符串"*9+"联接,结果为“1*9+”,注意:字符串只能和字符串进行加减运算,因此程序中第二个空格处应该填写一个表达式,且该表达式的值为字符型。由程序执行结果第一行可知该表达式的值为字符串“2”。如何让变量i由数值1变成数值2,可以使用的方法是执行i+1,如何是变量i由数值型变成字符型,方法是用str函数,但是由str函数转换的字符串,会有空格,这时还需要用能去掉字符串前后空格的函数allt。所以第二个空格的答案为allt(str(I+1))。现在再来解决第一个空格,由for循环可知,第一个空格需要填写一个数字。该数字限制了X的取值范围,由图3可知,X的取值范围是从1到9,所以第一个空格填数字9。19.运行下列程序后,显示的运行结果为_________. (2006年春)
?TT("123E%n w$O4q*5n6")
FUNCTION TT
PARA cstr
cResult=space(0)
FOR n=1 to LEN(ALLT(cStr))
c=SUBSTR(cStr,n,1)
IF !BETWEEN(c,"A","Z") and !BETWEEN(c,"a "," z")
LOOP
ENDIF
cResult=cResult+CHR(ASC(c)+1)
ENDFOR
RETURN cResult
ENDFUNC
答案:FoxPro。解题思路:程序执行?TT("123E%n w$O4q*5n6")时,自动调用函数TT。因此开始执行FUNCTION TT 下面的第一条语句PARA cstr,即声明一个参数cstr。接着执行cResult=space(0),即声明一个cResult变量且值为空字符串。接着执行for循环。N的取值范围从1到cstr字符串的长度。当n=1时,进入循环。C的值为截取cstr字符串。从该字符串的第一个字符开始取,向后取1个字符。所以c的值为“1”。接着进行判断,因为c 的值既不是大写字母也不是小写字母,所以符号IF后面的条件,执行if程序段的语句,即LOOP。表示直接进入下一个循环,n=2。而从ENDIF到endfor之间的语句不再执行。由分析可知,当n=1,2,3时,程序都直接执行loop语句。当n=4时,c的值为“E”。因为c的值时大写字母,不符合IF的判断条件,所以跳过IF语句,直接执行endif下面的第一条语句cResult=cResult+CHR(ASC(c)+1)。函数ASC的功能是,返回字符表达式最左边字符的ASCII值。即返回E的ASCII值,再与数值1相加求和。结果为69+1=70。然后再将求和后的数值利用CHR函
数,以表达式的值为ASCII代码返回其对应的字符,即70对应的字符为F。所以cResult的值为“F”。依次执行,最终的结果为“FoxPro”。
20.运行以下程序后,VFP主窗口显示的结果是______。(2005年秋)
CLEAR
N=0
DO WHILE n<10
IF INT(n/2)=n/2
?”W”
ENDIF
?? “Fox”
n=n+1
ENDDO
A.显示5行,内容均为WFoxFox
B.显示5行,内容均为WfoxWFox
C.显示4行,内容均为WFoxFox
D.显示4行,内容均为FoxFoxW
答案:A。解题思路:n=0,0<10,所以进入do while循环。Int函数是取表达式值的整数部分,所以0/2=0,没有小数,因此IF语句的条件判断结果为真,执行IF程序段,即输出“W”,接着在“W”的后面输出“Fox”,(“?”表示另起一行输出;“??”表示紧接着上一个结果输出)。接着执行n=n+1,n=0+1=1。当执行Enddo 语句是,n=n+1,即n=1+1=2。因为2<10,因此再次进入do while循环。直到n=10,10不小于10退出循环。因此当n=0,2,4,6,8是都将输出WFoxFox,每次输出“W”是都是另起一行输出,所以是显示5行,内容均为WFoxFox。21.完善下列程序,以显示7~1000以内能被7整除且含有数字5的所有整数(例如35、 56、 105等)。(2005年秋)
FOR n=7 TO 1000 _________
ch=ALLT(STR(n))
IF "5"$ch
?n
ENDIF
ENDFOR
答案:step 7。解题思路,因为程序要求输出的数字首先要满足是7的整数倍,所以for循环的后面的步长应该为每次都加7。
22.运行下列程序后,显示的运行结果的第二行为_____________ 。 (2005年秋)
SET TALK OFF
CLEAR
Y="11111111"
FOR I=1 TO LEN(y)
X=LEFT(y, i)
?SPACE(20-i*2)+x+"*"+x+"="+ALLT(STR(VAL(x)*VAL(x)))
ENDFOR
答案:11*11=121。解题思路:LEN(y)的值为8,所以I 的取值范围从1到8。当I=1时,进入for循环。Left
函数的功能是从字符表达式最左边开始取字符,向后取i个。所以第一次进入循环后,X的值为“1”。Space()表示返回指定数目的空格构成的字符串。20-i×2=18,所以第一行先有18个空格。接着执行与字符串“1”联接,再联接“*”再联接“1”,再联接“=”,再联接ALLT(STR(VAL(x)*VAL(x)))的执行结果。所以第一行的值为“ 1*1=1”。依次类推,所以主窗口显示的结果如图4所示。由图可以看出第二行的结果为
11*11=121。(空格可以不用给出)
图4
23.执行下列命令后,屏幕上显示的结果是 _____________ 。(2005年春)
X="ARE YOU Ok?"
Y="are"
?AT(Y,X)
A. 1 B. .F. C. .T. D. 0
答案:D。AT函数的功能是返回一个字符表达式或备注字段再另一个字符表达式或备注字段中出现的位置(从最左边开始计数),该函数区分搜索字符的大小写。如果不区分搜索字符的大小写可使用ATC函数。
24.运行以下程序后, VFP 主窗口显示的结果是 ________ 。(2005年春)
【程序清单】
CLEAR
i=0
n=0
DO WHILE i<=10
IF MOD(i,2)=0
n=n+1
ENDIF
i=i+1
ENDDO
?n
答案:6。解题思路:当i=0时,0<10进入循环。Mod(0,2)的结果为0,符合IF判断条件,执行IF程序段,即n=n+1=0+1=1。接着执行i=i+1=0+1=1。当执行enddo语句时,i再次执行自加1,即i=i+1=1+1=2。由此类推,i=0,2,4,6,8,10,符合if的判断条件,都执行n=n+1语句,所以n的最终结果为6。
25.下面有两段程序代码,它们的功能______(注:答“相同”或“不相同”)。(2005年春)
【程序一清单】
nSum=0
p=1
FOR i=1 TO 10
p=p*i
nSum=nSum+p ENDFOR
?nSum
【程序二清单】nSum=0
FOR i=1 to 10
nSum=nSum+fJC(i) ENDFOR
?nSum
FUNCTION fJC
PARAMETERS x
p=1
FOR n=1 TO x
p=P*n
ENDFOR
RETURN p ENDFUNC
答案: 相同。程序二是将程序一中的for循环语句部分用函数的形式即FUNCTION fJC表达出来,所以两个程序段功能相同。
26. 下列自定义函数 NTOC ()的功能是:当传送一个 1~7 之间的数值型参数时,返回一个中文形式的“星期日 ~ 星期六”。例如,执行命令? NTOC ( 4 ),显示“星期三”。(2005年春)
FUNCTION NTOC
PARAMETERS n
LOCAL ch
ch="日一二三四五六"
mch="星期"+SUBSTR(ch,_____,2)
RETURN mch
ENDFUNC
答案:2*n-1。解题思路:由题目给的例子可以知道,如果参数值为4,显示“星期三。”SUBSTR(ch,_____,2)的功能是从ch字符串的某个位置开始取字符,向后取2个(因为1个汉字占2个字符)。因此要从字符串"日一二三四五六"中取出字符“三”。字符“三”在字符串中的位置是从第7个位置开始,因此如何让数值4变成数值7,可以利用表达式4*2-1得到。数值4是参数n的值,所以将n替换数值4待入表达式即得到答案n*2-1。
★精讲精练★
一、选择题
1.在Visual Foxpro中,字符型数据的最大宽度为____C____。 P33
A. 256 B. 4096 C. 254 D. 127
2.函数MOD(10,3)和函数MOD(10,-3)的值分别为_____B_____。
A. 1,1 B. 1,-2 C. 1,-3 D. 3,-2
3.要求某数值型字段的整数位是5位,小数位是3位,其值可能是负数,则字段的宽度应定义为_____B___位。
A.8 B.10 C. 9 D.5
4.MOD(5.2,-3)的结果是___ B __。
A. 2.2 B. 0.8 C. -2.2 D. -0.8
5.Visual Foxpro中的NULL值的含义是_____ D______。
A.与空字符串相同 B.与数值0相同 C.与逻辑非相同D.与以上都不同
6.Visual Foxpro中函数ROUND(12.5846,3)的值为__ A_____。
A.12.585 B. 12.5846 C. 12.6 D. 12.5
7.下列属于字符型数据的是__ A____。
A.“1234” B. CTOD(“09/08/95”) C..T. D. year(date())
8.Visual Foxpro表达式“wfmk ”+“Ping”的值为___ B______。
A.“wfmk ”“Ping”B.“wfmk Ping” C.“wfmk Ping” D.“wfmPing”
9.下列不是日期型数据的是__ C___。
A.CTOD(“09/08/95”) B.{09/08/98} C.09/08/98 D. {09/08/98}+130
10.下列符号中不能作为Foxpro变量的符号是_ D___。
A. _ab B.姓A C.a_bc1 D. a-bc
11.设A=286,B=179,C=”A+B”,表达式1+&C的值是___ B___。
A. 1+A+B B.466 C.286 D.类型不匹配
12.在Visual Foxpro中,可以在同类数据之间进行“-”运算的数据类型是__ B ___。
A.数值型、字符型、逻辑型B.数值型、字符型、日期型
C.数值型、日期型、逻辑型 D.逻辑型、字符型、日期型
13.执行下列程序,屏幕上输出的是__ A___。
STORE “ABCDE” TO a
STORE “ABC” TO b
?a=b , a==b
Set exact on
?? a=b , a= =b
A..T. .F. .F. .F. B. .T. .F. .T. .F. C..T. .T. .T. .F. D..T. .T. .T. .F. 说明:结果与Set exact off/on有关,默认状态为Set exact off。 P54
14.在Visual Foxpro中,比较字符的大小时,如果希望字符按照机内码顺序排序,应执行__ A__命令。
A. SET COLLATE TO “Machine” B. SET COLLATE TO “PinYin” P54
C. SET COLLATE TO “Stroke” D.以上都不对
15.在Visual Foxpro中,以下关于数组的说法中,不正确的是__ B____。
A.可以使用DECLARE、DIMENSION、PUBLIC和LOCATE定义数组 B.数组的各个元素必须具有相同的类型C.可以通过给数组赋值从而给数组的所有元素赋相同的值 D.可以定义一维数组或二维数组
16.执行STORE"1999年12月庆祝澳门回归祖国!"TO XY命令之后,要在屏幕上显示"澳门1999年12月回归祖国!",应使用命令__ C___)。
A. ? SUBSTR(XY,15,4)+SUBSTR(XY,1,10)+SUBSTR(XY,10)
B. ? SYBSTR(XY,15,4)+LEFT(XY,1,10)+RIGHT(XY,19)
C. ? SUBSTR(XY,15,4)+LEFT(XY,10)+RIGHT(XY,10)
D. ?SUBSTR(XY,15,4)+LEFT(XY,10)+RIGHT(XY,19,10)
17.结构化程序设计的三种基本逻辑结构是____ B________ 。
A.选择结构、循环结构和嵌套结构B.顺序结构、选择结构和循环结构
C.选择结构、循环结构和模块结构 D.顺序结构、递归结构和循环结构
18.在Visual FoxPro中有如下程序:
*程序名:TEST.PRG
*调用方法: DO TEST
SET TALK OFF
CLOSE ALL
CLEAR ALL
mX="Visual FoxPro"
mY="二级"
DO SUB1 WITH mX
?mY+mX
RETURN
*子程序:SUB1.PRG
PROCEDURE SUB1
PARAMETERS mx
LOCAL mX
mX=" Visual FoxPro DBMS 考试"
mY="计算机等级"+mY
RETURN
执行命令DO TEST后,屏幕的显示结果为:B
A.二级Visual FoxPro B.计算机等级二级Visual FoxPro DBMS 考试
C.二级Visual FoxPro DBMS 考试D.计算机等级二级Visual FoxPro
说明: PARAMETERS mx 语句参数说明的同时已经按默认方式定义mx为私有变量,若在执行LOCAL mX,则系统回显示“非法重定义变量mx”,程序无法执行。去掉LOCAL mX此句,则答案为B。此时mx为默认方式的私有变量,mx的值返回主程序时,回带到主程序。
PARAMETERS mx 语句改写成 PARAMETERS aa 语句,则aa为形式参数,下面的LOCAL mX语句是定义mx为局部变量,所以返回主程序时,mx的值不带回到主程序。所以答案为D。
19.在DO WHILE … ENDDO循环结构中,EXIT命令的作用是: C 。
A.退出过程,返回程序开始处B.转移到DO WHILE语句行,开始下一个判断和循环
C.终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行 D.终止程序执行
20.有如下程序:
input "a=" to n1
input "b=" to n2
if n1>n2
n1=n1-n2
endif
if n2>n1
n2=n2-n1
endif
? n1,n2
运行时,分别输入10与8,则显示的值为。
A. 10 8 B. 2 8 C. 2 6 D. 2 -2
21.表达式3*4^2-5/10+2^3的值为。
A.55
B.55.5
C.65.5
D.0
22.函数INT(RAND()*20)的值是在B范围内的整数。
A.(0,0)
B.(0,20)
C.(20,20)
D.(20,0)
23.下列函数中,其值不为数值型的是 B 。
A.LEN()
B.DATE()
C.SQRT()
D.SING()
24.下列四个表达式中,运算结果为数值的是D。
A.?CTOD([07/21/02])-20
B.?500+200=400
C.?”100”-“50”
D.?LEN(SPACE(4))+1
25.在下列函数中,其返回值为字符型的是 C。
A.DOW( )
B.AT( )
C.CHR( )
D.VAL( )
26.若a=5,b=7,c=.F. 则表达式!(a-b)>0 AND c OR !C 的值为 A。
A..T. B..F. C..NULL. D.都不是
27.以下可以作为变量名的是B。
A.a bc B._abc C.a/bc D.a?b
28.在命令窗口中输入下列命令:
x=2
store x+1 to a,b,c
?a,b,c
主屏幕上显示的结果是D。
A.1 B.1 1 C.2 2 2 D.3 3 3
二、填空题
1.如果把变量AA、BB定义为全局变量应使用的语句是___PUBLIC______。
2.Substr(“abcd中国市场cde”,9,2)的值是__市_______。
3.已知整型变量I和J的值分别为2和1,逻辑型变量B的值为.T.,则表达式
5
4.设x=0,y=1,x1=“BC”,y1=.f.,则下面的逻辑表达式的值是___.T.___。
(x+y)*4>3.OR..NOT.x1=”BC”.AND.y1.OR..NOT.y1
5.下列程序段执行后,M1=________ ,M2=_____________。
SET TALK OFF
PUBLIC M2
CLEAR
STORE 10 TO M1,M2,M3
DO PROC
??"M1=",M1,";"
??"M2=", M2, ";"
??"M3=",M3
SET TALK ON
PROCEDURE PROC
PRIVATE M1
M1=20
M2=20
M3=20
RETURN
说明:(见P188)关注M1、M2、M3在主程序与子程序中的角色。过程中的M3是默认私有变量,返回主程序时,其值回带到主程序。M1在子程序中是被说明的私有变量,返回主程序时,其值不回带到主程序。M2是全局变量,返回主程序时,其值回带到主程序。
6.以下程序的功能是求出1~100之间的孪生素数。孪生素数是指这样两个素数,它们的差为2,如11和13就是孪生素数。请把程序补充完整。
FOR I=3 TO 100 STEP 2
IF _PRIME(i)___THEN
? I, I+2
ENDIF
NEXT I
FUNCTION PRIME
PARAMETER N
PRIVAGTE I
FOR I=2 TO N-1
IF ___mod(n,i)=0 or mod(n+2,i)=0__________THEN
EXIT
ENDIF
NEXT I
IF I=N THEN
RETURN .T.
ELSE
RETURN .F.
ENDIF
RETURN
ENDFUNC
7.以下程序的功能是求随机生成的3行4列数组的最大值及下标。请把程序补充完整。
CLEAR
DIMESION A(3 , 4)
FOR I=1 TO 3
FOR J=1 TO 4
A(I , J)=INT(90*RAND( )+10)
NEXT J
NEXT I
MAX_I=1
MAX_J=1
FOR I=1 TO 3
FOR J=1 TO 4
IF(A(MAX_I,MAX_J)) < a(i,j) THEN
MAX_I=i
MAX_J=j
ENDIF
NEXT J
NEXT I
?”最大值及下标是:”,A(MAX_I , MAX_J) , MAX_I , MAX_J
8.下列程序执行后,变量C的值是__MONTH1.DBF__。
A=”C:\TAH\DATA\MONTH1.DBF”
K=OCCURS(‘\’, A)
M=AT(‘\’ , A , K)
C =SUBSTR(A , M+1)
9.下列程序执行后,X=__10____,Y=______3____。
Y=1
X=1
DO WHILE Y<=30
IF X>=10
EXIT
ENDIF
IF MOD(X ,2)=1
X=X+5
LOOP
ENDIF
X=X-3
Y=Y+1
ENDDO
?X , Y
10.下列程序运行完,输出A 的值为____10_____,输出B 的值为___2______。
SET TALK OFF
A=1
B=2
DO SUB1
?A , B
RETURN
PROCEDURE SUB1
PRIVATE B
A=10
B=20
DO SUB2
RETURN
ENDPROC
PROCEDURE SUB1
PRIVATE A
A=100
B=200
RETURN
ENDPROC
11.以下程序的功能是统计所以的“水仙花数”个数并输出所有的“水仙花数”。“水仙花数”指的是一个三位数,
其各位数字的立方和等于该数本身,例如:3
33351153
++=,所以153是水仙花数。请把程序补充完整。 M=0
FOR I=100 TO 999
IF__ SXH(I)_____
?I
M=M+1
ENDIF
ENDFOR
? “水仙花数的个数为:”+STR(M , 2)
FUNCTION SXH
PARAMETERS I
PRIVATE N1 , N2 , N3
N1=VAL(SUBSTR(STR(I , 3) , 3 , 1))
N2=VAL(SUBSTR(STR(I , 3) , 2 , 1))
N3=VAL(SUBSTR(STR(I , 3) , 1 , 1))
IF__I=N1^3+N2^3+N3^3___
RETURN .T.
ELSE
RETURN . F.
ENDIF
ENDFUNC
12.下列程序执行后,N=_7__,I=_-3_。
SUM=0
N=0
FOR I=11 TO -1 STEP -2
SUM=SUM+1
N=N+1
NEXT I
?N , I
13.下列程序的功能:求出10~100之间的同构数。同构数是指这样的数,该数出现在它的平方数的右边。如25的平方数为625,25就是一个同构数。
FOR I=10 TO 100
IF___TGS(I)__THEN
?I
ENDIF
NEXT I
FUNCTION TGS
PARAMETERS N
K=N*N
IF _VAL(RIGHT(ALLT(STR(K)),LEN(ALLT(STR(N)))))_=N THEN
RETURN . T .
ELSE
RETURN . F.
ENDIF
ENDFUNC
14.下列程序执行后,输出M=__45__,N=__90___。(SET UDFPARMS TO VALUE , M=2,N=7 ) M=2
N=7
SET UDFPARMS TO REFERENCE
P=FUNC1(M , N)
?M , N
FUNCTION FUNC1
PARAMETERS A , B
SUM=0
FOR I=A TO B STEP 2
SUM=SUM+I*A+B
NEXT I
A=SUM
B=A+SUM
RETURN SUM
ENDFUNC
15.已知学生成绩表(CJ.DBF)中含有学号(XH,C,6)、课程代号(KCDH,C,2)和成绩(CJ,N,3)字段。为了给每个成绩评定成绩等级(优、良、及格、不及格),在该表所在的数据库中创建了一个根据成绩分数评定成绩等级的自定义函数getdd,函数getdd的代码如下:
FUNCTION getdd
PARAMETERS nCj
LOCAL cdd
cdd=""
DO CASE
CASE nCj>=90
cdd="优"
CASE BETWEEN(nCj,80,89)
cdd="良"
CASE BETWEEN(nCj,60,79)
cdd="及格"
CASE nCj<60
cdd="不及格"
ENDCASE
RETURN __CDD__
注:VFP系统函数BETWEEN()的功能是判断一个表达式的值是否在两个相同数据类型的表达式的值之间。
16. 运行XY.PRG程序后,将在屏幕上显示如下乘法表:
1) 1
2) 2 4
3) 3 6 9
4) 4 8 12 16
5) 5 10 15 20 25
6) 6 12 18 24 30 36
7) 7 14 21 28 35 42 49
8) 8 16 24 32 40 48 56 64
9) 9 18 27 36 45 54 63 72 81
请对下面的程序填空:
* * * 计算乘法XY.PRG * * *
SET TALK OFF
CLEAR
FOR J=1 TO 9
?STR(J,2)+′)′
FOR K=1 TO _I^2_ __
?? _I*K______
ENDFOR
?
ENDFOR
RETURN
17.下面程序执行后,变量x的值为____15___。
x=0
do while .t.
for i=1 to 5
x=x+i
endfor
if x>10
exit
endif
enddo
18.运行下列程序后,显示结果为_南大信管系__
CLEA
C=“南京大学信息管理系”
FOR n=1 to LEN( C )/2
IF N%2<>0
??SUBSTR(C,2*N-1,2)
ENDIF
ENDFOR
19.求1+2+3+……100的和
clea
s= 0
i=1
Do while I<=10
s=s+i
i=i+1
ENDDO
?’1+2+3+……+100=’+str(s)
20.输出以下形式“九九乘法表”
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
… … …
9*1=9 9*2=18 9*3=27 …. 9*9=81
clea
for i=1 to 9
for j=1 to I
??str(i,3)+’*’+str(j,1)+’=’+str(i*j,3)
endfor
?
endfor
第三章数据库与表
在学习第三章表的创建和使用时,重点掌握对表操作的命令。在学习第四章数据库的创建和使用时重点掌握数据库表的操作,以及数据库表与自由表的区别与联系。
1.在VFP中,_____是保存在数据库中的过程代码,它由一系列用户自定义函数(过程)或在创建表之间参照完整性规则时系统创建的函数(过程)组成。(2005年秋)答案:存储过程。
2.下列关于数据库、表和视图操作的叙述中,错误的是 _____________ 。(2005年春)A.关闭一个数据库,将自动关闭其所有已打开的数据库表
B.打开一个数据库表,将自动打开其所有对应的数据库
C.关闭一个视图所对应的基表,将自动关闭该视图D.关闭一个视图,不会自动关闭其所对应的基表
答案:C。关闭一个视图所对应的基表不会自动关闭该视图
3.数据库( database )是许多相关的数据库表及其关系等对象的集合.在下列有关 VFP 数据库的叙述中,错误的是____________ 。 (2006年春)
A.可用命令新建数据库B.从项目管理器中可以看出,数据库包含表、视图、查询、连接和存储过程C.创建数据库表之间的永久性关系,一般是在数据库设计器中进行
D.数据库表之间创建"一对多"永久性关系时,主表必须用主索引或候选索引
答案:B。本题考点是数据库表和自由表的区别。数据库应包含数据库表。
4.在VFP中对于数据库表来说,若将其移出数据库(变成自由表),则该表原设置或创建的___ 仍然有效。(05秋) A.候选索引 B.长表名 C.记录有效性规则 D.触发器
答案:A。长表名,记录有效性规则和触发器都是数据库表特有的属性。
5.表(table)是存储数据的容器。在下列有关VFP表的叙述中,错误的是_____ 。(2005年秋)
A.每个表最多只能包含200多个字段
B.新建一个表后,一般会生成1~3个文件
C.自由表与数据库表在数据存储功能上是相同的,但在数据管理与控制功能上有差别
D.自由表添加到数据库中变成数据库表,而数据库表移出数据库则变成自由表
答案:D。数据库表有前链和后链,将数据库表从数据库中移出后,要用free命令释放该表的后链。
6.表( table )是存储数据的容器.在下列有关 VFP 表的叙述中,错误的是____________ 。 (2006年春) A.系统默认的表文件扩展名为. dbf B.利用表设计器创建表结构时,系统默认的字符型字段宽度为 10 C.自由表的索引功能与数据库表有区别
D.表文件名在命名时只要遵循操作系统的规定 ,VFP 本身无任何新的限定答案:D。
7.利用COPY命令可以将当前工作区中的表复制成Microsoft Excel 文件.若当前工作区中已打开XS表,则用命令COPY TO xyz ,可以将XS表复制成Excel 文件 xyz.xls. (2006年春)
答案:xls。本题考查copy命令。
8.若要将当前工作区中打开的表文件 GZB.DBF 复制到 GZB1.DBF 文件,则可以使用命令 ________ 。(05年春)A. COPY GZB.DBF GZB1.DBF B.COPY TO GZB1 REST C. COPY TO GZB1 STRU D. COPY TO GZB1
答案:D。本题考查copy命令。
9.在VFP中,与表操作相关的系统函数有多个,例如EOF()、BOF()、USED()等。用于返回当前选定工作区中已打开表的字段数目的函数是_____。(2005年春)答案:FCOUNT()。
10.某xs(学生)表中含有学号(xh,C,8)字段,且已建立了主索引xsxh,索引表达式为xh。完善下列程序段,其功能是按学号降序浏览学生表:
USE xs
__________TO xsxh DESC
BROW (2006年秋)
答案:SET ORDER。该命令是打开表后设置主控索引的命令。USE 表名 ORDER 索引名,该命令的功能是在打开表的同时指定主控索引。
10.完善下面的命令,实现向 xs 表中追加一条新的记录。(2005年春)
INSERT INTO xs (xh,xm,xb,ximing) ________ ('950101' ,'李林','')
答案:VALUES。本题考查insert命令的格式。该命令的功能是在表中追加新的记录。
12.利用DBGETPROP()函数,可以返回当前数据库的属性,也可以返回当前数据库中表,表的子段或视图的有关属性.例如,要得到JS表的记录级有效性规则表达式,可以使用函数:
DBGETPROP("js"," ______ ","RuleExpression") (2006年春)
答案:TABLE。本题考查DBGETPROP命令的格式。该命令的功能是返回当前数据库的属性,或者返回当前数据库的表字段、表或视图属性。
利用DBSETPROP()函数,可以设置当前数据库的属性,或设置当前数据库中表的字段或视图的有关属性。例如,要设置当前数据库中JS表的gh字段的标题属性,可以使用函数:
DBSETRPOP(“________”,”FIELD”,”Caption”,”工号”) (2005年秋)
答案:JS.gh。本题考查DBSETRPOP 命令的格式。该命令的功能是给当前数据库或当前数据库中表的字段、表或视图设置属性。
年春)
A.通过创建表的索引,不仅可以对记录数据进行排序,而且可以实现记录的筛选
B.对于数据库表来说,可以创建 VFP 系统支持的所有类型的索引
C.在表打开时,系统会自动地将默认的第一个索引作为主控索引
D.表的唯一索引并不能控制字段数据输入时的重复
答案:C。在表打开时,如不设置主控索引,系统将按记录号的顺序显示该表。
14.在创建表索引时,索引表达式可以包含表的一个或多个字段。在下列字段类型中。不能直接选作索引表达式的是___24__。(2005年秋)
A.货币型
B.日期时间型
C.逻辑型
D.备注型
_____ (2006年春)
A.实体完整性范畴B.参照完整性范畴C.数据一致性范畴D.域完整性范畴
答案:D。实体完整性包括两级:字段的数据完整型和记录的数据完整型。字段的有效性规则用以实现字段的数据完整型。建立的有效性规则用以实现记录的数据完整性。参照完整性是指表和表之间的数据一致性,由表的触发器完成。A选项错在范围太大,B选项和C选项错在与字段有效性无关,所以答案是D。
16.在设置表之间的参照完整性规则时,系统给定的更新和删除规则有3个,即级联,限制和忽略,而插入规则只有两个,即.(2006年春) 答案:限制和忽略。参见书中表4.5。
17.在VFP中,若指定两个表的参照完整性的删除规则为“级联”,则当删除父表中的记录时,____。(2005年秋) A.系统自动备份父表中被删除记录到一个新表中 B.若子表中有相关记录,则禁止删除父表中记录
C.自动删除子表中所有相关记录
D.不作参照完整性检查,删除父表记录与子表无关
答案:C。参见书中表4.5。
18.已知某数据库中有学生表和成绩表,且两张表之间已经建立了参照完整性(学生表为主表,成绩表为字表)。如果将学生表中的某位学生的记录删除,要求该学生在成绩表中的所有成绩记录将自动全部删除,则两表之间的参照完整性设置是____。(2005年春)
10号工作区中再次打开XS表,可使用命令 USE xs IN 10(2006年春)
答案:again 。本题考查打开表的命令。Again表示重复打开。Alias表示以别名打开。
下列程序段中的后三条命令,可用一条功能等价的命令来实现,这条命令是______。(2005年秋)
SET TALK OFF
SELECT 1
USE xs
SELECT 0
USE cj
SELECT xs
答案:USE cj IN 0。本题考查对程序的理解。当执行“SELECT 1”命令后,VFP主窗口当前显示的就是工作区号为1的工作区。接着执行“USE xs”命令,是在工作区号为1的工作区中打开xs表,然后执行“SELECT 0”命令,是VFP主窗口当前显示的是未被使用的最小工作区号的工作区,接着执行“USE cj”表示在该工作区打开cj表,最后执行命令“SELECT xs”表示将主窗口当前的工作区设置为xs表所在的工作区。本题要求的是打开xs 表并设置为主窗口显示,在最小的工作区号的工作区中打开cj表但不显示,所以答案是USE cj IN 0。
20.有如下一段程序:
CLOSE TABLES ALL
USE XS
SELE 3
USE JS
USE KC IN 0
BROW
上述程序执行后,浏览窗口中显示的表及当前工作区号分别是 _____________ 。(2005年春)A. KC 、 2 B. KC 、 3 C. JS 、 3 D. JS 、 2
答案:C。本题关键在于select语句。该语句是设置VFP主窗口的命令。因为程序中只有一个select语句,且将3号工作区设置为主窗口显示,并在该工作区中打开JS表,因此执行“BROW”命令后,显示的是JS表,其工作区号为3。
★精讲精练★
一、选择题
1.在Visual Foxpro中,当前工作区打开的表非空,执行了GO BOTTOM命令后,下列说法正确的是___B_____。
A. EOF()和BOF()均为 .T. B. EOF()和BOF()均为 .F.
C. EOF()为 .T. ,BOF()均为 .F. D. EOF()为 .F.,BOF()均为 .T.
2.下列__A___索引文件会随着表的打开自动打开,随着表的关闭自动关闭。
A.结构复合索引 B.非结构复合索引 C.单一索引文件 D.以上都不对
3.如果希望避免用户向自由表中的字段输入重复的数据,应为该字段建立_A___,以便自动进行唯一性检查。
A.主索引 B.候选索引 C.唯一索引 D.普通索引
4.求出当前打开的表中所有职称为教授和副教授的工资总额,并将结果赋给变量ZGZ,可使用的命令是_B_____。
A. SUM 工资 TO ZGZ FOR “教授”$职称
B. SUM 工资 TO ZGZ FOR 职称=”副教授” .OR. “教授”
C. SUM 工资 TO ZGZ FOR 职称=”副教授” .AND. “教授”
D. SUM 工资 TO ZGZ FOR 职称=”副教授” .AND. 职称= “教授”
5.下列关于某个打开的表的主控索引的说法不正确的是____B_______。
A.只能是一个字段B.它的值唯一区分每条记录 C.可以有多个字段 D.控制记录的显示顺序
注意:区别主控索引与主索引。主控索引P86,是控制当前的显示顺序。
索引关键字:可以包含一个或多个字段。主索引的说法不正确的是A。主控索引的说法不正确的是B,若设
置的主控索引的类型为普通索引,就不具备区分它的值的唯一性
6.表的结构包括职工号(C,4),工资(N,6,2),要求按工资升序排列,工资相同者按职工号升序排列,建立索引
文件应使用的命令是___D____。
A.INDEX ON 工资(A ), 职工号(D) TO SWJ B.INDEX ON 工资(A ), 职工号(D) TO SWJ C.INDEX ON 工资+职工号 TO SWJ D.INDEX ON STR(工资,6,2)+职工号 TO SWJ
7.若使用REPLACE命令时,其范围子句为ALL或REST,则执行后,记录指针指向__ B____。
A.首记录 B.末记录 C.首记录前面 D.末记录后面
说明:应该是“指定范围的末记录” P77
8.在Visual Foxpro工作区的说明中,不正确的是__ D_______。
A.在一个工作区中可以打开一个表文件 B. VFP有32767个工作区
C.可使用SELECT命令选择当前工作区
D.命令USE STUDENT IN 10 ALIAS TEA后则10号工作区的表别名依旧是STUDENT
9.假设工资=490,职称=“讲师”,性别=“女”,结果为假的逻辑表达式是__ A___。
A.工资=500 .AND. (职称=“教授” .OR. 性别=“男”)
B.工资>400 .AND. (职称=“讲师” .OR. 性别=“女”)
C.工资>400 .AND. (性别=“男”.OR. . NOT.职称=“助教”)
D.工资>400 .AND. 职称=“助教” .OR. 职称=“讲师”
10.记录级有效性规则,字段级有效性规则和触发器发生的顺序为__ A__。P93
A.字段级有效性规则、记录级有效性规则、触发器 B.记录级有效性规则、触发器、字段级有效性规则
C.触发器、字段级有效性规则、记录级有效性规则 D.触发器、记录级有效性规则、字段级有效性规则
11.在职工档案表中,婚否是L型字段,性别是C型字段,若检索已婚女同志,应使用逻辑表达式___ C___。
A.婚否.OR.性别=“女”
B.婚否=.T. .OR.性别=“女”
C.婚否.AN
D.性别=“女” D.已婚 .AND. 性别=“女”12.触发器是绑定在表上的表达式,当用REPLACE命令修改当前记录时,__ C__将被激活。
A.删除触发器 B.级联触发器 C.更新触发器 D.插入触发器
13.在Visual Foxpro中,关于DELETE和PACK的说法正确的是__ C____。
A.DELETE和PACK都是从表中把记录删除
B. DELETE是删除表中符合条件的记录,而PACK删除表中所有记录
C. DELETE是给表中符合条件的记录加上删除标记,而PACK则从物理上删除加上标记的记录
D. DELETE是给表中符合条件的记录加上删除标记,而PACK所有的记录加上删除标记
14.要把数据库表X中全部记录的学号和姓名两个字段复制到数据库Y中,应用的命令是_ A _。
A. USE X
COPY TO Y FIELDS 学号,姓名
B. USE X
COPY TO Y 学号,姓名
C. COPY TO X Y FIELDS 学号,姓名 D. COPY FILE X TO Y 学号,姓名
15.SELECT命令的参数不能选取以下___ D __方式来进行工作区的切换。
A. 1~32767 B. A~J C.已经打开的表的别名D.已经打开的表的表名
说明:一张表是可以在多个工作区中打开的,它就不仅仅是一个表名描述该表,所以在其它描述该表的工作区的选择就需要另指别名了。
16.下列叙述错误的是___ C__。
A.一个表可以有多个外部关键字 B.数据库表可以设置记录级的有效性规则
C.永久性关系建立后,主表记录指针移动将使子表记录的指针相应移动 D.数据库表能设置主索引
说明:P101临时关系建立后,主表记录指针移动将使子表记录的指针相应移动
17.在Visual FoxPro中,建立数据库时,将工资字段值限制在500.00—5000.00元之间的约束规则属于__B_____。
A.记录级完整性规则B.字段级有效性规则 C.参照完整性规则 D.视图完整性规则
18.要对所有工程师的工资增加150元,应使用命令_ B___。
A. change 工资 with 工资+150 for 职称=’工程师’
B. replace 工资 = 工资+150 for 职称=’工程师’
C. change all 工资 with 工资+150 for 职称=’工程师’
D. replace all 工资 with 工资+150 for 职称=’工程师’
说明:CHANGE、EDIT命令均为进入编辑状态,无with子句。
REPLACE的替换子句为 with ,P76。注意该语句与UPDATE的区别,P113。
19.在Visual FoxPro中设置参照完整性时,要设置成:当更改父表中的主关键字段或候选关键字段时,自动更改所有相关子表记录中的对应值,应选择_ B___。
A.忽略
B.级联
C.限制
D.忽略或限制
20.在下列关于索引的叙述中,不正确的是_ B___。P84
A.一张数据库表只能设置一个主索引
B.唯一索引不允许索引表达式有重复值
C.候选索引既可以用于数据库表,也可以用于自由表
D.候选索引不允许索引表达式有重复值
21.下列命令中,_ A __可以将xs表的xh字段的标题属性设置为“学号”。
A.DBSETPROP(“xs.xh”,”FIELD”,”Caption”,”学号”)
B.DBSETPROP(“xs.xh”,”FIELD”,”Caption=学号”)
C.DBSETPROP(“xs”,”xh”,”Caption”,”学号”)
D.DBSETPROP(“xs.xh”,”TABLE”,”Caption”,”学号”)
22.数据库表的字段级有效性规则、记录级验证规则以及表的触发器等,为数据的输入和修改实施了约束。下列叙述中,不正确的是_ B___。
A.NULL有效性是字段级有效规则
B.候选/主索引是字段级的有效性规则,在字段更新时激活
C. 对数据库表操作时,各种数据有效性约束机制的激活顺序是字段级、记录级和表级
D. 数据库表之间的完整性规则是通过表的触发器实现的
23.打开一空表(无任何记录数据的表)后,未作记录指针移动操作时recno()、bof()和eof()函数的值分别为_C_。
A. 0、.T.和.T.
B. 0、.T.和.F.
C. 1、.T.和.T.
D. 1、.T.和.F. 24.函数SELECT(0)的返回值为_ A___。 P97
A.当前工作区号
B.当前未被使用的最小工作区号
C. 当前未被使用的最大工作区号
D.当前已被使用的最小工作区号
25.对于自由表而言,不能创建的索引类型是_ A___。
A.主索引 B、候选索引 C、普通索引 D、唯一索引
26.下面关于索引的描述正确的是_ C___)。
A.建立索引以后,原来的表文件中记录的物理顺序将被改变 B.索引与表的数据存储在一个文件中
C.创建索引是创建一个指向表文件记录的指针构成的文件 D.使用索引并不能加快对表的查询操作
27.无论索引是否生效,定位到相同记录上的命令是_ C___。
A.GO TOP
B.GO BOTTOM
C.GO 18
D.SKIP 5
28.在多工作区操作中。如果选择了1、3、5号工作区并打开相应的数据表,在命令窗口执行命令SELECT 0,其
结果是选择_ C___号工作区为当前工作区。
A.0
B.1
C.2
D.3
29.有关表的索引,下面说法中不正确的是_ D___。
A、当一张表被打开时,其对应的结构复合索引被自动打开
B、候选索引能控制表中字段重复值的输入
C、一张表可建立多个候选索引
D、主索引适用于数据库表和自由表
30.在当前盘目录下删除表stock的命令是_ A___。
A.DROP stock
B.DELETE TABLE stock
C.DROP TABLE stock
D.DELETE stock
注意:DROP TABLE 表文件名命令删除的是库表
31.已知表文件XS.DBF中有20条记录,执行下列命令后的结果是_ D___。
USE XS
GO BOTTOM
SKIP -1
LIST
A.显示最后一条记录
B.显示第一条记录
C.显示倒数第二条记录
D.显示所有记录
32.字段的默认值保存在_ B__。 P88
A.表的索引文件中
B.数据库文件中
C.项目文件中
D.表文件中
33.在Visual FoxPro中创建数据库后,系统自动生成的三个文件的扩展名分别为_ B __。P65
A..PJX、.PJT、.PRG
B..DBC、.DCT、.DCX
C..FPT、.FRX、.FXP
D..DBC、.SCT、.SCX
34.设在当前工作区中已打开一个数据库表。下列命令中,不能将该数据库表关闭的命令是_ C__。
A.CLOSE ALL B.CLOSE DATABASE ALL C.USE IN 0 D.CLOSE TABLES
35. 在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的 A 。
A."一方"表的主索引或候选索引,"多方"表的普通索引
B."一方"表的主索引,"多方"表的普通索引或候选索引
C.""一方"表的普通索引,"多方"表的主索引或候选索引
D."一方"表的普通索引,"多方"表的候选索引或普通索引
36.若在建立数据库表GOODS.DBF时,将单价字段的有效性规则设为“PRICE>0”,通过该设置,能保证数据的 B 。
A.实体完整性 B.域完整性 C.参照完整性 D.表完整性
37.一个表主关键字被包含到另一个表中时,在另一个表中称该关键字为 A 。
A.外关键字 B.主关键字 C.超关键字 D.候选关键字
38.若一个班只能有一个班长,而一个班长不能同时担任其它班级的班长,班级和班长两个实体之间的关系属于A
A.一对一联系 B.一对二联系 C.多对多联系 D.一对多联系
39.关系数据库管理系统所管理的关系是 B 。
A.一个DBF文件 B.若干个二维表 C.一个DBC文件 D.若干个DBC文件
40.要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表 A 。
A.是同一个数据库中的两个表
B.不同数据库中的两个表
C.两个自由表
D.一个是数据库表另一个是自由表
41.关系完整性的插入规则,可以设置为 A 。
A.级联、限制或忽略 B.级联或忽略 C.级联或限制 D.限制或忽略
42.VFP是一种典型的 A 数据库管理系统
A.关系型B.网状型 C.层次型 D.都不是
43.数据库系统的核心是 C。
A.数据库 B.操作系统 C.数据库管理系统 D.文件
44.数据表文件的扩展名为 B 。
A..dbc B..dbf C..fpt D..db
45.当刚打开一个表时,记录指针的初始值(即recno())是 B 。
A.0 B.1 C.2 D.无法确定
46.一个工作区中同时可以打开 B 个表文件。