vfp无纸化真考题16汇总.docx
《vfp无纸化真考题16汇总.docx》由会员分享,可在线阅读,更多相关《vfp无纸化真考题16汇总.docx(16页珍藏版)》请在冰点文库上搜索。
vfp无纸化真考题16汇总
无纸化真考题试题十六(2013.9)
1.下列叙述中正确的是
A)算法的效率只与问题的规模有关,而与数据的存储结构无关
B)算法的时间复杂度是指执行算法所需要的计算工作量
C)数据的逻辑结构与存储结构是一一对应的
D)算法的时间复杂度与空间复杂度一定相关
参考答案:
B
【解析】算法的效率与问题的规模和数据的存储结构都有关,A错误。
算法的时间复杂度,是指执行算法所需要的计算工作量,B正确。
由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的,C错误。
算法的时间复杂度和空间复杂度没有直接的联系,D错误。
2.下列叙述中正确的是
A)线性表链式存储结构的存储空间一般要少于顺序存储结构
B)线性表链式存储结构与顺序存储结构的存储空间都是连续的
C)线性表链式存储结构的存储空间可以是连续的,也可以是不连续的
D)以上说法均错误
参考答案:
C
【解析】线性表的顺序存储结构具备如下两个基本特征:
(1)线性表中的所有元素所占的存储空间是连续的;
(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。
因此C正确。
3.某二叉树共有12个结点,其中叶子结点只有1个。
则该二叉树的深度为(根结点在第1层)
A)3
B)6
C)8
D)12
参考答案:
D
【解析】二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0,n0=1,则n2=0,总节点数为12=n0+n1+n2=1+n1+0,则度为1的节点数n1=11,故深度为12,选D。
4.对长度为n的线性表作快速排序,在最坏情况下,比较次数为
A)n
B)n-1
C)n(n-1)
D)n(n-1)/2
参考答案:
D
【解析】快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较(n-1)+(n-2)+…+1=n(n-1)/2,选D。
5.结构化程序设计中,下面对goto语句使用描述正确的是
A)禁止使用goto语句
B)使用goto语句程序效率高
C)应避免滥用goto语句
D)以上说法均错误
参考答案:
C
【解析】结构化程序设计中,要注意尽量避免goto语句的使用,故选C。
6.下面不属于软件测试实施步骤的是
A)集成测试
B)回归测试
C)确认测试
D)单元测试
参考答案:
B
【解析】软件测试主要包括单元测试、集成测试、确认测试和系统测试。
7.下面不属于软件需求分析阶段主要工作的是
A)需求变更申请
B)需求分析
C)需求评审
D)需求获取
参考答案:
A
【解析】需求分析阶段的工作可概括为4个方面:
①需求获取。
②需求分析。
③编写需求规格说明书。
④需求审评。
8.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的
A)记录
B)行
C)属性
D)元组
参考答案:
C
【解析】自然连接是一种特殊的等值连接,它满足下面的条件:
①两关系间有公共域;②通过公共域的等值进行连接,选C。
9.
A)选择
B)差
C)交
D)并
参考答案:
B
【解析】关系T是关系R的一部分,并且是关系R去掉R和S相同的元素,符合差操作。
10.有表示公司和职员及工作的三张表,职员可在多家公司兼职。
其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),职员S(职员号,姓名,性别,年龄,学历),工作W(公司号,职员号,工资),则表W的键(码)为
A)公司号,职员号
B)职员号,工资
C)职员号
D)公司号,职员号,工资
参考答案:
A
【解析】由于职员可以在多加公司兼职,表W的键(码)应为公司关系和职员关系的主码,即公司号和职员号。
11.以下描述中正确的是:
A)数据库只包括描述事物的数据本身
B)数据库中的数据具有较小的冗余和较高的数据独立性
C)数据库系统是为数据库的建立、使用和维护而配置的软件
D)数据库管理系统是数据库集合的组成部分。
参考答案:
B
【解析】数据库是存储在计算机存储设备上的结构化的相关数据集合,它不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。
数据库中的数据具有较小的冗余和较高的数据独立性。
为数据库的建立、使用和维护而配置的软件称为数据库管理系统。
12.以下描述中错误的是:
A)层次数据模型可以表示一对多的联系
B)一张二维表就是一个关系
C)层次数据模型不能直接表示多对多的联系
D)网状数据模型不能直接表示多对多的联系
参考答案:
D
【解析】数据库管理系统所支持的数据模型分为三种:
层次模型、网状模型、关系模型。
用树形结构表示实体及其之间联系的模型称为层次模型,层次模型不能直接表示出多对多的联系。
用网状结构表示实体及其之间联系的模型称为网状模型,网状模型能方便地表示各种类型的联系。
用二维表结构来表示实体以及实体之间联系的模型称为关系模型,在关系型数据库中,一张二维表就是一个关系,每一个关系都是一个二维表。
13.传统的集合运算包括
A)并、差和选择
B)并、交和投影
C)交、差和选择
D)并、差和交
参考答案:
D
【解析】对关系数据库进行查询时,要找到用户所需的数据,这就需要对关系进行一定的关系运算。
关系运算分为传统的集合运算(并、差、交)和专门的关系运算(选择、投影、连接)两种。
14.参照完整性规则的更新规则中"级联"的含义是
A)更新父表中的连接字段值时,用新的连接字段值自动修改子表中的所有相关记录
B)若子表中有与父表相关的记录,则禁止修改父表中的连接字段值
C)父表中的连接字段值可以随意更新
D)父表中的连接字段值在任何情况下都不允许更新
参考答案:
A
【解析】参照完整性约束包括更新规则、删除规则和插入规则。
更新规则规定了当更新父表中的记录时,如何处理子表中相关记录。
在更新规则中选择"级联"的含义是当更新父表中的连接字段(主关键字)值时,自动修改子表中的所有相关记录。
15."查询"菜单下的"查询去向"命令指定了查询结果的输出去向,输出去向不包括
A)报表
B)标签
C)文本文件
D)图形
参考答案:
C
【解析】选择"查询→查询去向"菜单,"查询去向"对话框包括浏览、临时表、表、图形、屏幕、报表和标签,并没有文本文件,因此选C。
16.下面对视图的描述中错误的是
A)通过视图可以查询表
B)通过视图可以修改表的结构
C)通过视图可以更新表中的数据
D)通过自由表不能建立视图(错误!
应为:
通过自由表可以建立视图。
)
参考答案:
B
【解析】视图是操作表的一种手段,通过视图可以查询表,也可以更新表。
视图是根据表定义的,因此视图基于表。
视图是数据库的一个特有功能,只有在包含视图的数据库打开时,才能使用视图。
在自由表中可以建立视图。
17.打开查询设计器建立查询的命令是
A)CREATEQUERY
B)OPENQUERY
C)DOQUERY
D)EXECQUERY
参考答案:
A
【解析】建立查询的方法主要有以下几种:
①通过新建对话框,选择"文件→新建"菜单,在弹出的"新建"对话框中选择"查询",单击"新建文件"按钮打开查询设计器建立查询;
②用CREATEQUERY命令打开查询设计器来建立查询;
③在项目管理器的数据选项卡中选择"查询",单击"新建"按钮打开查询设计器建立查询;
4也可以利用SQLSELECT语句直接编辑.qpr文件来建立查询。
18.数据库系统的核心是
A)表
B)文件
C)数据库管理系统
D)数据库管理员
参考答案:
C
【解析】数据库系统由五部分组成:
硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和用户。
其中数据库(DB)和数据库管理系统(DBMS)是数据库系统(DBS)的组成部分,数据库又是数据库管理系统的管理对象。
数据库管理系统是数据库系统的核心。
19.关系的基本运算包括
A)连接、选择和投影
B)并、交和差
C)排序、连接和选择
D)选择、投影和排序
参考答案:
A
【解析】对关系数据库进行查询时,要找到用户所需的数据,这就需要对关系进行一定的关系运算。
关系运算分为传统的集合运算(并、差、交)和专门的关系运算(选择、投影、连接)两种。
20.以下关于数据管理发展的描述错误的是
A)文件系统阶段的数据可以长期保存
B)数据库系统阶段仍没有解决数据独立性问题
C)数据库系统阶段实现了对数据的共享
D)人工管理阶段存在大量数据冗余
参考答案:
B
【解析】文件系统阶段数据以文件形式长期保存下来,因此A选项描述正确。
数据库系统阶段实现数据共享,减少数据冗余,具有较高的数据独立性,因此B选项描述错误,C选项描述正确。
人工管理阶段数据与程序不具有独立性,程序与程序之间存在大量的重复数据,称为数据冗余,因此D选项描述正确。
21.下列程序段执行后,内存变量S的值是
CLEAR
S=0
FORI=10TO100STEP10
S=S+I
ENDFOR
?
S
A)不能确定
B)0
C)450
D)550
参考答案:
D
【解析】FOR-ENDFOR是循环的结构的一种,先将初值赋给循环变量,然后判断循环条件是否成立,若成立,则运行循环体,然后循环变量增加一个步长值,并在次判断循环条件确定下一次的循环操作,如果条件不成立则结束循环运行ENDFOR后的语句。
运行本题的程序后,主窗口显示550。
22.下列程序段执行后,内存变量e的值是
a=10
b=20
c=30
d=IIF(a>b,a,b)
e=IIF(c>d,c,d)
A)10
B)20
C)30
D)550
参考答案:
C
【解析】IIF(<逻辑表达式>,<表达式1>,<表达式2>)为条件测试函数,测试<逻辑表达式>的值。
若为逻辑真.T.,函数返回<表达式1>的值;若为逻辑假.F.,函数返回<表达式2>的值。
因此d=20,e=30。
故C选项正确。
23.下列程序段执行后,内存变量s1的值是
s1="奥运会游泳比赛"
s1=right(s1,4)+substr(s1,7,4)+left(s1,4)
?
s1
A)奥运比赛游泳
B)游泳比赛奥运
C)比赛游泳奥运
D)奥运游泳比赛
参考答案:
C
【解析】RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值,SUBSTR()从指定表达式值的指定起始位置取指定长度的子串作为函数值,LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值。
本题s1="奥运会游泳比赛",right(s1,4)=比赛,substr(s1,7,4)=游泳,left(s1,4)=奥运,即C选项正确。
24.表示2012年9月10日的日期常量是
A){^2012-09-10}
B){-2012-09-10}
C){/2012-09-10}
D){2012-09-10}
参考答案:
A
【解析】本题考查日期常量的格式,日期型常量的格式有两种:
1传统的日期格式。
月、日各为2位数字,而年份可以是2位数字,也可以是4位数字。
系统默认的日期型数据为美国日期格式"mm/dd/yy"(月/日/年)。
2严格的日期格式。
表示为{^yyyy-mm-dd},用这种格式书写的日期常量能表达一个确切的日期。
书写时要注意:
花括号内第一个字符必须是脱字符(^);年份必须用4位(如2010、2011等);年月日的次序不能颠倒、不能缺省。
25.下列程序段执行以后,内存变量X和Y的值是
CLEAR
STORE3TOX
STORE5TOY
SETUDFPARMSTOREFERENCE
DOPLUSWITH(X),Y
?
X,Y
PROCEDUREPLUS
PARAMETERSA1,A2
A1=A1+A2
A2=A1+A2
ENDPROC
A)58
B)813
C)513
D)313
参考答案:
D
【解析】STORE<表达式>TO<内存变量名表>为内存变量的赋值命令,用于计算表达式并将表达式值赋给一个或多个内存变量。
PARAMETERS<形参变量1>[,<形参变量2>,…]是接收参数的命令,本题A1=A1+A2,最后的运行结果为3;A2=A1+A2,最后的运行结果为13。
26.下列程序段执行以后,内存变量y的值是
CLEAR
x=56789
y=0
DOWHILEx>0
y=y+x%10
x=int(x/10)
ENDDO
?
y
A)56789
B)98765
C)35
D)15
参考答案:
C
【解析】DOWHILE-ENDDO是一个功能全面使用频率较高的循环语句,运行该语句时,先判断<条件>是否为真,如果是真则运行DOWHILE与ENDDO间的循环体,当运行到ENDDO时,再返回DOWHILE重新判断循环条件是否为真,确定是否再次运行循环体。
若条件为假则结束循环语句运行ENDDO后的语句。
本题x=56789,y=y+x%10的最后运算结果为35。
27.下列程序段执行后,内存变量s1的值是
s1="奥运会游泳比赛"
s1=stuff(s1,7,4,"田径")
?
s1
A)奥运会游泳比赛
B)奥运会田径比赛
C)奥运会田径
D)奥运会游泳
参考答案:
B
【解析】STUFF(<字符表达式1>,<起始位置>,<长度>,<字符表达式2>)为子串替换函数,用<字符表达式2>值替换<字符表达式1>中由<起始位置>和<长度>指定的一个子串。
替换和被替换的字符个数不一定相等。
如果<长度>值是0,<字符表达式2>则插在由<起始位置>指定的字符前面。
如果<字符表达式2>值是空串,那么<字符表达式1>中由<起始位置>和<长度>指定的子串被删去。
本题正确答案为B。
28.表名为Employee的表结构是(职工号,姓名,工资),建立表Employee的SQL命令是
A)CREATETABLEEmployee(职工号C(10),姓名C(20),工资Y)
B)CREATEEmployeeTABLE(职工号C(10),姓名C(20),工资Y)
C)CREATEDATABASEEmployee(职工号C(10),姓名C(20),工资Y)
D)CREATEEmployeeDATABASE(职工号C(10),姓名C(20),工资Y)
参考答案:
A
【解析】在visualfoxpro中可以通过SQL的CREATETABLE命令建立表,其语法格式为:
CREATETABLE|DBF<表名1>[NAME<长文件名>][FREE]
(<字段名1><类型>[(<字段宽度>[,<小数位数>])]
[NULL|NOTNULL]
[CHECK<逻辑表达式1>[ERROR<字符型文本提示信息>]]
[DEFAULT<表达式1>]
[PRIMARYKEY|UNIQUE]
[REFERENCES<表名2>[TAG<索引名1>]]
[NOCPTRANS][,<字段名2>…]
[,PRIMARYKEY<表达式2>TAG<索引名2>
|,UNIQUE<表达式3>TAG<索引名3>]
[,FOREIGNKEY<表达式4>TAG<索引名4>[NODUP]
REFERENCES<表名3>[TAG<索引名5>]]
[,CHECK<逻辑表达式2>[ERROR<字符型文本提示信息>]])
|FROMARRAY<数组名>
29.插入一条记录到表结构为(职工号,姓名,工资)的表Employee中,正确的SQL命令是
A)INSERTTOEmployeeVALUES("19620426","李平",8000)
B)INSERTINTOEmployeeVALUES("19620426","李平",8000)
C)INSERTINTOEmployeeRECORD("19620426","李平",8000)
D)INSERTTOEmployeeRECORD("19620426","李平",8000)
参考答案:
B
【解析】INSERTINTO<表名>[(字段名1[,字段名2,……])]VALUES(字段值1[,字段值2,……])命令用于插入数据,只有B选项格式正确。
30.将表结构为(职工号,姓名,工资)的表Employee中所有职工的工资增加20%,正确的SQL命令是
A)CHANGEEmployeeSET工资=工资*1.2
B)CHANGEEmployeeSET工资WITH工资*1.2
C)UPDATEEmployeeSET工资=工资*1.2
D)UPDATEEmployeeSET工资WITH工资*1.2
参考答案:
C
【解析】更新数据的命令格式为:
UPDATE表名SET字段名1=表达式1[,字段名2=表达式2……][WHERE条件]。
一般使用WHERE子句指定更新的条件,并且一次可以更新多个字段;如果不使用WHERE子句,则更新全部记录。
本题要使"Employee"表中所有职工的工资增加20%,应设置表达式为"工资=工资*1.2",即C选项正确。
31.为Employee表增加一个字段"出生日期",正确的SQL语句是
A)CHANGETABLEEmployeeADD出生日期D
B)ALTERDBFEmployeeADD出生日期D
C)ALTERTABLEEmployeeADD出生日期D
D)CHANGETABLEEmployeeINSERT出生日期D
参考答案:
C
【解析】修改表结构可使用ALTERTABLE命令,为表增加字段的命令格式为:
ALTERTABLE<表名>
ADD[COLUMN]<字段类型>[<长度>[,<小数位数>])][NULL|NOTNULL]
[CHECK<逻辑表达式1>[ERROR<字符型文本提示信息>]][DEFAULT<默认值表达式>]
[ADDPRIMARYKEY<索引表达式2>TAG<索引名1>]
[ADDUNIQUE<索引表达式3>TAG<索引名2>]
选项A、B、D的格式错误,C为正确答案。
32.删除Employee表中职工号为"19620426"的记录,正确的SQL语句是
A)DELETEFROMEmployeeWHILE职工号="19620426"
B)DELETEFOREmployeeWHERE职工号="19620426"
C)DELETEFOREmployeeWHILE职工号="19620426"
D)DELETEFROMEmployeeWHERE职工号="19620426"
参考答案:
D
【解析】删除数据的命令格式为:
DELETEFROM表名[WHERE条件],WHERE指定被删除的记录所满足的条件,因此选D。
33.在表结构为(职工号,姓名,工资)的表Employee中查询职工号的左4位为"1962"的职工的最高工资值,正确的SQL命令是
A)SELECTMAX(工资)FROMEmployeeWHERERIGHT(职工号,4)="1962"
B)SELECTMIN(工资)FROMEmployeeWHERELEFT(职工号,4)="1962"
C)SELECTMAX(工资)FROMEmployeeWHERELEFT(职工号,4)="1962"
D)SELECTMAX(工资)FROMEmployeeWHILELEFT(职工号,4)="1962"
参考答案:
C
【解析】本题考查的简单计算查询,求最大值的函数是MAX()。
RIGHT()和LEFT()均为取子串函数,其中LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值,RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值。
查询职工号的左4位为"1962"的职工应使用LEFT(职工号,4)="1962",因此C选项正确。
34.Employee的表结构为:
职工号、单位号、工资,Department的表结构为:
单位号、单位名称、人数,查询工资多于12000的职工号和他们所在单位的单位名称,正确的SQL命令是
A)SELECT职工号,单位名称FROMEmployee,Department;
WHERE工资>12000ANDEmployee.单位号=Department.单位号
B)SELECT职工号,单位名称FROMEmployee,Department;
WHERE工资>12000OREmployee.单位号=Department.单位号
C)SELECT职工号,单位名称FROMEmployee,Department;
WHERE工资>12000ANDEmployee.单位号=Department.职工号
D)SELECT职工号,单位名称FROMEmployee,Department;
WHERE工资>12000OREmployee.单位号=Department.职工号
参考答案:
A
【解析】本题考查简单的连接查询,SELECT指定查询显示的字段,在WHERE子句中指定连接条件(连接的字段名前要加上表名做为前缀,表名和字段名之间用"."隔开),在FROM子句中指定要连接的表。
本题查询工资多于12000的职工号,A选项的命令正确。
35.Employee的表结构为:
职工号、单位号、工资,Department的表结构为:
单位号、单位名称、人数,查询至少有3名职工的每个单位的职工人数和平均工资。
正确的SQL命令是
A)SELECT单位号,COUNT(*),AVG(工资)FROMEmployeeGROUPBY单位号WHERECOUNT(*)>=3
B)SELECT单位号,COUNT(*),AVG(工资)FROMEmployeeGROUPBY单位号HAVINGCOUNT(*)>=3
C)SELECT单位号,AVG(工资)FROMEmployeeGROUPBY单位号HAVINGCOUNT(*)>=3
D)SELECT单位号,COUNT(*),AVG(工资)FROMEmployeeORDERBY单位号HAVINGCOUNT(*)>=3
参考答案:
B
【解析】COUNT用于统计表中元组的个数(即统计输出的行数),AVG用于计算一个数据列的平均值,本题要查询每个单位的职工人数和平均工资,首先排除C选项。
使用GROUPBY子句进行分组,而ORDERBY用于排序,排除D选项。
题目要求计算至少有3名职工的单位信息,应使用HAVING子句来限制分组后的条件,因此B选项正确。
36.Employee的