一、选择题 下列各题A、B、C、D四个选项中,只有一个选项是正确的。 19~25题所用到的数据如表1和表2所示。 表1 BRDA.dbf
病历号
姓名
性别
年龄
00000001
丁国维
男
22
00000002
吴春云
男
53
00000003
郭勤
女
63
00000004
戴燕
女
34
00000005
施添力
男
25
00000006
江素萍
女
50
00000007
樊达军
男
24
00000008
张小丽
女
21
表2 MXB.dbf
病历号
药品编号
单价/元
数量
日期
00000001
0001
15.00
4
08/08/1998
00000002
0001
15.00
6
08/06/1999
00000003
0001
15.00
3
07/23/1997
00000004
0001
15.00
4
08/08/1998
00000005
0001
15.00
5
08/06/1998
00000004
0001
15.00
1
07/23/1996
00000007
0001
15.00
8
08/06/2000
00000008
0001
15.00
2
07/23/2002
00000001
0002
30.00
4
08/08/1998
00000002
0003
28.00
6
08/06/1999
00000003
0002
30.00
3
07/23/1997
00000001
0003
28.00
4
08/08/1998
00000005
0002
30.00
5
08/06/1998
00000006
0003
28.00
1
07/23/1996
00000004
0002
30.00
8
08/06/2000
00000008
0003
28.00
2
07/23/2002
00000004
0003
28.00
2
07/23/2002
19. 语句如下:
SELECT BRDA.姓名,COUNT(*);
FROM BRDA INNER JOIN MXB;
ON BRDA.病历号=MXB.病历号;
GROUP BY BRDA.病历号;
ORDER BY 2 DESC
该语句执行后,结果中的每一条记录的值为______。
A B C D
A
[解析] 本题的SELECT语句的作用是根据病历号相等,在BRDA和MXB两个表之间建立内部连接,然后根据病历号进行分组,求出每个病历号有多少条记录(即开药记录数),并按照开药记录数降序排列。
28. 有下列程序段:
For i=1 To 4
x=4
For J=1 To 3
x=3
For k=1 To 2
x=x+6
Next k
Next j
Next i
? x
该程序段的执行结果为______。
A B C D
B
[解析] 本题考查的是FOR循环的嵌套。最外层循环体中的第一条语句给x赋值4,而进入第二层循环体后,又给x赋值3,所以进入第二层循环时x的值为3。由于每次进入第二层循环都给x赋值3,所以x的结果只跟该循环体的最后一次循环有关。第二层循环的最后一次循环中,第三层循环执行了两次,每次x的值增加6,所以最后x的值为15。
29. 在Visual FoxPro中,假设有一个表RSDA,它的结构如表3所示。
表3 RSDA表的结构
字段名
字段类型
字段宽度与小数位
备注
XM
C
8
姓名
NL
N
3
年龄
CSRQ
D
8
出生日期
JBGZ
N
7,2
基本工资
JJ
N
7,2
奖金
现在要为独立复合索引文件RS.CDX建立一个名为GZ的索引标识符,该索引标识符按应发工资(基本工资和奖金的和)升序排列,以下正确的命令是______。
A.INDEX ON JBGZ+JJ TO GZ B.INDEX ON JBGZ+JJ TAG GZ OF RS C.INDEX ON STR(JBGZ,7,2)+STR(JJ,7,2)TAG GZ OF RS D.INDEX ON STR(JBGZ,7,2)+STR(JJ,7,2)TAG GZ
A B C D
B
[解析] 为独立复合索引文件建立索引的一般格式为 INDEX ON 索引表达式 TAG 索引名 OF 复合索引文件名 本题按应发工资进行排序,故索引表达式应为JBGZ+JJ。需注意两点:A建立的是单一索引文件GZ.idx(使用的是“TO单一索引文件名”);为结构复合索引文件建立索引不用“OF索引文件名”。
二、填空题 1. 与一般的线性表一样,在程序设计语言中,用______作为栈的顺序存储空间。
一维数组
[解析] 栈的顺序存储空间使用一维数组S(1:m),m为栈的最大容量。
2. 为了要在线性表中插入一个新元素,首先要给该元素分配一个______,以便用于存储该元素的值。
3. ______是具有共同属性、共同方法的对象的集合。
类
[解析] 将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。类是对象的抽象,描述了属于该对象类型的所有对象的性质,一个对象则是其对应类的一个实例。
4. ______是结构化的英语和伪码,是一种混合语言。
过程设计语言或PDL
[解析] 过程设计语言主要采用英语的词汇和结构化程序设计语言的语法,类似编程语言。它是结构化的英语和伪码,是一种混合语言。
5. ______负责整个数据库系统的建立、维护和协调工作。
数据库管理员或DBA
[解析] 数据库管理员(DBA) 负责整个数据库系统的建立、维护和协调工作。数据库管理员在数据库系统中的作用是至关重要的。
6. 两个具有相同结构的关系R和S,它们的______运算是由既属于R又属于S的元组组成的集合。
交
[解析] 两个具有相同结构的关系R和S,既属于R又属于S的元组组成的集合属于交运算。
7. 下列程序的执行结果是______。
STORE "" TO A
STORE.NULL.TO B
STORE O TO C
? ISNULL(A),ISNULL(B),ISNULL(C),EMPTY(A),EMPTY(B),EMPTY(C)
.F..T..F..T..F..T.
[解析] IS NULL函数的作用是判断参数的值是否为NULL值,如果是,则返回.T.,如果不是,则返回.F.。注意NULL不是0,也不是空字符串,它是一个不确定的值。EMPTY()函数的值用来测试参数是否为“空”值,若是则返回.T.,否则返回.F.。对于数值型,“空”值是0,对于字符型,空串、空格、制表符、回车、换行等都是空值。
下列程序的功能是统计一个字符串中包括多少个汉字(假设这些汉字均属于GB2312字符集),其基本算法是从字符串中依次取一个字符,如果其ASCII码值大于127,则为一个汉字内码的第一个字节。请填空。 STR1="中国(ChinA) 是一个伟大的国家(nation)" C=0 DO WHILE LEN(STR1)>0 IF 8 (LEFT(STR1,1))>127 C=C+1 STR1=SUBSTR(STR1, 9 ) ELSE STR1=SUBSTR(STR1, 10 ) ENDIF ENDDO WAIT WINDOWS"汉字个数为"+STR(C)10.
2
[解析] 为统计一个字符串中的汉字个数,先从该字符串中取出第一个字符,看其ASCII码是否超过127,如果超过127,则是汉字,汉字的数目加1,把字符串的前两个字符去掉形成新的字符串,若不是汉字则把字符串的第一个字符去掉,形成新的字符串,再从新字符串中取出第一个字符,这样反复直到所有的字符都判断完毕为止。所以本题第1空应填求ASCII码的函数名,为“ASC”,本题第2空通过SUBSTR函数取得从原来字符串的第3个字符开始的字符串,故应填“3”,同理本题的第3空处应填“2”。
11. 在Visual FoxPro中,数组的维数最多为______维。
2
[解析] Visual FoxPro中只有一维数组和二维数组。
12. 把当前工作区中打开的表的当前记录的所有字段(包括备注字段)复制到数组ARR1中,应使用的命令为
______ TO ARR1
SCATTER MEMO
[解析] 将表的当前记录复制到数组有两种格式如下。 格式1:SCATTER [FIELDS<字段名表>[MEMO]TO<数组名>[BLANK] 格式2:SCATTER [FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>[MEMO] TO<数组名>[BLANK] 需注意的是,若选用MEMO短语,则同时复制备注型字段。若选用BLANK短语,则产生一个空数组,各数组元素的类型和大小与表中当前记录的对应字段相同。
13. 列出在当前工作区中打开的表中所有被逻辑删除的记录,使用的命令为
LIST ALL FOR ______
DELETED()
[解析] 函数DELETED()可用于测试当前记录是否被逻辑删除,若被逻辑删除,则返回.T.,否则返回.F.。
14. 在Visual FoxPro的某程序中,定义了一个模块如下:
PROCEDURE ABCD
PARAMETERS A,B
* 略
ENDPROC
现在使用的实参变量为C和D,在默认情况下,如果希望按值传递,调用命令为______。
ABCD(C,D)
[解析] 使用“DO模块名WITH实参列表”来调用模块,若实参是内存变量,是按地址传递的,使用“ABCD(实参列表)”来调用模块,默认情况下,参数传递均是传值的。
15. Visual FoxPro允许用户从“数据环境设计器”窗口、“项目管理器窗口”或“数据库设计器”窗口中直接将字段、表或视图拖入表单,系统将产生相应的控件并与字段相绑定。默认情况下,如果拖动的是备注型字段,将产生______控件。
编辑框或EDIT
[解析] 一般情况下,拖放表或视图到表单中,将产生表格控件;拖放备注字段到表单中,将产生表格控件;拖放通用型字段到表单中,将产生ActiveX绑定控件;拖放逻辑型字段到表单中,将会产生复选框控件;拖放其他类型的字段到表单中,产生的都是文本框控件。