vfp无纸化真考题18剖析.docx
- 文档编号:10428754
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:18
- 大小:28.84KB
vfp无纸化真考题18剖析.docx
《vfp无纸化真考题18剖析.docx》由会员分享,可在线阅读,更多相关《vfp无纸化真考题18剖析.docx(18页珍藏版)》请在冰豆网上搜索。
vfp无纸化真考题18剖析
无纸化真考题试题十八(2014.3)
1.下列叙述中正确的是
A)有且只有一个根结点的数据结构一定是线性结构
B)每一个结点最多有一个前件也最多有一个后件的数据结构一定是线性结构
C)有且只有一个根结点的数据结构一定是非线性结构
D)有且只有一个根结点的数据结构可能是线性结构,也可能是非线性结构
参考答案:
D
【解析】一个非空的数据结构如果满足以下两个条件:
有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件,称为线性结构,故A、B和C选项都错误;不同时满足以上两个条件的数据结构就称为非线性结构,其中树形结构只有一个根结点,D选项正确。
2.下列叙述中错误的是
A)在双向链表中,可以从任何一个结点开始直接遍历到所有结点
B)在循环链表中,可以从任何一个结点开始直接遍历到所有结点
C)在线性单链表中,可以从任何一个结点开始直接遍历到所有结点
D)在二叉链表中,可以从根结点开始遍历到所有结点
参考答案:
C
【解析】线性单链表就是指线性表的链式存储结构,这种结构只能从一个节点遍历到其后的所有节点,故C选项叙述错误;在单链表的第一个节点前增加一个表头节点,队头指针指向表头节点,所以可以从任何一个节点开始直接遍历到所有节点,最后一个节点的指针域的值由NULL改为指向表头节点,这样的链表称为循环链表;双向链表是指链表节点含有指向前一个节点的指针和指向后一个节点的指针,所以可以从任何一个节点开始直接遍历到所有节点;二叉树链表中节点指针由父节点指向子节点,可以从根节点开始遍历到所有节点,所以选项A、B、D叙述均正确。
3.某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为
A)5
B)4
C)3
D)2
参考答案:
A
【解析】在树结构中,一个节点所拥有的后件个数称为该节点的度。
对任何一棵二叉树,度为0的节点(即叶子节点)总是比度为2的节点多一个。
二叉树中有13个节点,设叶子节点个数为n0,度为1的节点个数为4,设度为2的节点个数为n2。
13=n0+4+n2且n0=n2+1,则n0=5,n2=4。
A选项正确。
4.设栈的顺序存储空间为S(1:
50),初始状态为top=0。
现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为
A)30
B)29
C)20
D)19
参考答案:
C
【解析】栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。
当栈为空时,栈顶指针top=0,经过入栈和退栈运算,指针始终指向栈顶元素。
top=20,则当前栈中有20个元素,C选项正确。
5.结构化程序包括的基本控制结构是
A)主程序与子程序
B)选择结构、循环结构与层次结构
C)顺序结构、选择结构与循环结构
D)输入、处理、输出
参考答案:
C
【解析】结构化程序包括的基本控制结构只有三种,即顺序结构、选择结构与循环结构,C选项正确。
6.程序测试的目的是
A)执行测试用例
B)发现并改正程序中的错误
C)发现程序中的错误
D)诊断和改正程序中的错误
参考答案:
C
【解析】测试的目的是发现软件中的错误,但是,暴露错误并不是软件测试的最终目的,测试的根本目的是尽可能多地发现并排除软件中隐藏的错误,C选项正确。
7.下面属于系统软件的是
A)财务管理系统
B)数据库管理系统
C)编辑软件Word
D)杀毒软件
参考答案:
B
【解析】计算机软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。
系统软件是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件,如操作系统、数据库管理系统、编译程序、汇编程序和网络软件等,B选项正确。
A、C、D选项为应用软件。
8.在关系A(S,SN,D)和B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则D是A的
A)外键(码)
B)候选键(码)
C)主键(码)
D)元组
参考答案:
A
【解析】二维表中的一行称为元组。
候选键(码)是二维表中能唯一标识元组的最小属性集。
若一个二维表有多个候选码,则选定其中一个作为主键(码)供用户使用。
表M中的某属性集是表N的候选键或者主键,则称该属性集为表M的外键(码)。
A中属性集D是B的主关键字,故D是A的外键(码),A选项正确。
9.有两个关系R,S如下,由关系R和S通过运算得到关系T,则所使用的操作为
A)并
B)自然连接
C)笛卡尔积
D)差
参考答案:
D
【解析】常用的扩充运算有交、除、连接及自然连接等。
并:
RS是将S中的记录追加到R后面。
差:
R-S结果是属于R但不属于S的记录组成的集合。
交:
RS结果是既属于R又属于S的记录组成的集合。
差运算R-S:
关系R中两条记录其中(b1n1)不属于S,所以R-S=T。
D选项正确。
10.在数据库管理系统提供的数据语言中,负责数据模式定义的是
A)数据定义语言
B)数据管理语言
C)数据操纵语言
D)数据控制语言
参考答案:
A
【解析】数据库管理系统提供了相应的数据语言,它们是:
数据定义语言,该语言负责数据的模式定义与数据的物理存取构建;数据操纵语言,该语言负责数据的操纵,包括查询与增、删、改等操作;数据控制语言,该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
A选项正确。
11.传统的集合运算包括
A)并、选择和投影
B)并、差和交
C)并、交和选择
D)交、差和投影
参考答案:
B
【解析】传统的集合运算,包括并、交、差、广义笛卡儿积四种运算,故选择B选项。
12.在VisualFoxPro中,下面的描述中正确是
A)视图就是自由表
B)没有打开任何数据库时建立的表是自由表
C)可以为自由表指定字段级规则
D)可以为自由表指定参照完整性规则
参考答案:
B
【解析】在VF中,把包含在数据库中的表称为数据库表,并把不包含在数据库中而独立存在的表称为自由表,故B选项正确,视图一定是有数据库的,并以数据库中的表或其他视图为基础,故A选项错误。
参照完整性跟数据库表之间的联系有关,自由表不属于任何一个数据库,故不可以参照完整性规则,D选项错误。
13.在VisualFoxPro中修改数据库、表单和报表等组件的可视化工具是
A)向导
B)生成器
C)设计器
D)项目管理器
参考答案:
C
【解析】向导和生成器不能用于修改数据库和报表等组件,故A、B选项错误。
设计器包括表设计器、表单设计器、报表设计器、数据环境设计器等。
表设计器用于创建和修改数据库表和自由表的结构,建立删除索引等;表单设计器用于创建并修改表单;报表设计器用于创建并修改报表;数据环境设计器用于建和修改表单或报表使用的数据源,包括表、视图及关系,故设计器是修改数据库、表单和报表等组件的可视化工具,故选C选项。
项目管理器是处理数据和对象的主要工具,用于组织和管理文件,故D选项错误。
14.在VisualFoxPro安装完成后可以在"选项"对话框中进行相关设置,设置货币符号在哪个选项卡完成
A)显示选项卡
B)常规选项卡
C)区域选项卡
D)字段选项卡
参考答案:
C
【解析】在选项对话框中,在区域选项卡设置时间、日期、货币及数字的格式,故选择C选项。
15.在VisualFoxPro的项目管理器中,表单在哪个选项卡中管理
A)数据选项卡
B)文档选项卡
C)代码选项卡
D)其他选项卡
参考答案:
B
【解析】数据选项卡包含项目中的所有数据,包括数据库、自由表和查询,故A选项错误。
文档选项卡管理项目的文档文件,包括表单、报表和标签等,故B选项正确。
代码选项卡管理3大类程序:
程序、API库和应用程序,故C选项错误。
其他选项卡管理文本文件、菜单文件和其他文件,故D选项错误。
16.VisualFoxPro提供了一些"向导"可以帮助用户快速地完成一些一般性任务,其中没有
A)标签向导
B)表单向导
C)报表向导
D)程序向导
参考答案:
D
【解析】VisualFoxPro中提供的向导主要有:
应用程序向导、数据库向导、表单向导、图形向导、导入向导、标签向导、本地视图向导、一对多表单向导、一对多报表向导、数据透视表向导、查询向导、远程视图向导、报表向导、安装向导、表向导、Web发布向导。
其中没有程序向导,故D选项错误。
17.VisualFoxPro的设计器是创建和修改应用系统各种组件的可视化工具,其中在表设计器中不可以
A)建立新表
B)修改表结构
C)建立索引
D)修改数据
参考答案:
D
【解析】在表设计器中可以创建和修改数据库表和自由表的结构,建立删除索引等,但不可以修改数据,故选D选项。
18.在表单中为了快速设计表格可以使用
A)表格生成器
B)表格向导
C)表格设计器
D)以上都不对
参考答案:
A
【解析】生成器通过一系列的"对话"来生成目标,简化了程序的开发过程,表格生成器能够设置表格控件的属性,故选择A选项。
19.在VisualFoxPro中数据库文件的扩展名是
A).dbf
B).dbc
C).dcx
D).dbt
参考答案:
B
【解析】VisualFoxPro数据库文件的扩展名是.dbc,故选项B正确。
.dbf是数据表的扩展名,.dcx是数据库索引文件扩展名,.dbt是数据库表备注文件扩展名。
20.在VisualFoxPro中建立表的命令是(非SQL命令)
A)CREATEGRID
B)CREATEDATABASE
C)CREATETABLE
D)CREATE
参考答案:
D
【解析】通过命令方式建立数据库表的格式CREATE[<表名>|?
],如果不输入表名或者使用"?
",则打开"创建"对话框,让用户输入表名,故D选项正确。
21.以下哪个不是字符型常量
A)"Computer"
B)[Computer]
C)'Computer'
D)(Computer)
参考答案:
D
【解析】字符型常量是用定界符括起来的由字符、数字、汉字以及空格符所组成的字符串。
定界符是指用一对半角的单引号、双引号或方括号将字符串括起来,故选项A、B和C正确,选项D错误。
22.将日期格式设置为中国习惯的"年月日"格式的命令是
A)SETDATETOYMD
B)SETDATETOYYYY/MM/DD
C)SETDATETOY/M/D
D)SETDATETO年月日
参考答案:
A
【解析】SETDATETOYMD是设置日期的命令,短语YMD格式YYYY/MM/DD是中国习惯的"年月日"格式,故选项A正确。
23.假设当前表有字段id、name和age,同时有内存变量id和name,命令"?
name"显示的是
A)不确定,和前面的命令有关
B)当前记录字段name的值
C)变量不唯一的出错信息
D)内存变量name的值
参考答案:
B
【解析】?
<表达式>或?
?
<表达式>用于输出表达式的值,同名情况下,字段变量name优先于内存变量name,?
name显示当前记录name的值,故选择B选项。
24.将数组的数据复制到当前表中当前记录的命令是
A)SCATTERFROM<数组名>
B)COPYFROM<数组名>
C)GATHERFROM<数组名>
D)DATEFROM<数组名>
参考答案:
C
【解析】SCATTERTO命令是将表的当前记录复制到数组中,GATHERFROM命令是将数组中的数据复制到当前记录中,COPY和DATE不是数据和数组数据之间的交换命令,故选择C选项。
25.假设变量s1的值为"数据库",变量s2的值为"VisualFoxPro数据库",表达式的值为真(T)的是
A)s1$s2
B)s2$s1
C)s2=s1
D)s2>s1
参考答案:
A
【解析】运算符$是子串包含测试,A选项测试s1是否为s2的子串,为真;B选项s2不是s1的子串,为假;C选项s2=s1,s1和s2不相同,为假,故选择A选项。
26.假设变量s2的值为"VisualFoxPro数据库",表达式的值为"数据库"的是
A)SUBSTR(s2,3,6)
B)RIGHT(s2,6)
C)LEFT(s2,6)
D)AT(s2,6)
参考答案:
B
【解析】SUBSTR(<字符表达式>,<起始位置>[,<长度>])从给定字符串的指定位置开始取指定长度的子串。
若省略<长度>或<长度>大于剩下的字符长度时则从指定的起始位置开始截取剩余的字符串。
函数值为字符型。
A选项中SUBSTR(s2,3,6)返回字符串s2从第三个字符开始长度为6的字符子串,即为"sualF",故选项A错误。
RIGHT(<字符表达式>,<长度>)返回给定字符串右端取指定长度的子串,B选项中RIGHT(s2,6)返回s2右边长度为6的子串,即"数据库",故选项B正确。
LEFT(<字符表达式>,<长度>)返回给定字符串左端取指定长度的子串,C选项中LEFT(s2,6)返回s2左边长度为6的子串,即"Visual",故C选项错误。
AT(<字符表达式1>,<字符表达式2>[,<数值表达式>])返回找出<字符表达式1>在<字符表达式2>中的起始位置,值为数值型,故选项D错误。
27.执行如下程序段将打开表
X='GRADE.DBF/CLASS.DBF/STUDE.DBF'
Y='/'
L=AT('/',X)+1
F=SUBSTR(X,L,5)
USE&F
A)GRADE
B)语法错
C)STUDE
D)CLASS
参考答案:
D
【解析】AT(<字符表达式1>,<字符表达式2>[,<数值表达式>])
返回<字符表达式1>在<字符表达式2>中出现的位置。
若没有出现,则返回0。
AT('/',X)=10,L=AT('/',X)+1=10+1=11。
SUBSTR(<字符表达式>,<起始位置>[,<长度>])从给定字符串的指定位置开始取指定长度的子串。
若省略<长度>或<长度>大于剩下的字符长度时则从指定的起始位置开始截取剩余的字符串。
函数值为字符型。
F=SUBSTR(X,L,5)则是从X字符串的第11开始,取5个字符,得到字符串CLASS,故选择D选项。
28.不属于SQL操纵命令的是
A)REPLACE
B)INSERT
C)DELETE
D)UPDATE
参考答案:
A
【解析】INSERT、UPDATE和DELETE命令属于SQL数据操作命令,REPLACE不是SQL操作命令,故选择A选项。
29.SQL的数据插入命令中不会出现的关键字是
A)INSERT
B)APPEND
C)INTO
D)VALUES
参考答案:
B
【解析】INSERT命令用于在一个表中添加新记录,然后给新记录的字段赋值。
插入有两种格式。
第一种格式INSERTINTOdbf_name[(fname1[,fname2,…])]VALUES(eExpression1[,eExpression2,…])INTOdbf_name指出要添加的新记录的表名,fname1[,fname2,…]字段名表,插入记录不完整时使用,VALUES指出要输入到新记录的指定字段中的数据值。
在标准命令中,A、C和D选项都是其插入命令的关键字,A、C和D选项正确。
B选项的APPEND命令不是其关键字。
第二种格式为INSERTINOTdbf_nameFROMARRAYArrayName|FROMMEMVAR,其中FROMARRAYArrayName说明从指定的数组中插入记录值,FROMMENVAR说明根据同名的内存变量来插入记录值,如果同名的变量不存在,那么相应的字段为默认值或空值。
在第二种格式中B选项APPEND命令也不是其关键字,故B选项错误。
30.在SQL连接查询中和JOIN等价的是
A)INNERJOIN
B)LEFTJOIN
C)RIGHTJOIN
D)FULLJOIN
参考答案:
A
【解析】INNERJOIN等价于JOIN,为普通连接,在VF中称为内部连接,LEFTJOIN为左连接,RIGHTJOIN为右连接。
FULLJOIN可以称为全连接,即两个表中的记录不管是否满足连接条件,结果都在目标表或查询结果中出现,不满足连接条件的记录对应的部分为NULL。
故选择A选项。
31.在SQL查询中将结果存储于指定表应使用短语
A)INTOTABLE
B)TOTABLE
C)TOCURSOR
D)INTOCURSOR
参考答案:
A
【解析】使用短语INTODBF|TABLETableName可以将查询结果存放到永久表中,故A选项正确。
短语INTOCURSORCursorName可以将查询结果存放到临时表中,其中CursorName是临时表的文件名。
32.在SQL的CREATETABLE语句中定义外部关键字需使用
A)OUT
B)PRIMARYKEY
C)REFERENCE
D)CHECK
参考答案:
C
【解析】OUT和定义外部关键字无关,故A选项错误。
PRIMARYKEY为字段创建一个主索引,主索引字段必须唯一,故B选项错误。
REFERENCE是以指定字段的为索引关键字来建立外索引,故C选项正确。
CHECK值指定字段的合法值及字段值的约束条件,故D选项错误。
33.假设"学生"表中有学号、专业和成绩字段,正确的SQL语句只能是
A)SELECT专业FROM学生GROUPBY专业HAVINGAVG(成绩)>80WHERECOUNT(*)>3
B)SELECT专业FROM学生GROUPBY专业HAVINGCOUNT(*)>3ANDAVG(成绩)>80
C)SELECT专业FROM学生GROUPBY专业HAVINGCOUNT(*)>3WHEREAVG(成绩)>80
D)SELECT专业FROM学生GROUPBY专业WHERECOUNT(*)>3ANDAVG(成绩)>80
参考答案:
B
【解析】加上GROUPBY子句后,系统会将查询结果按指定列分成集合组,使用HAVING子句可以对这些组进行限定,定义这些组所必须满足的条件。
AVG和COUNT都是计算函数。
当一个计算函数和一个GROUPBY子句一起使用时,计算函数的范围变为每组所有的记录。
HAVING子句和WHERE子句不矛盾,在查询中是先用WHERE子句限定元组,然后进行分组,最后用HAVING子句限定。
四个选项中只有B选项HAVINGCOUNT(*)>3ANDAVG(成绩)>80正确使用了计算函数和HAVING子句,故选择B选项。
34.要使"产品"表中所有产品的单价下浮8%,正确的SQL命令是
A)UPDATE产品SET单价=单价-单价*8%FORALL
B)UPDATE产品SET单价=单价*0.92FORALL
C)UPDATE产品SET单价=单价-单价*8%
D)UPDATE产品SET单价=单价*0.92
参考答案:
D
【解析】对产品表中的所有产品单价下浮8%,即单价为原单价的0.92,故应"SET单价=单价*0.92",故D选项正确。
在UPDATE中没有FORALL关键字,故B选项错误。
在VF中"%"是取余符号,故A选项、C选项错误。
35.查询工资在3000到5000之间的职工信息的正确SQL语句是
A)SELECT*FROM职工WHERE工资BETWEEN3000AND5000
B)SELECT*FROM职工WHERE工资>3000AND工资<5000
C)SELECT*FROM职工WHERE工资>3000OR工资<5000
D)SELECT*FROM职工WHERE工资<=3000AND工资>=5000
参考答案:
A
【解析】查询工资在3000到5000之间的职工信息的筛选条件是5000>=工资>=3000,选项中所列取的筛选条件只有A选项正确,BETWEEN...AND运算符用来限定范围。
36.与"SELECTDISTINCT系号FROM教师WHERE工资>=(SELECTMAX(工资)FROM教师WHERE系号="02")"等价的SQL语句是
A)SELECTDISTINCT系号FROM教师WHERE工资>=ALL;
(SELECT工资FROM教师WHERE系号="02")
B)SELECTDISTINCT系号FROM教师WHERE工资>=ANY;
(SELECT工资FROM教师WHERE系号="02")
C)SELECTDISTINCT系号FROM教师WHERE工资>=SOME;
(SELECT工资FROM教师WHERE系号="02")
D)以上都不对
参考答案:
A
【解析】ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。
"SELECTDISTINCT系号FROM教师WHERE工资>=(SELECTMAX(工资)FROM教师WHERE系号="02")"的意思是查询教师工资大于等于02系最高工资教师所在系的系号。
ALL是所有的意思,A选项语句是查询比系号为02的所有教师工资都高的教师所在系的系号,其中,比系号为02的所有教师工资都高,和题目中的比系号为02的教师最高工资高,这两者是等价的,故A选项正确。
ANY表示任意,B选项语句是查询比系号为02的任意一个教师工资都高的教师所在系的系号,在比较对象上,B选项的系号为02的任意的教师工资,与题目中系号为02的教师最高工资这两者显然不等价,故B选项错误。
SOME表示一些,B选项语句是查询比系号为02的部分教师工资高的教师所在的系的系号。
在比较对象上,系号为02的部分教师工资与比题目中系号为02的教师最高工资这两者也不等价,故C选项错误。
37.设有学生(s)、课程(c)和选课(sc)三个表,创建一个名称为"计算机系"的视图,该视图包含计算机系学生的学号、姓名和学生所选课程的课程名及成绩,正确的SQL命令是
A)CREATEVIEW计算机系ASSELECTs.学号,姓名,课程名,成绩FROMs,sc,c;
ONs.学号=sc.学号ANDsc.课程号=c.课程号AND院系='计算机系'
B)CREATEVIEW计算机系ASSELECT学号,姓名,课程名,成绩FROMs,sc,c;
WHEREs.学号=sc.学号ANDsc.课程号=c.课程号AND院系='计算机系'
C)CREATEVIEW计算机系ASSELECT学号,姓名,课程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp 无纸化 考题 18 剖析