黄骅职教中心升学部高二年级期末考试VF试卷
学号_____ 姓名________分数_________
一、填空:(每空1分,共20分)
1、命令A=2005/4/2之后,内存变量A的数据类型是N (或数值) 型。
2、在全局、局部、私有三种变量中,作用范围最小的变量是局部变量。
3、在SQL查询语句中,显示部分结果的top短语必须要与order by__短语一起来使用。
4、数组A(3,3)中的元素个数是_9_个,其中A(1,1)=1,A(1,2)=2,A(1,3)=3,A(2,1)=4,A(2,2)=5,A(2,3)=6,则A(5)=____5_____. A(9)=___.F.______
5、VFP中变量名的命名规则:只能使用汉字、字母、下划线和数字
6、当输入比较长的命令时,可加一个分号(或;)来续行,回车后继续在下一行输入。
7、刚打开一个10个记录的表时, BOF()的值是.F.,RECNO()的值是 1 。当执行SKIP -1后,BOF()的值是.T., RECNO()的值是 1 ,当EOF()的值是.T.时,RECNO()的值是11 。
8、将当前表中所有的学生年龄加1,可使用命令REPLACE ALL年龄WITH 年龄+1
9、表达式LEN(“2008年“+“奥运会”)的值是___12____,STR(56.789,2)的值为_____”57”__。A=“K”,K=-5.9,则TYPE(“&A”)的返回值是___N_, INT(K) 的返回值是___-5__
10、每个子过程必须以PROCEDURE开头(短语要写完全)
11、有如下一段程序:
INPUT "请输入当前日期:" TO RQ
? RQ+5
在执行以上计算命令时,应该输入{^2009/10/23} ,显示结果是:10/28/2009。
(或CTOD(“10/23/09”)
二、判断:(每题1分,共10分)
1、查询教师表中职称为讲师和教授的全部记录,则条件表达式可写成:职称="讲师" and 职称="教授"。F
2、执行命令WAIT TO M后,内存变量M的数据类型是数值型。F
3、select 3和select c功能完全相同,都是选择第三个工作区为当前工作区。T
4、VFP中只能引用一维或二维数组,但数组中各个元素的值的类型可以不同。T
5、命令go top与go 1功能是相同的F
6、同一个时刻,一个工作区只能打开一个表文件,一个表可在不同的工作区打开。T
7、运行查询的命令是DO 查询文件名.qpr。T
8、定义一个3行2列的数组ARR,使用的命令是:dimension ARR(2,3)。F
9、For和While短语都是进行选择操作,所以它们完全相同F
10、子程序中RETURN TO MASTERR 功能是返回最高一级调用程序T
三、选择(每题1分,共40分)
1.在命令文件中调用另一个命令文件,应该使用命令________。D
A、CALL 命令文件名
B、LOAD 命令文件名
C、PROCEDURE 命令文件名
D、DO 命令文件名
2.VFP中的DO CASE … ENDCASE 语句属于______。C
A、顺序结构
B、循环结构
C、分支结构
D、模块结构
3.在某个程序模块中用PRIV ATE 语句定义的内存变量_______。C
A、可以在该程序所有模块中使用
B、只能在定义该变量的模块中使用
C、只能在定义该变量的模块中及其下属模块中使用
D、只能在定义该变量的模块中及其下属模块中,与相关数据表一起使用
4.在永真条件DO WHILE .T. 的循环中,为退出该循环可以使用________。B
A、LOOP
B、EXIT
C、CLOSE
D、QUIT
5.执行命令:INPUT "请输入数据:" TO AAA时,如果要通过键盘输入字符串,应当使用的定界符包括_______。C
A、单引号
B、单引号或双引号
C、单引号、双引号或方括号
D、单引号、双引号、方括号和圆点
6.设定内存变量pw是数值型,要从键盘输入数据给pw赋值,应使用命令______。A
A、INPUT TO pw
B、WAIT TO pw
C、ACCEPT TO pw
D、以上均可
7.设某VFP程序中有PROG1.PRG、PROG2.PRG、PROG3.PRG三层程序依次嵌套,下面叙述中正确的是_________。D
A、在PROG1.PRG中用RUN PROG2.PRG语句调用PROG2.PRG子程序
B、在PROG2.PRG中用RUN PROG3.PRG语句调用PROG3.PRG子程序
C、在PROG3.PRG中用RETURN语句可以返回到主程序PROG1.PRG
D、在PROG3.PRG中用RETURN TO MASTER语句可以返回到主程序PROG1.PRG 8.以下有关VFP过程文件的叙述,其中正确的是___________。D
A、先用“SET PROCEDURE TO” 关闭已打开的过程文件, 再用“DO 过程名” 执行B?可以直接用“DO 过程名” 执行
C?先用“SET PROCEDURE TO文件名” 打开过程文件, 再用“USE 过程名” 执行?D?先用“SET PROCEDURE TO文件名”打开过程文件,然后用“DO 过程名” 执行?9.以下关于ACCEPT命令的说明,正确的是_________。A
A、将输入作为字符型数据接收
B、将输入作为数值型数据接收
C、将输入作为逻辑型数据接收
D、将输入作为备注型数据接收10.执行命令:ACCEPT "请输入出生日期:" TO M时,如果通过键盘输入CTOD("01/01/69"),则M的值应为_________。A
A、[CTOD( "01/01/69" )]
B、"01/01/69"
C、01/01/69
D、拒绝接受,M不赋值11.WAIT、ACCEPT和INPUT 三条输入命令中,必须要以回车键表示输入结束的命令是________。C
A、WAIT、ACCEPT和INPUT
B、WAIT、ACCEPT
C、ACCEPT和INPUT
D、WAIT、INPUT
12.VFP关于数据库的参照完整性规则不包括_________。C
A、插入规则
B、删除规则
C、查询规则
D、更新规则13.SQL查询语句中,GROUP BY 子句的功能是对查询结果________。B
A、排序
B、分组
C、限定分组检索结果
D、限定查询条件
14.SQL语句中修改表结构的命令是________。C
A、MODIFY TABLE
B、MODIFY STRUCTURE
C、ALTER TABLE
D、DROP TABLE
15. 数据库(DB)?数据库系统(DBS)?数据库管理系统(DBMS)三者之间的关系是___?C
A. DBMS包括DB和DBS
B. DB包括DBMS和DBS
C. DBS包括DB和DBMS
D. 三者无关系
16.若X = 56.789,则命令? STR( X, 2 ) – SUBSTR( '56.798', 5, 1 ) 的显示结果是___ B
A、569
B、579
C、48
D、47
17.下列式子中,合法的VFP表达式是________。B
A、"123" + SPACE(3) + VAL("456")
B、CHR(66) + STR( 1568.935, 6 )
C、ASC( 'ABCD' ) + "18"
D、CTOD( "08/18/88" ) + DATE( )
18.要将一个表中的全部记录追加到当前表中,可以使用命令_____。D
A. APPEND
B. INSERT
C. INSERT FROM
D. APPEND FROM
19.要判断数值型变量Y 是偶数,错误的条件表达式为_______。D
A、MOD( Y, 2) = 0
B、INT( Y / 2) = Y / 2
C、Y % 2 =0
D、INT( Y / 2 ) = MOD( Y, 2 )
20.下列表达式中,返回结果为逻辑真的是________。C
A、"120" > "15"
B、CTOD( "08/11/97" ) > CTOD( "08/11/98" )
C、"08/11/97" > "07/11/98"
D、"35"+"40" > "70"
21.函数LEN( TRIM( SPACE(4) ) – SPACE(4) ) 返回的值是________。B
A、0
B、4
C、8
D、出错
22.函数YEAR("12/28/98") 的返回值是________。D
A、98
B、1998
C、2098
D、出错
23.执行A = "B", B = "A", ? &B + &A 三条命令后,显示的结果是_______。B
A、AB
B、BA
C、A + B
D、出错信息
24、运行查询的快捷键为____。A
A.Ctrl+Q
B.Ctrl+D
C.Shift+Q
D.shift+D
25.执行命令? AT( "中心", "国家教委考试中心" ) 的显示值是________。C
A、0
B、12
C、13
D、16
26.在下列VFP表达式中,运算结果为字符串的是________。A
A、"1234" – "43"
B、"ABCD" + "XYZ" = "ABCDXYZ"
C、DTOC( DATE( ) ) > "04/05/97"
D、CTOD("04/05/97")
27.查询设计器和视图设计器的主要不同表现在____。D
A.视图设计器没有“更新条件”选项卡,没有“查询去向”选项
B.查询设计器有“更新条件”选项卡,没有“查询去向”选项
C.视图设计器有“更新条件”选项卡,有“查询去向”选项
D.查询设计器没有“更新条件”选项卡,有“查询去向”选项
28.不能使用LOOP和EXIT语句的基本程序结构是____。D
A. DO WHILE …ENDDO
B. FOR …ENDFOR
C. SCAN …ENDSCAN
D. IF …ENDIF
29.在“查询设计器”中,系统默认的查询结果的输出去向是________。A
A、浏览
B、报表
C、表
D、图形
30.设数据表文件中有51条记录,且未打开任何索引文件,则执行命令GO BOTTOM 后,记录指针指向记录的序号是________A
A、51
B、1
C、52
D、EOF( )
31.下列几项中,不能作为查询输出的目标是________。B
A、临时表
B、视图
C、标签
D、图形
32.设数据表与相应索引文件已经打开,且有内存变量XM = "李春",则执行时可能会产生错误的命令是__________。D
A、LOCATE FOR 姓名= XM
B、FIND &XM
C、SEEK XM
D、LOCATE FOR 姓名= &XM
33.下列文件都是数据表“RSDA.DBF”的索引文件,在打开该数据表时自动打开的索引文件是________。C
A、RSDA.IDX
B、XMZC.CDX
C、RSDA.CDX
D、无
34.SQL语句中UPDATE命令的功能是________。D
A、数据定义
B、数据查询
C、更新表中某些列的属性
D、修改表中某些列的内容35.在设置数据库中的数据表间的永久关系时,以下说法正确的是______。B
A、父表必须建立主索引,子表可以不建立索引
B、父表必须建立主索引,子表可以建立普通索引
C、父表必须建立主索引,子表必须建立候选索引
D、父表、子表都必须建立主索引
36.在SQL的SELECT查询结果中,消除重复记录的方法是通过_________.C
A:指定主关系键 B:指定惟一索引 C:使用DISTINCT子句 D:使用HAVING子句37.命令“SELECT 0”的功能是________。A
A、选择区号最小的空闲工作区
B、选择区号最大的空闲工作区
C、选择当前工作区的区号加1的工作区
D、随机选择一个工作区的区号38.VFP中的SET RELATION 关联操作是一种________。A
A、逻辑连接
B、物理连接
C、逻辑排序
D、物理排序39.SQL语句中INSERT命令的功能是________。C
A、在表头插入一条记录
B、在表中指定位置插入一条记录
C、在表尾插入一条记录
D、在表中指定位置插入若干条记录
40.设在1、2、3号工作区中分别打开了数据表文件F1.DBF、F2.DBF、F3.DBF。当前在3号工作区,要想向F2.DBF 数据表文件中追加纪录,同时保持其它打开的数据表文件状态不变,应当使用命令________。B
A、U SE F2
B、S ELECT 2
C、GO F2
D、S ELECT 3
APPEND APPEND APPEND USE F2
APPEND BLANK
四、程序填空 (每空3分,共18分)
1.下面的程序功能是完成工资查询,请填空:
SET TALK OFF
USE employee
ACCEPT "请输入职工号" TO num LOCATE FOR 职工号= num
IF __ NOT EOF()_______
DISPLAY 姓名, 工资
ELSE
? "职工号输入错误!"
ENDIF
USE
SET TALK ON 2.有学生数据表ST.ddbf,其中“编号”字段( N, 2, 0 )的值从1开始连续排列。以下程序欲按编号的1, 7, 13, 19, …的规律抽取学生参加比赛,并在屏幕上显示参赛学生编号,请填空。
USE STUDENT
DO WHILE .NOT. EOF( )
IF MOD __ (编号,6)=1___
??编号
ENDIF
SKIP
ENDDO
USE
3.下列程序的功能是根据“销售”表中的数据去修改“库存.dbf”表的数据,请填空。
SELECT 1
USE库存
SELECT 2
USE销售
DO WHILE NOT EOF()
SELECT 1
LOCATE FOR 商品名=B.商品名
REPLACE 数量WITH 数量-B.数量,总金额WITH 单价*数量
SELECT 2
SKIP
ENDDO
CLOSE DATABASE
4.下列程序是判断任意整数(>2)是否为素数,请填空。(提示:如果一个整数N能被2~N之间的任一整数整除,则这个整数N不是素数。)
SET TALK OFF
INPUT "输入一个整数:" TO N FOR I=2 TO SQRT(n)
IF ___ MOD(N,I)=0_____ EXIT
ENDIF
ENDFOR IF ___ I>SQRT(n)__ ? N, "是素数" ELSE
? N, "不是素数" ENDIF
RETURN
SET TALK ON
五、写程序运行结果(每小题3分,共12分)
1、写出下列程序的输出结果是:9 3
x=1
y=3
DO sub WITH x,(y),5
? x,y
RETURN
PROCEDURE sub
PARAMETER a,b,c
a=a+b+c
b=a+b-c
RETURN
2.下列程序执行时,在键盘上输入21,则屏幕上的显示结果为______ OK1
INPUT "X=" TO X
DO CASE
CASE X > 10
? "OK1"
CASE X > 20
? "OK2"
OTHERWISE
? "OK3"
ENDCASE
(或N/I=INT(N/I)
3.设数据表文件CJ.DBF中有两条记录,内容如下:运行以下程序的结果应当是__1100.00_。
USE CJ
X = 0
DO WHILE .NOT. EOF( )
X= X + ZF
SKIP
ENDDO
? X
RETURN
4.执行如下程序,如果输入N值为5,则最后显示值是___6 4__。
SET TALK OFF
S = 0
I = 0
INPUT "N=" TO N
DO WHILE S <= N
S = S+ I
I = I + 1
ENDDO
? S,I
SET TALK ON
RETURN
六、写命令(每小题2分,共12分)
设数据表“档案.dbf”有字段:学号C(8)、姓名C(8)、性别C(2)、年龄N(2)、民族C(2)、专业C(8)。数据表“成绩.dbf”有字段:学号C(8)、姓名C(8)、成绩N(3)。请按以下要求写出有关的SQL命令。
1、在“档案.dbf”表中插入一个学生的记录:( 200011228, 王刚, 男, 21 ) INSERT INTO档案(学号,姓名,性别,年龄) V ALUES (“200011228”, “王刚”, “男,” 21 )
2、列出男生的平均年龄
SELECT A VG(年龄)FROM档案WHERE 性别=”男”
3、列出女生的姓名、专业和成绩
SELECT 成绩.姓名,专业,成绩FROM档案,成绩WHERE 档案.学号=成绩.学号AND性别=”女”
4、列出成绩在最高前3名的学生的姓名、性别和成绩
SELECT TOP 3成绩.姓名,性别,成绩FROM档案,成绩WHERE 档案.学号=成绩.学号ORDER BY成绩DESC
5、将姓名为“张三”的成绩提高10分
UPDATE 成绩SET 成绩=成绩+10 WHERE 姓名=”张三”
6、在“成绩.dbf”表中增加字段“总评”宽度为2,字符型。
ALTER TABLE 成绩ADD 总评C(2)
七.编程:(每题4分,共8分)
1、编程计算并输出S= 3!+4!+5!
2、编程打印图形如右图所示
1 2 2 2
答题卡:
一、填空:(每空1分,共20分)
1、__________
2、__________
3、_______
4、_______、_______、_______
5、_____________
6、________________
7、_______、_______、_______、_______、_______ 8、_________________
9、_______、_______、_______、_______10、__________11、_____________
二、判断:(每空1分,共10分)(在题号后打上√或×号)
1、2、3、4、5、6、7、8、9、10、
三、选择:(每空1分,共40分)(在题号下面写上正确答案)
四、程序填空 (每空3分,共18分)
1、____________________________
2、____________________________
3、____________________________、____________________________
4、____________________________、____________________________
五、写出下列程序的运行结果(每空3分,共12分)
1、______________________
2、______________________
3、______________________
4、______________________
六、写命令(每题2分,共12分)(写在原题上)
七.编程:(每题4分,共8分)
1.S=0
FOR I=3 TO 5 P=1
FOR J=1 TO I
P=P*J
ENDFOR
S=S+P ENDFOR
?”S=3!+4!+5!”,S 2.CLEAR
FOR I=1 TO 3
??SPACE(30-I)
FOR J=1 TO 2*I-1 ??STR(I,1)
ENDFOR
?
ENDFOR