VF复习冲刺课选择题.docx
《VF复习冲刺课选择题.docx》由会员分享,可在线阅读,更多相关《VF复习冲刺课选择题.docx(24页珍藏版)》请在冰点文库上搜索。
VF复习冲刺课选择题
第一章数据结构与算法
1.算法的基本概念
算法是指解题方案的准确而完整的描述。
算法的基本特征:
可行性、确定性、有穷性、拥有足够的情报。
······(理解各自的含义)
2.算法复杂度
算法复杂度包括时间复杂度和空间复杂度。
··············(理解)
时间复杂度
是指执行算法所需要的计算工作量
空间复杂度
是指执行这个算法所需要的内存空间
例题1.算法的复杂度主要包括:
时间复杂度和___复杂度。
答案:
空间
例题2.下面叙述正确的是_____。
A.算法的执行效率与数据的存储结构无关
B.算法的空间复杂度是指算法程序中指令(或语句)的条数
C.算法的有穷性是指算法必须能在执行有限个步骤之后终止
D.以上三种描述都不对
答案:
C
3.数据结构
数据的逻辑结构是对数据元素之间的逻辑关系的描述。
数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,有四种形式:
顺序存储,链式存储,索引存储,散列存储。
例题3.数据的存储结构是指______。
A.数据所占的存储空间量
B.数据的逻辑结构在计算机中的表示
C.数据在计算机中的顺序存储方式
D.存储在外存中的数据
答案:
B
根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:
线性结构与非线性结构。
线性结构:
(1)有且只有一个根结点;
(2)每一个结点最多有一个前件,也最多有一个后件。
栈、队列、串等都线性结构。
如果一个数据结构不是线性结构,则称之为非线性结构。
广义表、树和图等数据结构都是非线性结构。
4.栈:
a、限定只在一端进行插入与删除的线性表。
称插入、删除的这一端为栈顶,另一端为栈底。
当表中没有元素时称为空栈。
b、“后进先出”的原则:
栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。
C、栈的基本运算有三种:
入栈、退栈与读栈顶元素。
5.队:
a、只允许在一端进行删除,在另一端进行插入的顺序表,通常将允许删除的这一端称为队头,允许插入的这一端称为队尾。
当表中没有元素时称为空队列。
B、先进先出的原则·················最先被插入的元素,最先被删除
例题4.以下数据结构中不属于线性数据结构的是______。
A.队列B.线性表C.二叉树D.栈
答案:
C
6.链表:
链式存储方式既可用于表示线性结构,也可用于表示非线性结构。
7.二叉树及其基本性质:
A、二叉树是一种很有用的非线性结构,具有以下两个特点:
①非空二叉树只有一个根结点;
②每一个结点最多有两棵子树,且分别称为该结点的左子树和右子树。
在二叉树中,每一个结点的度最大为2,即所有子树(左子树或右子树)也均为二叉树.当一个结点既没有左子树也没有右子树时,该结点即为叶子结点。
父结点(根)
在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。
例如,在图1-1中,结点A是树的根结点。
子结点和
叶子结点
在树结构中,每一个结点可以有多个后件,称为该结点的子结点。
没有后件的结点称为叶子结点。
例如,在图1-1中,结点D,E,F均为叶子结点。
度
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。
例如,在图1-1中,根结点A和结点B的度为2,结点C的度为1,叶子结点D,E,F的度为0。
所以,该树的度为2。
深度
定义一棵树的根结点所在的层次为1,其他结点所在的层次等于它的父结点所在的层次加1。
树的最大层次称为树的深度。
例如,在图1-1中,根结点A在第1层,结点B,C在第2层,结点D,E,F在第3层。
该树的深度为3。
子树
在树中,以某结点的一个子结点为根构成的树称为该结点的一棵子树。
B、二叉树基本性质
性质1:
在二叉树的第k层上,最多有2k-1(k≥1)个结点;
性质2:
深度为m的二叉树最多有2m-1个结点;
性质3:
在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。
性质4:
具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分。
例题5.在一棵二叉树上第5层的结点数最多是______。
A.8B.16C.32D.15
答案:
B
C、二叉树的遍历
二叉树的遍历分为三类:
前序遍历、中序遍历和后序遍历。
(1)前序遍历:
先访问根结点、然后遍历左子树,最后遍历右子树;并且,在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
根—左—右
2)中序遍历:
先遍历左子树、然后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。
左—根—右
3)后序遍历:
先遍历左子树、然后遍历右子树,最后访问根结点;并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。
左—右—根
例题6.设有下列二叉树:
对此二叉树中序遍历的结果为______。
A.ABCDEF
B.DBEACF
C.ABDECF
D.DEBFCA
答案:
B
8.排序和查找:
对于长度为n的有序线性表,在最坏情况下,二分法查找只需比较log2n次,而顺序查找需要比较n次。
交换类排序
插入类排序
选择类排序
排序方法
冒泡排序
快速排序
简单插入
希尔排序
简单选择
堆排序
比较次数
n(n-1)/2
n(n-1)/2
n(n-1)/2
n1..5
n(n-1)/2
nLog2n
9.希尔排序法:
希尔排序法是一种插入类排序法。
假设线性表的长度为N,则在最坏的情况下需要比较次数为O(N1..5)
例题7.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为_____。
A.N+1B.NC.(N+1)/2D.N/2
答案:
B
例题8.希尔排序法属于()
A选择类排序B交换类排序
C插入类排序D以上都不对
答案C
在最坏的情况下,冒泡排序需要比较次数为n(n-1)/2。
第二章程序设计基础
1.程序设计:
就程序设计方法和技术的发展而言,主要经过了结构化程序设计和面向对象的程序设计阶段。
2.程序设计的风格:
最主要强调简单和清晰,程序必须是可以理解的。
保证“清晰第一,效率第二”。
3.结构化程序设计方法的主要原则为:
自顶向下、逐步求精、模块化和限制使用goto语句。
4.结构化程序的基本结构有三种类型:
顺序结构、选择结构和循环结构。
例题9.下面描述中,符合结构化程序设计风格的是______。
A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B.模块只有一个入口,可以有多个出口
C.注重提高程序的执行效率
D.不使用goto语句
答案A
5.面向对象方法的主要优点:
一是与人类习惯的思维方式一致,二是稳定性好,三是可重用性好,四是易于开发大型软件产品,五是可维护性。
6.对象:
客观世界里的任何实体都可以被看作是对象,它由一组属性和操作组成。
7.对象的基本特点:
标识惟一性、分类性、多态性、封装性、模块独立性好。
信息隐蔽是通过对象的封装性来实现的。
8.类:
具有共同属性、共同方法的对象的集合。
9.实例:
是指一个具体的对象,对象属于类的实例。
10.消息:
在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发消息完成的。
11.继承:
在面向对象方法中,类之间共享属性和操作的机制称为继承。
12.多态性:
同样的消息被不同的对象接受可导致完全不同的行为。
例题10.下面概念中,不属于面向对象方法的是______。
A.对象B.继承C.类D.过程调用
答案:
D
例题11.在面向对象方法中,信息隐蔽是通过对象的_____性来实现的。
答案:
封装
第三章软件工程基础
一、软件工程基本概念
1.软件定义与软件特点:
软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。
软件可分应用软件、系统软件和支撑软件(或工具软件)。
名称
描述
应用软件
为解决特定领域的应用而开发的软件
系统软件
计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件
支撑软件(或工具软件)
支撑软件是介于两者之间,协助用户开发软件的工具性软件
2.软件工程:
为了摆脱软件危机,提出了软件工程的概念。
·
软件工程包括3个要素:
方法、工具和过程。
3.软件生命周期:
软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。
软件生命周期分为3个时期共8个阶段,
(1)软件定义期:
包括问题定义、可行性研究和需求分析3个阶段;
(2)软件开发期:
包括概要设计、详细设计、实现和测试4个阶段;
(3)运行维护期:
即运行维护阶段。
例题1.下列描述中正确的是()
A程序就是软件
B软件开发不受计算机系统的限制
C软件既是逻辑实体,又是物理实体
D软件是程序、数据与相关文档的集合
答案:
D
例题2.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
A.概要设计B.详细设计C.可行性分析D.需求分析
答案:
D
例题3.下面不属于软件工程三要素之一的是()
A工具B过程C方法D环境
答案:
D
二、结构化分析方法
1.需求分析的方法:
结构化分析方法、面向对象的分析方法。
2.结构化分析方法
结构化分析方法就是使用数据流图(DFD)、数据字典(DD)、判定表和判定树的工具,来建立一种新的、称为结构化规格说明的目标文档。
О加工(转换)→数据流
〓存储文件(数据流)□源,潭
3.据流图的步骤:
一是由外向里,二是自顶向下,三是逐层分解。
4.数据字典(DD):
是结构化分析方法的核心。
例题4.在数据流图(DFD)中,带有名字的箭头表示______。
A.控制程序的执行顺序
B.模块之间的调用关系
C.数据的流向
D.程序的组成成分
答案:
C
例题5.下列叙述中,不属于软件需求规格说明书的作用的是______。
A.便于用户、开发人员进行理解和交流
B.反映出用户问题的结构,可以作为软件开发工作的基础和依据
C.作为确认测试和验收的依据
D.便于开发人员进行需求分析
答案:
D
三、结构化设计方法
1.软件设计:
是软件工程的重要阶段,是一个把软件工程环境需求转换为软件表示的过程。
2.从技术观点来看,软件设计包括:
软件结构设计、数据设计、接口设计、过程设计。
3.从工程管理角度来看,软件设计包括:
概要设计和详细设计。
4.软件设计的基本原理:
抽象、模块独立性、信息隐蔽、模块化
5.衡量软件模块独立性使用耦合性和内聚性两个定性的度量标准
耦合度由高到低排列:
内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合。
高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
6.概要设计的基本任务:
一是设计软件系统结构,二是数据结构及数据库设计,三是编写概要设计文档,四是概要设计文档评审.
7.典型的数据流类型:
变换型和事务型.
8.详细设计的任务:
为软件结构图中每个模块实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节.
9.构成程序流程图的基本符号及含义:
→↓:
控制流□:
加工步骤◇:
逻辑条件
例题6.程序流程图(PFD)中的箭头代表的是______。
A.数据流B.控制流C.调用关系D.组成关系
答案:
B
例题7.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。
A.PAD图B.N-S图C.结构图D.数据流图
答案:
B
四、软件测试
1.软件测试方法:
软件测试具有多种方法,依据软件是否需要被执行,可以分为静态测试和动态测试方法。
如果依照功能划分,可以分为白盒测试和黑盒测试方法。
2.软件调试:
软件调试可分为静态调试和动态调试。
静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试的。
3.白盒测试方法:
也称结构测试或逻辑驱动测试,白盒测试是在程序内部进行,主要用于完成软件内部操作的验证。
白盒测试的主要方法:
逻辑覆盖测试、基本路经测试。
4.黑盒测试方法:
也称功能测试及数据驱动测试,黑盒测试完全不考虑程序内部的逻辑结构和特性,只依靠程序的需求和说明,检查程序功能是否符合。
黑盒测试有等价划分法、边界值分析法、错误推断法、因果图发等。
5.软件测试过程分4个步骤,即单元测试、集成测试、确认测试和系统测试。
程序的调试任务是诊断和改正程序中的错误。
调试主要在开发阶段进行。
(注意调试和测试的区别)
例题8.软件调试的目的是______。
A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能
答案:
B
第四章数据库基础
1.基本概念:
数据是数据库中存储的基本对象,描述事物的符号记录。
数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合数据库技术的根本目标是解决数据共享问题。
数据库管理系统(DBMS)是数据系统的核心。
数据库管理系统提供相应的数据语言:
数据定义语言、数据操纵语言、数据控制语言。
2.数据库系统:
简称DBS,它包括数据库、数据库管理系统、数据库管理员、硬件平台、软件平台。
3.数据库系统的发展:
人工管理阶段、文件系统阶段、数据库系统阶段。
4.数据的独立性一般分为物理独立性与逻辑独立性两种。
例题9.下列有关数据库的描述,正确的是______。
A.数据库是一个DBF文件
B.数据库是一个关系
C.数据库是一个结构化的数据集合
D.数据库是一组文件
答案:
C
5.数据统系统的3级模式
内模式处于最底层,它反映了数据在计算机物理结构中的实际存储形式,概念模式处于中间层,它反映了设计者的数据全局逻辑要求,而外模式处于最外层,它反映了用户对数据的要求。
例题10.单个用户使用的数据视图的描述称为______。
A.外模式B.概念模式C.内模式D.存储模式
答案:
A
6.数据库管理系统所支持的数据模型分为3种:
层次模型、网状模型和关系模型。
关系模型允许定义三类数据约束,它们是实体完整性约束、参照完整性约束以及用户定义的完整性约束。
例题11.数据库管理系统常见的数据模型有层次模型、网状模型和______三种。
答案:
关系模型
7.E-R模型用E-R图来表示。
(1)实体表示法:
在E-R图中用矩形表示实体集,在矩形内写上该实体集的名字。
(2)属性表示法:
在E-R图中用椭圆形表示属性,在椭圆形内写上该属性的名称。
(3)联系表示法:
在E-R图中用菱形表示联系,菱形内写上联系名。
8.E—R模型符号及含义:
□:
实体集○:
属性◇:
联系
9.专门的关系运算:
选择(元组)、投影(属性)、连接。
10.在数据库设计中采用需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段4个阶段.数据库设计中有两种方法,面向数据(现在是主流)的方法和面向过程的方法。
数据库程序设计总结
一、表.dbf
1.表的建立
a)create表名例如creatabc——abc是表名
b)字段类型:
字符型C数值型N逻辑型L整型I日期型D
日期时间型T通用型G备注型M
c)宽度:
逻辑型
(1)整型、通用型、备注型(4)日期型、日期时间型(8)
2.表的打开、关闭打开表:
use表名
关闭closetableall关闭所有表
3.表的基本操作
定
界
符
字符型
""
''
[]
日期型
{^2013-03-22}
逻辑型
..
a)删除记录
Delele逻辑删除
Pack物理删除
Zap删除所有
b)修改表结构:
modifystructure
c)修改表记录
Replace[all]要修改的字段名with新的字段值
Replace要修改的字段名with新的字段值for条件
d)记录指针定位
✧Go/goto
✧Skip
✧Locatefor
continue
4.数据库
a)数据库的基本操作
1)建立:
createdatabase数据库名
2)打开:
opendatabase数据库名
3)关闭:
closedatabase|closeall
5.索引
a)索引的概念:
索引是由指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序。
使用索引可以加速对表的查询操作。
b)索引的类型及特点:
索引类型
字段值能否重复
哪种表可建
一个表可建几个
主索引
否
数据库表
一个
侯选索引
否
数据库表、自由表
多个
唯一索引
能(索引项的唯一)
数据库表、自由表
多个
普通索引
能
数据库表、自由表
多个
※唯一索引只出现重复字段值的每一条记录。
例题1.使用索引的主要目的是
A)提高查询速度B)节省存储控件C)防止数据丢失D)方便管理
答案:
A
例题2.在建立表间一对多的永久联系时,主表的索引类型必须是
A)主索引或候选索引B)主索引、候选索引或唯一索引
C)主索引、候选索引、唯一索引或普通索引D)可以不建立索引
答案:
A
6.数据完整性
a)实体完整性(保证表中记录唯一的特性)
b)域完整性(规则-逻辑表达式,信息-字符表达式,默认值)
c)编辑参照完整性(3步)
(1)建立永久联系
(2)清理数据库(3)编辑参照完整性
例题3.有如下赋值语句,结果为“大家好”的表达式是P68
a="你好"
b="大家"
A)b+AT(a,1)B)b+RIGHT(a,1)C)b+LEFT(a,3,4)D)b+RIGHT(a,2)
答案D
二、程序.prg
1.规范程序的基本操作(建立、打开):
modifycommand程序名
例如:
modifycommandabc
2.程序的基本结构:
1)顺序结构
2)选择结构
条件语句if—endif
分支语句docase—endcase
3)循环结构
dowhile—enddo
for—endfor
scan—endscan//遍历文件
三、关系数据库标准语言SQL
1.SQL的简称:
结构化查询语言(structuredquerylanguage)
2.SQL的功能
功能
命令动词
查询功能
SELECT
操纵功能
INSERTUPDATEDELETE
定义功能
CREATEDROPALTER
3.SQL查询功能
Select[distinct]字段名from表名where条件;
Orderby字段名asc/desc;
Groupby字段名having条件;
intotable/intocursor/intoarray/tofile名字
distinct的作用是去掉查询结果中重复的结果
Orderby对最终的查询结果进行排序,不能在子查询中使用
asc升序,默认。
desc降序排序
Groupby对最终的查询结果进行分组,Having必须与Groupby搭配使用
intotable将查询结果放入永久表
intocursor将查询结果放到临时文件中
intoarray将查询结果放到数组中
intofile将查询结果放到文本文件中
4.SQL操纵功能
a)插入insertinto表名(字段1)values(字段值1,…)
例如:
insertinto订购单(职工号,订购单号)values(“E7”,”OR01”)
b)更新update表名set要修改的字段名=新的字段值where条件
例如:
update职工set工资=工资*1.1where仓库号=”WH1”
c)删除deletefrom表名where条件
例如:
DeleteFrom仓库where仓库号=”WH2”
5.SQL定义功能
a)表的建立
createtable表名(字段名1类型(宽度),字段名2类型(宽度),……)
createtable仓库1(
仓库号C(5)PRIMARYKEY,
城市C(10),
面积ICHECK面积>0ERROR“面积应该大于0!
”)
b)表的删除droptable表名直接从磁盘上删除
c)表结构的修改
增加字段:
altertable表名add字段名类型(宽度)
Altertable仓库1add总金额YCHECK总金额>0ERROR“总金额应该大于0!
”
定义或修改字段有效性:
altertable表名alter字段名setcheck…error…
altertable表名alter字段名setdefault
重命名字段名:
altertable表名rename[column]原字段名to新的字段名
删除字段:
altertable表名drop[column]字段名
例题4.SQL语言的更新命令的关键词是
A)INSERTB)UPDATEC)CREATED)SELECT
答案B
例题5.查询“读者”表的所有记录并存储于临时表文件one中的SQL语句是
A)SELECT*FROM读者INTOCURSORone
B)SELECT*FROM读者TOCURSORone
C)SELECT*FROM读者INTOCURSORDBFone
D)SELECT*FROM读者TOCURSORDBFone
答案A
例题6.查询单位名称中含“北京”字样的所有读者的借书证号和姓名,正确的SQL语句是
A)SELECT借书证号,姓名FROM读者WHERE单位="北京%"
B)SELECT借书证号,姓名FROM读者WHERE单位="北京*"
C)SELECT借书证号,姓名FROM读者WHERE单位LIKE"北京*"
D)SELECT借书证号,姓名FROM读者WHERE单位LIKE"%北京%"
答案D%表示0个或多个字符_表示一个字符
四、查询(.qpr)与视图
查询就是预先定义好的一个SQLSELECT语句。
查询是以扩展名为.QPR的文件保存在磁盘上的。
查询的数据源可以是自由表、数据表或视图。
视图是从一个或多个数据表导出的一张虚表。
视图不作为一个独立的文件存储,其数据依赖于数据库表中的数据。
1.建立createview视图名assele