vfp无纸化真考题14.docx
《vfp无纸化真考题14.docx》由会员分享,可在线阅读,更多相关《vfp无纸化真考题14.docx(15页珍藏版)》请在冰豆网上搜索。
![vfp无纸化真考题14.docx](https://file1.bdocx.com/fileroot1/2023-1/10/8cd5050c-850e-46f6-8b9f-f24cff1b7db2/8cd5050c-850e-46f6-8b9f-f24cff1b7db21.gif)
vfp无纸化真考题14
无纸化真考题试题十四(2013.9)
1.下列叙述中正确的是
A)程序执行的效率与数据的存储结构密切相关
B)程序执行的效率只取决于程序的控制结构
C)程序执行的效率只取决于所处理的数据量
D)以上说法均错误
参考答案:
A
【解析】程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
2.下列与队列结构有关联的是
A)函数的递归调用
B)数组元素的引用
C)多重循环的执行
D)先到先服务的作业调度3.
参考答案:
D
【解析】队列的修改是依先进先出的原则进行的,D正确。
3.
A)DYBEAFCZX
B)YDEBFZXCA
C)ABDYECFXZ
D)ABCDEFXYZ
参考答案:
C
【解析】前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
前序遍历描述为:
若二叉树为空,则执行空操作。
否则:
①访问根结点;②前序遍历左子树;③前序遍历右子树,C正确。
4.一个栈的初始状态为空。
现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是
A)1,2,3,A,B,C
B)C,B,A,1,2,3
C)C,B,A,3,2,1
D)1,2,3,C,B,A
参考答案:
C
【解析】栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选C。
5.下面属于白盒测试方法的是
A)等价类划分法
B)逻辑覆盖
C)边界值分析法
D)错误推测法
参考答案:
B
【解析】白盒测试法主要有逻辑覆盖、基本路径测试等。
逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖,选择B。
其余为黑盒测试法。
6.下面对对象概念描述正确的是
A)对象间的通信靠消息传递
B)对象是名字和方法的封装体
C)任何对象必须有继承性
D)对象的多态性是指一个对象有多个操作
参考答案:
A
【解析】对象之间进行通信的构造叫做消息,A正确。
多态性是指同一个操作可以是不同对象的行为,D错误。
对象不一定必须有继承性,C错误。
封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作,B错误。
7.软件设计中模块划分应遵循的准则是
A)低内聚低耦合
B)高耦合高内聚
C)高内聚低耦合
D)以上说法均错误
参考答案:
C
【解析】根据软件设计原理提出如下优化准则:
①划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。
②一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。
③软件结构的深度、宽度、扇入、扇出应适当。
④模块的大小要适中。
C正确。
8.下面描述中不属于数据库系统特点的是
A)数据共享
B)数据完整性
C)数据冗余度高
D)数据独立性高
参考答案:
C
【解析】数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,C错误。
9.数据库设计过程不包括
A)概念设计
B)逻辑设计
C)物理设计
D)算法设计
参考答案:
D
【解析】数据库设计过程主要包括需求分析、、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。
答案为D选项。
10.
A)自然连接
B)交
C)投影
D)并
参考答案:
A
【解析】关系R和关系S有公共域,关系T是通过公共域的等值进行连接的结果,符合自然连接,选A。
11.为保证数据的实体完整性,应该创建的索引是:
A)主索引或唯一索引
B)主索引或候选索引
C)唯一索引或候选索引
D)唯一索引
参考答案:
B
【解析】实体完整性是保证表中记录惟一的特性,即在一个表中不允许有重复的记录。
在VisualFoxPro中利用主关键字或候选关键字来保证表中记录的唯一,即保证实体惟一性。
如果一个字段的值或几个字段的值能够唯一标识表中的一条记录,则称这个字段为候选关键字。
在一个表上可能会有几个具有这种特性的字段或字段的组合,这时从中选择一个作为主关键字。
在VisualFoxPro中将主关键字称为主索引,将候选关键字称为候选索引。
12.在VisualFoxPro中,参照完整性的更新规则不包括:
A)允许
B)级联
C)忽略
D)限制
参考答案:
A
【解析】参照完整性约束包括更新规则、删除规则和插入规则,级联选项包括级联、忽略和限制。
13.VisualFoxPro支持的索引文件不包括:
A)独立索引文件
B)规则索引文件
C)复合索引文件
D)结构复合索引文件
参考答案:
B
【解析】在VisualFoxPro中,根据索引的功能对索引进行分类,也可以根据索引文件扩展名分类。
根据索引功能的不同,可以将索引分为主索引、候选索引、唯一索引和普通索引四种。
按文件扩展名分类可分为单索引文件和复合索引文件(结构复合索引文件和非结构复合索引文件)。
14.在VisualFoxPro中,使用LOCATEFOR命令按条件查找记录,当查找到满足条件的第1条记录后,如果还需要查找下一条满足条件的记录,应该使用命令:
A)LOCATEFOR命令
B)SKIP命令
C)CONTINUE命令
D)GO命令
参考答案:
C
【解析】LOCATE命令是按条件定位记录位置的命令,其命令格式为:
LOCATEFOR<条件表达式>。
该命令执行后将记录指针定位在满足条件的第1条记录上。
如果要使指针指向下一条满足条件的记录,使用CONTINUE命令,如果没有满足条件的记录则指向文件结束位置。
15.将当前表中有删除标记的记录物理删除的命令是:
A)DELETE
B)ERASE
C)ZAP
D)PACK
参考答案:
D
【解析】物理删除有删除标记的记录的命令为PACK,执行该命令后所有有删除标记的记录将从表中被物理地删除,并且不可能再恢复。
逻辑删除或置删除标记的命令是DELETE。
16.一个表可以建立多个索引,但只能建立一个的索引是:
A)主索引
B)唯一索引
C)候选索引
D)普通索引
参考答案:
A
【解析】根据索引功能的不同,可以将索引分为主索引、候选索引、唯一索引和普通索引四种。
其中主索引是在指定字段或表达式中不允许出现重复值的索引,在一个表中只能建立一个主索引,可以建立多个唯一索引、候选索引或普通索引。
17.设数据库表中有一个C型字段NAME。
打开表文件后,要把内存变量CC的字符串内容输入到当前记录的NAME字段,应当使用命令:
A)NAME=CC
B)REPLACENAMEWITHCC
C)STORECCTONAME
D)REPLACEALLNAMEWITHCC
参考答案:
B
【解析】在VisualFoxPro中可以交互修改记录,也可以用指定值直接修改记录。
其中,常用的直接利用表达式或值修改记录的命令是REPLACE,其语法格式为:
REPLACE<字段名1>WITH<表达式1>[,<字段名2>WITH<表达左2>]...[FOR<条件表达式>]。
当出现内存变量与字段变量同名时,若简单地用变量名访问,则系统默认为是字段变量。
若要访问内在变量,则必须在变量名前加上前缀M.(或M->)。
18.假设数据库已经打开,要打开其中的视图myview,可使用命令:
A)OPENmyview
B)OPENVIEWmyview
C)USEmyview
D)USEVIEWmyview
参考答案:
C
【解析】视图是操作表的一种手段,通过视图可以查询表,也可以更新表。
视图建立之后,可使用USE命令打开或关闭视图(当然只能在数据库打开时),打开视图的命令格式为USE[视图名],因此C选项正确。
19.在查询设计器的工具栏中有,而在视图设计器中没有的工具按钮是:
A)查询去向
B)添加联接
C)显示SQL窗口
D)移去表
参考答案:
A
【解析】视图设计器与查询设计器类似区别主要有以下几点:
①查询设计器的结果是将查询以.qpr为扩展名的文件保存在磁盘中;而视图设计完后,在磁盘上找不到类似的文件,视图的结果保存在数据库中。
2由于视图是可以用于更新的,所以它有更新属性需要设置,为此在视图设计器中多了一个"更新条件"选项卡。
3在视图设计器中没有"查询去向"的问题。
20.在查询设计器"添加表和视图"窗口中,单击"其他"按钮用于添加:
A)视图
B)其他查询
C)本数据库中的表
D)本数据库之外的表
参考答案:
D
【解析】可以利用"查询设计器"设计查询,在查询设计器的界面中有6个选项卡,分别是"字段"选项卡、"联接"选项卡、"筛选"选项卡、"排序依据"选项卡、"分组依据"选项卡和"杂项"选项。
在查询设计器在查询设计器"添加表和视图"窗口中,单击"其他"按钮用于添加本数据库之外的表。
21.在SETEXACTOFF情况下,结果值为逻辑真的表达式是:
A)"等级考试"="等级"
B)"等级"="等级考试"
C)"等级"+space(4)="等级考试"
D)"等级考试"="等级"+space(4)
参考答案:
A
【解析】用字符表达式进行比较有两种方法:
1用双等号运算符(==)精确比较:
只有当两个字符串完全相同(包括空格及位置),才会为逻辑真.T.。
2用单等号运算符(=)比较,运算结果与setexacton︱off的设置有关。
其中,若设置为ON,则先在较短的字符串尾加若干空格,使两个字符串的长度相等,再进行精确比较。
22.要将显示日期值时所用的分隔符设置为竖杠"|",错误的设置命令是
A)SETMARKTO"|"
B)SETMARKTO'|'
C)SETMARKTO[|]
D)SETMARKTO|
参考答案:
D
【解析】setmarkto命令是指定显示日期表达式时所使用的分隔符,其命令格式为SETMARKTO[cDelimiter],用来分隔显示日期中的年、月、日的字符。
不带cDelimiter参数使用SETMARKTO时,可将分隔符重置为默认的正斜杠符(/),SETMARKTO的作用范围是当前数据工作期。
本题D选项格式错误。
23.下面命令的输出结果是:
DECLAREa(10)
?
a(0)
A).F.
B).T.
C)0
D)出错
参考答案:
D
【解析】DECLARE<数组名>(<下标上限1>[,<下标上限2>])[,…]命令用于创建数组,数组创建后,系统自动给每个数组元素赋以逻辑假.F.。
数组大小由下标的上、下限决定,下限规定为1,因此本文a(0)的输出结果错误。
24.设d=len(time()),命令?
VARTYPE(d)的输出值是
A)L
B)C
C)N
D)D
参考答案:
C
【解析】LEN(<字符表达式>)为求字符串长度函数,返回指定字符表达式的长度,即所包含的字符个数,函数值为数值型。
VARTYPE(<表达式>[,<逻辑表达式>])为数据类型测试函数,测试<表达式>的类型,返回一个大写字母。
字母的含义如下表:
用VARTYPE()测得的数据类型
返回的字母
数据类型
返回的字母
数据类型
C
字符型或备注型
G
通用型
N
数值型、整型、浮点型或双精度型
D
日期型
Y
货币型
T
日期时间型
L
逻辑型
X
null值
O
对象型
U
未定义
VARTYPE(d)的返回字母为N。
25.表达式IIF("123"=="12",12,"ab")的值是:
A)数值12
B)字符串12
C)字符串ab
D)出错
参考答案:
C
【解析】IIF(<逻辑表达式>,<表达式1>,<表达式2>)为条件测试函数,测试<逻辑表达式>的值。
若为逻辑真.T.,函数返回<表达式1>的值;若为逻辑假.F.,函数返回<表达式2>的值。
<表达式1>和<表达式2>的类型不要求相同。
"=="用来进行精确比较,只有当两个字符串完全相同(包括空格及位置),才会为逻辑真.T.。
因此本题的运算结果为字符串ab。
26.下面关于过程调用的陈述中,哪个是正确的
A)实参与形参的数量必须相等
B)当实参的数量多于形参的数量时,多余的实参被忽略
C)当形参的数量多于实参的数量时,多余的形参取逻辑假
D)当形参的数量多于实参的数量时,多余的形参取逻辑真
参考答案:
C
【解析】实参可以是常量、变量或一般形式的表达式。
调用模块时,系统会自动把实参传递给形参。
形参数目不能少于实参数目。
如有多余形参取初始值逻辑假(.F.)。
27.下面程序的运行结果是:
SETTALKOFF
n=1
proc1(n)
?
n+2
PROCEDUREproc1
PARAMETERSn
FORk=2TO4
n=n+k
ENDFOR
RETURN
A)3
B)10
C)11
D)12
参考答案:
A
【解析】SETTALKOFF的含义为关闭程序运算的显示过程。
FOR-ENDFOR是循环的结构的一种,先将初值赋给循环变量,然后判断循环条件是否成立,若成立,则运行循环体,然后循环变量增加一个步长值,并在次判断循环条件确定下一次的循环操作,如果条件不成立则结束循环运行ENDFOR后的语句。
本题运算结果为3。
函数调用时,参数按值传递,故不论子程序中N值如何改变,不会影响到主程序中的N值。
28.在SQL中,修改表结构的语句是:
A)MODIFYTABLE
B)ALTERSTRUCTURE
C)ALTERTABLE
D)ALTERDATABASE
参考答案:
C
【解析】修改表结构的命令是ALTERTABLE,其基本命令格式为:
ALTERTABLE。
主要有三种作用:
①向表中添加新的字段和新的索引;②修改表的结构和字段名;③删除表中的字段、索引及有效性规则、错误提示信息及默认值。
29.在SQL中,数据操纵语句不包括:
A)INSERT
B)ERASE
C)UPDATE
D)DELETE
参考答案:
B
【解析】SQL的操作功能是指对数据库中数据的操作功能,主要包括插入(INSERT)、更新(UPDATE)和删除(DELETE)。
30.设有读者表:
读者(借书证号C,姓名C,单位C,性别L,职称C,联系电话C)
查询姓名中含"志"的所有读者的信息,正确的SQL语句是:
A)SELECT*FROM读者WHERE姓名LIKE"*志*"
B)SELECT*FROM读者WHERE姓名="*志*"
C)SELECT*FROM读者WHERE姓名LIKE"%志%"
D)SELECT*FROM读者WHERE姓名="%志%"
参考答案:
C
【解析】SQL的基本格式为SELECT-FROM-WHERE,其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件。
LIKE为字符串匹配运算符,可与通配符"%"和"_"一起使用。
"%"表示与任意多个字符匹配;"_"表示与任意一个字符匹配。
查询姓名中含"志"的所有读者的信息可用"LIKE"%志%""表示,C选项正确。
31.有以下两个表:
读者(借书证号C,姓名C,单位C,性别L,职称C,联系电话C)
借阅(借书证号C,总编号C,借书日期D)
查询借阅了总编号为"112262"的图书的读者的信息,正确的SQL语句是:
A)SELECT*FROM读者WHERE总编号="112262"
B)SELECT*FROM读者,借阅WHERE总编号="112262"AND读者.借书证号=借阅.借书证号
C)SELECT*FROM读者JOIN借阅WHERE读者.借书证号=借阅.借书证号AND总编号="112262"
D)SELECT*FROM读者INNERJOIN借阅WHERE读者.借书证号=借阅.借书证号AND总编号="112262"
参考答案:
B
【解析】SQL的基本格式为SELECT-FROM-WHERE,其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件。
查询借阅了总编号为"112262"的图书的读者的信息,对应的查询条件应为"WHERE总编号="112262"AND读者.借书证号=借阅.借书证号"。
32.设有如下表:
图书(总编号C,分类号C,书名C,作者C,出版单位C,单价N)
查询单价大于15且小于20的图书信息,正确的SQL语句是:
A)SELECT*FROM图书WHERE单价BETWEEN15TO20
B)SELECT*FROM图书WHERE单价BETWEEN15AND20
C)SELECT*FROM图书WHERE单价>15OR单价<20
D)SELECT*FROM图书WHERE单价>15AND单价<20
参考答案:
D
【解析】SQL的基本格式为SELECT-FROM-WHERE,其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件。
BETWEEN…AND…表示在…和…之间,其中包含等于,即大于等于AND前面的数,小于等于AND后面的数,而and表示"且",or表示"或",只有D选项符合题目要求。
33.设有如下表:
图书(总编号C,分类号C,书名C,作者C,出版单位C,单价N)
查询分类号前三个字符为"TP3"的图书信息,不正确的SQL语句是:
A)SELECT*FROM图书WHERESUBSTR(分类号,1,3)="TP3"
B)SELECT*FROM图书WHERELEFT(分类号,3)="TP3"
C)SELECT*FROM图书WHERE分类号LIKE"TP3*"
D)SELECT*FROM图书WHERE分类号LIKE"TP3%"
参考答案:
C
【解析】SQL的基本格式为SELECT-FROM-WHERE,其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件。
LIKE为字符串匹配运算符,可与通配符"%"和"_"一起使用。
"%"表示与任意多个字符匹配;"_"表示与任意一个字符匹配。
查询分类号前三个字符为"TP3"的图书信息可用"LIKE"TP3*""表示,C选项正确。
34.设有如下表:
图书(总编号C,分类号C,书名C,作者C,出版单位C,单价N)
查询单价最高的10本图书的信息,正确的SQL语句是:
A)SELECTTOP10*FROM图书
B)SELECTTOP10*FROM图书ORDERBY单价
C)SELECTTOP10*FROM图书ORDERBY单价DESC
D)SELECTPERCENT10*FROM图书ORDERBY单价
参考答案:
C
【解析】TOP短语可以查询满足条件的前几个记录,其命令格式为:
SELECTTOP数字[PERCENT],本题查询单价最高的10本图书的信息,对应的命令应为"SELECTTOP10*FROM图书"。
然后使用ORDERBY短语对查询结果进行降序排列。
35.有以下两个表:
读者(借书证号C,姓名C,单位C,性别L,职称C,联系电话C)
借阅(借书证号C,总编号C,借书日期D)
查询没有借阅任何图书的读者信息,不正确的SQL语句是:
A)SELECT*FROM读者WHERE借书证号<>ANY(SELECT借书证号FROM借阅)
B)SELECT*FROM读者WHERE借书证号<>ALL(SELECT借书证号FROM借阅)
C)SELECT*FROM读者WHERE借书证号NOTIN(SELECT借书证号FROM借阅)
D)SELECT*FROM读者WHERENOTEXISTS(SELECT借书证号FROM借阅;
WHERE借书证号=读者.借书证号)
参考答案:
A
【解析】"<>"为常用的特殊运算符,表示"不等于",NOTIN表示"不在一组值的范围内",EXISTS是谓词,EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。
本题查询没有任何借阅记录的图书信息,选项B、C、D均可进行查询,但是没有"any"这一说法,因此本题选A。
36.设有如下表:
读者(借书证号C,姓名C,单位C,性别L,职称C,联系电话C)
统计并显示读者人数大于等10的单位,正确的SQL语句是:
A)SELECT单位,COUNT(*)人数FROM读者GROUPBY单位WHERE人数>=10
B)SELECT单位,COUNT(*)人数FROM读者GROUPBY单位HAVING人数>=10
C)SELECT单位,SUM(*)人数FROM读者GROUPBY单位WHERE人数>=10
D)SELECT单位,SUM(*)人数FROM读者GROUPBY单位HAVING人数>=10
参考答案:
B
【解析】查询的基本形式由SELECT-FROM-WHERE查询块组成。
其中SELECT说明要查询的字段,FROM说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件。
SQL的SELECT语句中,HAVING短语用来限定分组必须满足的条件,因此首先排除A、C选项。
本题查询图书数量大于等10的出版单位,应使用COUNT函数,因此选B。
37.读者(借书证号C,姓名C,单位C,性别L,职称C,联系电话C)
借阅(借书证号C,总编号C,借书日期D)
统计每个读者借阅图书的次数,若没有借阅过,则显示次数为0,正确的SQL语句是:
A)SELECT读者.借书证号,姓名,COUNT(*)次数FROM读者LEFTJOIN借阅ON读者.借书证号=借阅.借书证号GROUPBY读者.借书证号
B)SELECT读者.借书证号,姓名,COUNT(*)次数FROM读者JOIN借阅ON读者.借书证号=借阅.借书证号GROUPBY读者.借书证号
C)SELECT读者.借书证号,姓名,COUNT(借阅.总编号)次数FROM读者LEFTJOIN借阅ON读者.借书证号=借阅.借书证号GROUPBY读者.借书证号
D)