vfp无纸化真考题19讲解.docx
《vfp无纸化真考题19讲解.docx》由会员分享,可在线阅读,更多相关《vfp无纸化真考题19讲解.docx(19页珍藏版)》请在冰点文库上搜索。
vfp无纸化真考题19讲解
无纸化真考题试题十九(2014.3)
1.下列叙述中正确的是
A)栈与队列都只能顺序存储
B)循环队列是队列的顺序存储结构
C)循环链表是循环队列的链式存储结构
D)栈是顺序存储结构而队列是链式存储结构
参考答案:
B
【解析】栈是所有的插入与删除都限定在表的同一端进行的线性表;队列是指允许在一端进行插入,而在另一端进行删除的线性表,二者均即可以顺序存储也可以链式存储。
为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列,因此循环队列是队列的一种顺序存储结构,B选项正确。
2.设某二叉树的前序序列为ABC,中序序列为CBA,则该二叉树的后序序列为
A)BCA
B)CBA
C)ABC
D)CAB
参考答案:
B
【解析】二叉树遍历可以分为3种:
前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
前序序列为ABC,则A为根节点。
中序序列为CBA,则C和B均为左子树节点或右子树节点,且B为C父节点,可知后序序列为CBA,B选项正确。
(原解析错误!
)
3.下列排序方法中,最坏情况下时间复杂度最小的是
A)冒泡排序
B)快速排序
C)堆排序
D)直接插入排序
参考答案:
C
【解析】在最坏情况下,对长度为n的线性表排序,冒泡排序、快速排序、直接插入排序的时间复杂度均为O(n2),堆排序时间复杂度为O(nlog2n),复杂度最小。
C选项正确。
4.为了对有序表进行对分查找,则要求有序表
A)只能顺序存储
B)只能链式存储
C)可以顺序存储也可以链式存储
D)任何存储方式
参考答案:
A
【解析】二分法查找也称折半查找,是一种高效的查找方法。
能使用二分法查找的线性表必须满足两个条件:
用顺序存储结构;线性表是有序表。
A选项正确。
5.软件设计中模块划分应遵循的准则是
A)低耦合低内聚
B)高耦合高内聚
C)低耦合高内聚
D)内聚与耦合无关
参考答案:
C
【解析】模块的独立程度可以由两个定性标准度量:
内聚性和耦合性。
耦合衡量不同模块彼此间互相依赖(连接)的紧密程度。
内聚衡量一个模块内部各个元素彼此结合的紧密程度。
一般来说,要求模块之间的耦合尽可能弱,即模块尽可能独立,且要求模块的内聚程度尽可能高。
内聚性和耦合性是一个问题的两个方面,耦合性程度弱的模块,其内聚程度一定高。
C选项正确。
6.下面属于整数类的实例是
A)0x518
B)0.518
C)"-518"
D)518E-2
参考答案:
A
【解析】整数类实例包括:
十进制常量用0~9表示,不能以0开头;八进制常量用0~7表示,必须用0开头;十六进制常量用0~9和A~F(a~f)表示,必须以0x或0X开头。
A选项正确。
B选项是浮点数实例,C选项是字符串实例,D选项为科学计数法表示的浮点数实例。
7.下面属于白盒测试方法的是
A)边界值分析法
B)基本路径测试
C)等价类划分法
D)错误推测法
参考答案:
B
【解析】白盒测试是把程序看成装在一只透明的白盒子里,测试者完全了解程序的结构和处理过程。
它根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。
白盒测试的主要技术有逻辑覆盖测试、基本路径测试等,B选项正确。
常用的黑盒测试方法和技术有:
等价类划分法、边界值分析法、错误推测法和因果图等,A、C、D选项错误。
8.设有一个商店的数据库,记录客户及其购物情况,由三个关系组成:
商品(商品号,商品名,单价,商品类别,供应商),客户(客户号,姓名,地址,电邮,性别,身份证号),购买(客户号,商品号,购买数量),则关系购买的键为
A)客户号
B)商品号
C)客户号,商品号
D)客户号,商品号,购买数量
参考答案:
C
【解析】候选键(码)是二维表中能唯一标识元组的最小属性集。
一个二维表有多个候选码,则选定其中一个作为主键(码)供用户使用。
在购买关系中,商品号、客户号、购买数量均不能唯一标识元组,每一个单独的属性集都不能作为键,但商品号与客户号构成的集合与三者构成的集合都可以唯一标识购买关系,而前者为最小属性集,故商品号与客户号构成的集合为候选键,C选项正确。
9.有两个关系R,S如下,由关系R和S通过运算得到关系T,则所使用的操作为
A)并
B)自然连接
C)差
D)交
参考答案:
D
【解析】常用的扩充运算有交、除、连接及自然连接等。
并:
RS是将S中的记录追加到R后面。
差:
R-S结果是属于R但不属于S的记录组成的集合。
交:
RS结果是既属于R又属于S的记录组成的集合。
自然连接:
去掉重复属性的等值连接。
交运算结果为a0k1,D选项正确。
10.在数据库管理系统提供的数据语言中,负责数据的查询、增加、删除和修改等操作的是
A)数据定义语言
B)数据管理语言
C)数据操纵语言
D)数据控制语言
参考答案:
C
【解析】数据库管理系统提供了相应的数据语言,它们是:
数据定义语言,该语言负责数据的模式定义与数据的物理存取构建;数据操纵语言,该语言负责数据的操纵,包括查询与增、删、改等操作;数据控制语言,该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
C选项正确。
11.在VisualFoxPro中表的字段类型不包括
A)日期型
B)日期时间型
C)时间型
D)货币型
参考答案:
C
【解析】数据类型有日期型、日期时间型和货币型,没有时间型,故选择C选项。
12.在VisualFoxPro中与逻辑删除操作相关的命令包括
A)DELETE、RECALL、PACK和ZAP
B)DELETE、PACK和ZAP
C)DELETE、RECALL和PACK
D)以上都不对
参考答案:
C
【解析】删除记录中有逻辑删除和物理删除两种,逻辑删除只是在记录旁做删除标记,必要时可以去掉删除标记以恢复记录;物理删除是将那些有删除标记的记录真正删除。
DELETE命令是逻辑删除记录,即将当前表中满足条件的记录加上删除标记;RECALL命令恢复逻辑删除的记录;PACK命令用于删除带有删除标记的记录;ZAP命令删除表中的全部记录,无论是否有删除标记,使用ZAP命令删除表中的全部记录后,表结构依然存在。
故与逻辑删除有关的有DELETE、RECALL和PACK三个命令,故选择C选项。
13.使用LOCATE命令定位后,要找到下一条满足同样条件的记录应该使用命令
A)SKIP
B)CONTINUE
C)LOCATEFOR
D)GOTO
参考答案:
B
【解析】对于当前工作区打开的表,用户可以使用GOTO命令进行记录的绝对定位,直接定位,使用SKIP命令进行记录的相对定位,基准定位;使用LOCATE命令进行条件定位;使用CONTINUE命令是按照LOCATE指定的条件继续定位下一条记录,故选择B选项。
14.在VisualFoxPro安装完成后可以在"选项"对话框中进行相关设置,设置日期显示格式在哪个选项卡完成
A)显示选项卡
B)常规选项卡
C)项目选项卡
D)区域选项卡
参考答案:
D
【解析】在选项对话框中,在区域选项卡设置时间、日期、货币及数字的格式,故选择D选项正确。
15.在VisualFoxPro的项目管理器中,菜单在哪个选项卡中管理
A)数据选项卡
B)文档选项卡
C)代码选项卡
D)其他选项卡
参考答案:
D
【解析】数据选项卡包含项目中的所有数据,包括数据库、自由表和查询,故A选项错误。
文档选项卡管理项目文件中的文档文件,包括表单、报表和标签等,故B选项错误。
代码选项卡管理3大类程序,故C选项错误。
其他选项卡管理文本文件、菜单文件和其他文件,故D选项正确。
16.VisualFoxPro提供了一些"向导"可以帮助用户快速地完成一些一般性的任务,其中没有
A)菜单向导
B)表单向导
C)报表向导
D)表向导
参考答案:
A
【解析】VisualFoxPro中提供的向导主要有:
应用程序向导、数据库向导、表单向导、图形向导、导入向导、标签向导、本地视图向导、一对多表单向导、一对多报表向导、数据透视表向导、查询向导、远程视图向导、报表向导、安装向导、表向导、Web发布向导。
VF中没有菜单向导,表单向导主要用于创建表单,报表向导主要用于创建报表,表向导主要用于创建表,故选择A选项。
17.VisualFoxPro的设计器是创建和修改应用系统各种组件的可视化工具,打开设计器的方式不包括
A)使用命令方式
B)从系统的"工具"菜单选择、并打开
C)在项目管理器环境下调用、打开
D)以上都不对
参考答案:
B
【解析】设计器可以通过项目管理器和命令方式打开,故A选项和C选项正确。
设计器不能从系统的"工具"菜单打开,故B选项错误。
18.从"表单"菜单中选择"快速表单"可以打开
A)表单设计器
B)表单向导
C)表单生成器
D)表单编辑器
参考答案:
C
【解析】启动表单设计器后,选择"表单/快速表单"菜单命令,可打开表单生成器窗口制作表单,或选择表单快捷菜单的"生成器"命令,故选择C选项。
19.在VisualFoxPro中数据库表文件的扩展名是
A).dbf
B).dbc
C).dcx
D).dbt
参考答案:
A
【解析】VisualFoxPro中数据表的扩展名.dbf,故选项A正确。
.dbc是数据库文件的扩展名,.dcx是数据库索引文件的扩展名,.dbt是数据表的备注文件。
20.在VisualFoxPro中打开表的命令是
A)OPEN
B)USE
C)OpenTable
D)UseTable
参考答案:
B
【解析】USE<表名>是打开表命令的格式,故选择B选项。
21.假设变量a的值是字符串"Computer",可以正确显示该值的命令是
A)?
{a}
B)?
&a
C)?
[a]
D)?
(a)
参考答案:
D
【解析】?
<表达式>或?
?
<表达式>用于显示表达式的值,字符表达式可以是一个简单的字符型常量、变量、函数,也可以是若干个字符常量或变量的组合。
四个选项中只有(a)构成名称表达式,故D选项正确。
B宏替换后得到变量computer,显示报错!
C显示结果:
字符a
22.为了在"年月日"日期格式中显示4位年份,设置的命令是
A)SETYEARON
B)SETCENTURYON
C)SETCENTURYTO
D)SETYEARTO4
参考答案:
B
【解析】SETCENTURYON|OFF是设置年份的命令,用于设置显示日期型数据时是否显示世纪。
设置成ON时,世纪前缀,显示4位年份,设置成OFF时不要世纪前缀,显示2位年份,故选择B选项。
23.假设当前表有字段id、name和age,同时有内存变量id和name,命令"?
M->name"显示的是
A)不确定,和前面的命令有关
B)当前记录字段name的值
C)变量不唯一的出错信息
D)内存变量name的值
参考答案:
D
【解析】?
<表达式>或?
?
<表达式>用于显示表达式的值。
由于内存变量存放在独立于数据库文件的临时存储单元中,所以内存变量可以和字段变量重名。
但是这种情况下,字段变量具有更高的优先级。
如果用户想访问内存变量,需要在内存变量的名前加m.或者m->作为前缀。
M->name是内存变量,命令"?
M->name"显示的是内存变量,而不是字段变量。
故选项D正确。
24.将表的当前记录复制到数组的命令是
A)SCATTERTO<数组名>
B)COPYTO<数组名>
C)GATHERTO<数组名>
D)ARRAYTO<数组名>
参考答案:
A
【解析】SCATTERTO命令是将表的当前记录复制到数组中,GATHERFROM命令是将数组中的数据复制到当前记录中,COPY和ARRAY不是数据和数组数据之间的交换命令,故选择A选项。
25.假设变量s1的值为"数据库",变量s2的值为"VisualFoxPro数据库",表达式为假(F)的是
A)s1$s2
B)s2$s1
C)s2D)s2-s1
参考答案:
B
【解析】运算符"-"是空格移位连接符,连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部,故D选项s2-s1得到的是一字符串,不是逻辑值。
运算符"$"是子串包含测试,A选项是s1是s2的子串,为真,B选项s2不是s1的子串,为假,C选项对两个字符串从左到右逐个字符比较,当发现两个对应的字符不同时,根据两个字符的排序序列判断两个字符串的大小,C选项为真。
故选择B选项。
26.在当前工作区打开了一个包含10条记录的表,在执行了GOBOTTOM和SKIP两条命令后,如下函数返回真(T)的是
A)FOUND()
B)BOF()
C)EOF()
D)ERROR()
参考答案:
C
【解析】BOF()测试当前表文件(缺省自变量时)或指定表文件中记录指针是否指向文件首(指第一条记录前面的位置),若是则返回真,否则返回假。
EOF()用于测试当前表文件记录指针是否指向文件尾(最后一条记录后面的位置),若是则返回真,否则返回假。
执行GOBOTTOM后,记录指针指向最后一条记录,执行SKIP命令后记录指针指向最后一条记录后面的位置,则此题中的BOF()为假,EOF()为真,故选择C选项。
27.执行如下程序显示的结果是
SETTALKOFF
CLOSEALL
CLEARALL
mX="大数据设计"
mY="专为"
DOs1WITHmX
?
mY+mX
RETURN
PROCEDUREs1
PARAMETERSmX1
LOCALmX
mX="云时代的大数据"
mY="智慧运算"+mY
RETURN
A)智慧运算专为大数据设计
B)专为大数据设计
C)专为云时代的大数据
D)专为云时代的大数据设计
参考答案:
A
【解析】在主程序中mX和mY为私有变量,私有变量的作用域是建立它的模块及其下属的各层模块,当建立它的模块程序运行结束,这些私有变量也将自动清除。
在过程s1中,LOCALmX表明mX为局部变量,只能在建立它的模块(s1)中使用而不能在上层或下层模块中使用,不能在主程序中使用。
局部变量mX值的改变,不影响主程序中的变量mX,其值仍为"大数据设计"。
在过程s1中会修改mY值,在过程中mY="智慧运算"+mY="智慧运算专为",则主程序中mY就为"智慧运算专为",mX仍为"大数据设计",故mY+mX="智慧运算专为大数据设计",故选择A选项。
28.以下哪个不是SQL查询命令中的关键词
A)HAVING
B)ORDERBY
C)GROUPBY
D)LOCATE
参考答案:
D
【解析】GROUPBY用于查询结果按指定列分成集合组,使用HAVING子句可以对这些组进行限定,定义这些组所必须满足的条件。
ORDERBY是对查询结果排序。
故A、B和C选项都是查询命令的关键字。
D选项LOCATE不是查询命令的关键字。
29.SQL的数据更新命令中不包含
A)SET
B)WHERE
C)REPLACE
D)UPDATE
参考答案:
C
【解析】UPDATE、SET和WHERE都是更新命令关键词,故A、B和D选项正确。
C选项REPLACE不属于数据更新命令,故选择C选项。
30.在SQL的嵌套查询中不可以使用量词
A)ANY
B)ONE
C)SOME
D)ALL
参考答案:
B
【解析】ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。
A、C和D选项可用于子查询,即可用于嵌套查询,只有B选项不可以用于嵌套查询。
故本题选择B选项。
31.在SQL查询中将结果存储于临时表应使用短语
A)INTOTABLE
B)TOTABLE
C)TOCURSOR
D)INTOCURSOR
参考答案:
D
【解析】使用短语INTODBF|TABLETableName可以将查询结果存放到永久表中,故A选项错误。
使用短语INTOCURSORCursorName可以将查询结果存放到临时表中,其中CursorName是临时文件名,故D选项正确。
VF中没有B选项和C选项这个短语,故错误。
32.在SQL的CREATETABLE语句中和定义参照完整性有关的是
A)FOREIGNKEY
B)PRIMARYKEY
C)CHECK
D)DEFAULT
参考答案:
A
【解析】参照完整性跟表之间的联系有关,当插入、删除或修改一个表的数据时,通过参照引用相互关联的另一个表中的数据,来检验对表数据的操作是否正确。
FOREIGNKEY外键就是表与表之间的某种约定的关系,与定义参照完整性有关,故A选项正确。
PRIMARYKEY为字段创建一个主索引,CHECK值指定字段的合法值及字段值的约束条件,DEFAULT为字段指定缺省值,它们与参照完整性无关,故B、C和D选项错误。
33.假设同一种蔬菜有不同的产地,则计算每种蔬菜平均单价的SQL语句是
A)SELECT蔬菜名称,AVG(单价)FROM蔬菜GROUPBY单价
B)SELECT蔬菜名称,AVG(单价)FROM蔬菜ORDERBY单价
C)SELECT蔬菜名称,AVG(单价)FROM蔬菜ORDERBY蔬菜名称
D)SELECT蔬菜名称,AVG(单价)FROM蔬菜GROUPBY蔬菜名称
参考答案:
D
【解析】GROUPBY用于将查询结果按指定列分成集合组,使用HAVING子句可以对这些组进行限定,定义这些组所必须满足的条件。
本题中,计算每种蔬菜平均价格,应采用GROUPBY对蔬菜名称分组,即GROUPBY蔬菜名称,采用计算函数AVG计算对蔬菜名称分组后的平均单价,即AVG(单价),故选择D选项。
34.设有学生(学号,姓名,性别)和选课(学号,课程号,成绩)两个表,如下SQL语句查询选修的每门课程的成绩都大于70分(含)的学生的学号、姓名和性别,正确的是
A)SELECT学号,姓名,性别FROM学生SWHEREEXISTS;
(SELECT*FROM选课SCWHERESC.学号=S.学号AND成绩<70)
B)SELECT学号,姓名,性别FROM学生SWHERENOTEXISTS;
(SELECT*FROM选课SCWHERESC.学号=S.学号AND成绩<70)
C)SELECT学号,姓名,性别FROM学生SWHEREEXISTS;
(SELECT*FROM选课SCWHERESC.学号=S.学号AND成绩>=70)
D)SELECT学号,姓名,性别FROM学生SWHERENOTEXISTS;
(SELECT*FROM选课SCWHERESC.学号=S.学号AND成绩>=70)
参考答案:
B
【解析】EXISTS是谓词,EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。
A选项查询学生表的记录信息,使得每条记录对应的学号存在于选课表的成绩小于70分对应的学号中,即查询某一成绩小于70的学生信息,与题目要求不符,故错误。
B选项查询学生表的记录信息,使得每条记录对应的学号不存在选课表的成绩小于70分对应的学号中,即查询所有成绩都大于70(含)学生记录信息(学号、姓名和性别),与题目要求相符,故正确。
C选项查询学生表的记录信息,使得每条记录对应的学号存在于选课表成绩大于等于70分对应的学号中,即查询某一成绩大于等于70的学生信息,与题目要求不符,故错误。
D选项查询学生表的记录信息,使得每条记录对应的学号不存在选课表的成绩大于等于70分对应的学号中,即查询所有成绩都小于70(含)学生记录信息(学号、姓名和性别),与题目要求不符,故D选项错误。
35.从产品表中删除生产日期为2013年1月1日之前(含)的记录,正确的SQL语句是
A)DROPFROM产品WHERE生产日期<={^2013-1-1}
B)DROPFROM产品FOR生产日期<={^2013-1-1}
C)DELETEFROM产品WHERE生产日期<={^2013-1-1}
D)DELETEFROM产品FOR生产日期<={^2013-1-1}
参考答案:
C
【解析】此题是删除表中的部分记录,DROP是删除整个表,故不采用,A和B选项错。
DELETE是给记录添加删除标记,故此题采用DELETE命令。
在命令中用WHERE连接条件语句,不用FOR语句连接条件语句,故C选项正确,D选项错误。
36.根据"职工"表建立一个"部门"视图,该视图包括了部门编号和(该部门的)平均工资两个字段,正确的SQL语句是
A)CREATEVIEW部门AS部门编号,AVG(工资)AS平均工资FROM职工GROUPBY部门编号
B)CREATEVIEW部门ASSELECT部门编号,AVG(工资)AS平均工资FROM职工GROUPBY部门名称
C)CREATEVIEW部门SELECT部门编号,AVG(工资)AS平均工资FROM职工GROUPBY部门编号
D)CREATEVIEW部门ASSELECT部门编号,AVG(工资)AS平均工资FROM职工GROUPBY部门编号
参考答案:
D
【解析】GROUPBY用于将查询结果按指定列分成集合组,使用HAVING子句可以对这些组进行限定,定义这些组所必须满足的条件。
本题中,建立的视图包括部门编号和(该部门的)平均工资两个字段,应采用GROUPBY对部门编号分组,而不是对部门名称分组,即GROUPBY部门编号,故B选项错误。
采用分计算函数AVG计算对部门编号分组后的平均工资,即AVG(工资)。
定义视图格式CREATEVIEW视图名AS;SELECT语句。
其中SELECT语句可以是任意的SELECT查询语句,它说明和限定了视图中的数据,视图的字段名将与SELECT语句中指定的字段名同名,故A和C选项创建视图的命令格式不对,故错误。
根据以上分析,符合视图定义格式且GROUPBY语句使用正确的只有D选项,故选择D选项。
37.查询各系教师人数的正确SQL语句是
A)SELECT学院.系名,COUNT(*)AS教师人数FROM教师INNERJOIN学院;
教师.系号=学院.系号GROUPBY学院.系名
B)SELECT学院.系名,COUNT(*)AS教师人数FROM教师INNERJOIN学院;
ON系号GROUPBY学院.系名