版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二级教程-ACCESS串讲考试方式1.笔试(选择题):满分40分,公共基础知识部分的10~12分。2.上机操作:60分。上机操作包括:(1)基本操作18分。(2)简单应用24分。(3)综合应用18分。
考试时间120分钟考试大纲:见课本P450,一级二级(黄皮书)P259,二级(蓝皮书)P181考试内容
一、
数据库基础知识1.基本概念:数据库,数据模型,数据库管理系统,类和对象,事件。2.关系数据库基本概念:关系模型(实体的完整性,参照的完整性,用户定义的完整性,)关系模式,关系,元组,属性,字段,域,值,主关键字等。3.关系运算基本概念:选择运算,投影运算,连接运算。4.SQL基本命令。查询命令,操作命令。5.Access系统简介:(1)
Access系统的基本特点。(2)
基本对象:表,查询,窗体,报表页,宏,模块。
本章重点DB数据(Data)
数据是指描述事物的符号记录。在计算机中文字、图形、图象、声音等都是数据。2.数据库(DataBase,简称DB)3.数据库应用系统:4.数据库管理系统(DataBaseManagementSystem,简称DBMS):5.数据库系统:(DataBaseSystem,简称DBS)
数据库系统由5部分组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据管理员(DataBaseAdministrator,简称DBA)和用户。实体间联系及种类实体间的联系有3种类型:一对一联系:学生成绩和学生情况表的关系是一对一联系。一对多联系:例如教师和学生的联系是一对多联系。多对多联系:例如学生和课程之间联系是多对多联系。实战:P892007-912、在企业中,职工的“工资级别”与职工个人“工资”的联系是()A一对一联系B一对多联系C多对多联系D无联系一对多联系(1:n)
如果实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与B具有一对多联系。2.关系数据库基本概念关系模型、关系、元组、属性、字段、域、值、主关键字3.关系运算基本概念选择运算、投影运算、联接运算实战:P892007-913.
假设一个书店用(书号,书名,作者,出版社,出版日期,库存数量)一组属性来描述图书,可以作为“关键字”的是
A.书号B.书名
C.作者D.出版社答案A
解析:码(又称为关键字):二维表中的某个属性,若它的值唯一地标识了一个元组,则称该属性为关键字。本题中:只有A.书号能够满足关键字定义中的唯一性要求。实战:2007-9
P8911.用二维表来表示实体及实体之间联系的数据模型是
A.实体-联系模型B.层次模型
C.网状模型D.关系模型答案D
解析:关系模型用表格形式表示实体类型及其实体间的联系。关系模型是目前最重要的一种模型,它是建立在严格的数学概念的基础上的。关系模型的基本数据结构是二维表,每一张二维表称为一个关系。Access数据库的系统结构Access数据库由表、查询、窗体、报表、数据访问页、宏和模块等对象组成。查询表报表窗体宏/模块控制流数据流实战:14、下列属于ACCESS对象的是()2007-9P89A文件B记录C数据D查询这些对象都存放在扩展名为.mdb的数据库文件中。考试内容二、
数据库和表的基本操作1、
创建数据库:(1)
创建空数据库。(2)
使用向导创建数据库。2、
表的建立:(1)
建立表结构:使用向导,使用表设计器,使用数据表。(2)
设置字段属性。(3)
输入数据:直接输入数据,获取外部数据。3、
表间关系的建立与修改:(1)
表间关系的概念:一对一,一对多。(2)
建立表间关系。(3)
设置参照完整性。4、
表的维护:(1)
修改表结构:添加字段,修改字段,删除字段,重新设置主关键字。(2)
编辑表内容:添加记录,修改记录,复制记录。(3)
调整表外观。5、
表的其他操作:(1)
查找数据。(2)
替换数据。(3)
排序记录。(4)
筛选记录。
本章重点师生互动1、ACCESS中创建表的方法有哪几种?使用向导创建表使用设计视图创建表通过输入数据创建表导入、导出表输入掩码数据格式:见课本8.在向数据库中输入数据时,若要求所输入的字符必须是字母,则应该设置的输入掩码是【8】答案L
P10312.若设置字段的输入掩码为“####-######”,该字段正确的输入数据是A)0755-123456B)0755-abcdefC)abcd-123456D)####-######2、修改表的结构和修改表中的数据分别要在哪种视图中操作?修改表结构必须在设计视图中完成修改表中的数据必须在数据表视图中完成师生互动实战:2007-9P8915.在Access数据库的表设计视图中,不能进行的操作是A.修改字段类型B.设置索引C.增加字段D.删除记录答案D
解析:编辑表中内容的操作主要包括选定记录、添加记录、修改记录、删除记录、复制记录等。这些操作是在数据表视图中完成的。实战:2007-9P8916.在Access数据库中,为了保持表之间的关系,要求在子表(从表)中添加记录时,如果主表中没有与之相关的记录,则不能在子表(从表)中添加改记录。为此需要定义的关系是
A.输入掩码B.有效性规则
C.默认值D.参照完整性答案D
解析:参照完整性是一个准则系统,Access使用这个系统用来确保相关表中的记录之间关系的有效性,并且不会因意外而删除或更改相关数据。在数据表中查找数据在数据表中替换数据在数据表中排序记录在数据表中筛选记录考试内容三、
查询的基本操作1、
查询分类:(1)
选择查询。(2)
参数查询。(3)
交叉表查询。(4)
操作查询。(5)
SQL查询。2、
查询准则:(1)
运算符。(2)
函数。(3)
表达式。3、
创建查询:(1)
使用向导创建查询。(2)
使用设计器创建查询。(3)
在查询中计算。4、
操作己创建的查询。(1)
运行己创建的查询。(2)
编辑查询中的字段。(3)
编辑查询中的数据源。(4)
排序查询的结果。
重点难点二.查询方式
在Access中,主要有以下5种查询操作方式:选择查询、参数查询、交叉表查询、操作(动作)查询及SQL查询。
选择查询主要用于浏览、检索、统计数据库中的数据;参数查询是通过运行查询时的参数定义、创建的动态查询结果,以便更多、更方便地查找有用的信息;交叉表查询将来源于某个表中的字段进行分组,一组列在数据表的左侧,即行表头;一组列在数据表的上方即列表头。。然后在数据表行与列的交叉处显示表中某个字段统计值。交叉表查询就是利用了表中行和列来统计数据的。操作查询主要用于数据库中数据的更新、删除及生成新表,使得数据库中数据的维护更便利;SQL查询是通过SQL语句创建的选择查询、参数查询、数据定义查询及动作查询。实战:2007-9P8917.将表A的记录添加到表B中,要求保持表B中原有的记录,可以使用的查询是
A.选择查询B.生成表查询
C.追加查询D.更新查询答案C
解析:将表A的记录复制到表B中,且不删除表B中的记录,可以使用的查询是追加查询。[2005年4月选择第18题][2005年4月选择第20题][2005年9月选择第26题]均考查了这个知识点。实战:2007-9P9018.在Access中,查询的数据源可以是
A.表B.查询
C.表和查询D.表、查询和报表答案C
解析:执行选择查询时,需要从指定的一个或多个数据库表或查询中搜索数据。当我们使用查询向导编制查询时,也可以看到只能从表或查询中选择数据源,19.在一个Access的表中有字段“专业”,要查找包含“信息”两个字的记录,正确的条件表达式是P90
A.=left([专业],2)="信息"B.like"*信息*"
C.=“*信息*”
D.Mid([专业],2)="信息"答案B
解析:Like决定一个字符串是否以一个或更多字符开始,需要通配符“*”号或“?”号以使Like运算符正确的使用如:Like“a*”Like“File???”表示以“a”开头的字符串以File开头,后3位为任意的字符(专用文本或备注数据类型)20.如果在查询的条件中使用了通配符方括号“[]”,它的含义是P90A.通配任意长度的字符B.通配不在括号内的任意字符C.通配方括号内列出的任一单个字符D.错误的使用方法答案C
解析:[]为字符串中该位置的字符设置范围[字符表]字符表中的一个字符,如[a-z]、[0-9][!字符表]不在字符表中的一个字符,如[!0-9]例:Like"P[A-F]###"
查找以P开头、后跟A到F间任何字母及3个数字的数据。
Like"a?[a-f]#[!0-9]*"
查找的字符串中第一个为a,第二个任意,第三个为a到f中任意一个,第四个为数字,第五个为非0-9的字符,其后为任意字符串。21.现有某查询设计视图,该查询要查找的是P90
A.身高在160以上的女性和所有的男性B.身高在160以上的男性和所有的女性
C.身高在160以上的所有人或男性
D.身高在160以上的所有人答案A
解析:Or逻辑或例如:“团员”
Or“男”是男生或是团员任意一个(21)现有某查询设计视图(如下图所示),该查询要查找的是Select语句的一般格式:SELECT[ALL/DISTINCT]*|<字段列表>
FROM<表名>[WHERE<条件表达式>][ORDERBY<列表>{[ASC|DESC}]语句含义:在From后面给出的表名中找出满足Where条件表达式的元组,然后按Select后列出的目标表形成结果表。All:表示检索所有符合条件的元组,系统默认值DISTINCT:表示检索要去掉重复的所有元组。*:表示检索结果为整个元组,包括所有的列字段列表:用“,”分开的多个项,可以是字段名、常数或函数条件表达式:可以包含数学运算符和关系运算符ORDERBY:强制查询结果按指定列名进行升序或降序排列查找男教师的全部信息SELECT*FROM教师表
WHERE(性别=‘男’)查找姓王的教师,并按姓名升序排序
SELECT*FROM教师表WHERE姓名LIKE‘王%’
ORDERBY姓名ASC真题:13.在SELECT语句中使用ORDERBY是为了指定A)查询的表B)查询结果的顺序C)查询的条件D)查询的字段4.1.3窗体的类型纵栏式窗体表格式窗体数据表窗体主/子窗体图表窗体数据透视表窗体考试内容四、
窗体分类:(1)
纵栏式窗体。(2)
表格式窗体。(3)
主/子窗体。(4)
数据表窗体。(5)
图表窗体。(6)
数据透视表窗体。2、创建窗体:(1)
使用向导创建窗体。(2)
使用设计器创建窗体:控件的含义及种类,在窗体中添加和修改控件,设置控件的常见属性。
重点难点4.1.4窗体的视图窗体有5种视图:“设计”视图用于创建窗体或修改窗体“窗体”视图用于显示记录数据,添加或修改表中的数据“数据表”视图用于编辑、添加、修改或删除表或查询中的数据数据透视表视图数据透视图视图4.2创建窗体师生互动创建窗体的方法有哪几种?创建窗体有人工方式和使用“向导”两种方法。窗体创建的方法有5种:自动窗体窗体向导窗体设计器数据透视表向导图表向导控件的类型分为:结合型、非结合型与计算型。(绑定控件、非绑定控件、计算控件)结合型控件:结合型控件与基表或查询中的字段相连,用于显示、输入及更新数据库中的字段。非结合型控件:非结合型控件没有数据来源;用于显示提示信息,以及线条、矩形及图像等。计算控件:以表达式作为数据来源;表达式使用窗体基表或基查询中的数据,或者窗体上其他控件的数据。(2)非结合型(非绑定型)没有数据源。主要用来显示信息、图形、图像等。(3)计算型以表达式作为数据的来源。3、常用的控件选择对象控件向导标签文本框选项组切换按钮选项按钮复选框组合框列表框命令按钮图像未绑定对象框绑定对象框分页符选项卡子窗体/子报表直线矩形其他控件选择对象:用于选取控件、节或窗体。控件向导:用于打开或关闭控件“向导”标签:用于显示文字。文本框:用于输入或编辑文本,通常作为文本、数字、货币、日期、备注等类型的绑定控件选项组:对选项按钮控件进行分组的控件。切换按钮:具有抬起和按下两种状态的命令按钮可,作为“是”/“否”类型字段的绑定控件。选项按钮:在一组选项中只能选择一个。复选框:具有选中和不选中两种状态的控件,通常作为“是”/“否”字段的绑定控件。组合框:具有一个下拉列表的文本框。列表框:可在一组列表项中进行选择的控件。命令按钮:用来执行命令的控件。图像:用于摆放图片的控件。非绑定对象框:用于摆放其他应用程序对象的控件。绑定对象框:用于绑定“OLE”对象类型的字段。分页符:用于打印分页的控制。选项卡控件:用于多页显示的控件。子窗体/子报表:用于在窗体或报表中添加“子窗体/子报表”。直线:用于绘制分隔线。矩形:用于绘制分隔区。其他控件:用来自定义系统所有注册的ActiveX控件。实战:2007-9P9022.在窗体中,用来输入或编辑字段数据的交互控件是
A.文本框控件B.标签控件
C.复选框控件D.列表框控件答案A
解析:文本框主要用来输入或编辑字段数据,它是一种交互式控件。(三)窗体的节通过添加节可以提高窗体的效率。所有窗体都有主体节,但窗体还可以包含窗体页眉、页面页眉、页面页脚和窗体页脚。窗体页眉:显示的信息与记录无关,经常用来显示窗体的标题,在窗体视图中,窗体页眉出现在屏幕的顶部,而在打印的窗体中,窗体页眉出现在第一页的顶部。页面页眉:在每张打印页的顶部显示,如标题或有关信息,页面页眉只出现在打印的窗体中。主体节:显示记录,可以在屏幕或页面上显示一条记录,也可以根据屏幕和页面的大小显示多条记录。页面页脚:在每张打印页的底部显示,如日期或页号等信息,页面页脚只出现在打印的窗体中。窗体页脚:显示的信息与记录无关,其中包括命令按钮或窗体的使用说明,在窗体视图中,窗体页脚出现在屏幕的底部,而在打印的窗体中,窗体页脚出现在最后一条主体节之后。考试内容五、
报表的基本操作1、
报表分类:(1)
纵栏式报表。(2)
表格式报表。(3)
图表报表。(4)
标签报表。2、
使用向导创建报表。3、
使用设计器编辑报表。4、
在报表中计算和汇总。
重点难点5.1.1报表的定义
报表主要用于对数据库中的数据进行分组、计算、汇总和打印输出。报表是数据库的一个对象。可以打印输出格式化的数据信息。5.1.2报表的视图报表操作提供了3种视图:设计视图、打印预览视图、版面预览视图。设计视图:用于创建和编辑报表结构打印预览视图:用于查看报表的页面数据输出形式。可以显示报表打印时的样式,同时运行所基于的查询,并在报表中显示出全部数据版面预览视图:用于查看报表版面设置。在“版面预览”窗口上将显示全部报表节以及主体节中的数据分组和排序,但仅使用示范数据,并且忽略所有基本查询中的准则和连接。2、报表的节在设计视图中,节代表着报表的不同区域,报表的内容是按节进行划分的。一般报表分为五个节,自上而下分别为:1)报表页眉:在一个报表中,报表页眉只出现一次。利用它可显示徽标、报表标题或打印日期。报表页眉打印在报表第一页的前面2)页面页眉:页面页眉出现在报表每页的顶部。可利用它显示列标题3)主体:主体节包含了报表数据的主体部分。对报表基础记录来源的每条记录而言,该节重复出现4)页面页脚:页面页脚出现在报表每页的底部。可利用它显示页号等信息5)报表页脚:报表页脚只在报表结尾出现一次。可利用它显示报表合计等信息,报表页脚是报表设计的最后节,出现在打印报表最后一页的页面页脚之前实战:2007-9P9023.如果要在整个报表的最后输出信息,需要设置
A.页面页脚B.报表页脚
C.页面页眉D.报表页眉
24.可作为报表记录源的是P90
A.表B.查询
C.Select语句D.以上都可以
答案B
解析:报表页脚:在所有记录都被处理后,只打印在报表的结束处,用来显示整份报表的汇总说明。答案D
解析:(1)在“数据库”窗体中单击“报表”对象,在右侧的窗体中双击“使用向导创建报表”选项。屏幕显示“报表向导”第一个对话框,在对话框中包含有要创建报表的数据源选项、表或查询中的可用字段选项,在“表/查询”中选择要创建报表的表或查询,在“可用字段”中选择字段,单击“下一步”按钮。实战:2007-9P9025.在报表中,要计算“数学”字段的最高分,应将控件的“控件来源”属性设置为
A.=Max([数学])B.Max(数学)
C.=Max[数学]D.=Max(数学)
答案A
解析:最大、小值函数格式:Max(<字符串表达式>)
Min(<字符串表达式>)功能:返回一组指定字段中的最大、小值。说明:“字符串表达式”可以是一个字段名(数字类型),或者是含有数字型字段的表达式。举例:有一个“成绩”字段,可以用Max([成绩])求该字段中的最大值,用Min([成绩])求该字段中的最小值。师生互动1、报表的作用是什么?报表是以打印的格式表现用户数据的一种有效方式。2、创建报表的方法有哪几种?自动创建报表使用向导创建报表报表设计器考试内容六、
页的基本操作1、
数据访问页的概念。2、
创建数据访问页:(1)
自动创建数据访问页。(2)
使用向导数据访问页。
实战:2007-9P9026.将Access数据库数据发布到Internet网上,可以通过
A.查询B.窗体
C.数据访问页D.报表答案C
解析:数据访问页是直接与数据库中数据链接的网页,设计用于查看和操作来自Internet或Intranet的数据——这些数据保存在Microsoft
Access数据库或MicrosoftSQLServer数据库中。数据访问页也可能包含来自其他数据源的数据,例如MicrosoftExcel等。考试内容七、
宏1、
宏的基本概念。2、
宏的基本操作:(1)
创建宏:创建一个宏,创建宏组。(2)
运行宏。(3)
在宏中使用条件。(4)
设置操作参数。(5)
常用的宏操作。
7.1宏的概念
7.1.1宏
的基本概念宏是由一个或多个操作组成的的集合。可以把各种动作依次定义在宏里,运行宏时,Access就会依照所定义的顺序运行下来。例如,可以创建一个宏,让它自动打开某个窗体、自动打印某份报表等。宏是Access数据库中的一个对象。Access中的宏可以是包含操作序列的一个宏,也可以是某个宏组,宏组由若干个宏组成。可以使用条件表达式来决定在什么情况下运行宏,以及在运行宏时某项操作是否进行。根据以上三种情况,可以将宏分为:操作序列宏、宏组和包含条件操作的宏。操作序列宏是由一系列操作序列组成的。每次运行该宏时,Access都将执行这些操作。如果存在着许多宏,那么将相关的宏分到不同的宏组将有助于数据库的管理。
实战:2007-9P9027.打开查询的宏操作是
A.OpenFormB.OpenQuery
C.OpenTableD.OpenModule
答案B
解析:
OpenForm命令用于打开窗体
OpenQuery命令用于打开查询
OpenTable命令用于打开表
OpenModule命令用于打开选定的模块28.宏操作SetValue可以设置P90
A.窗体或报表控件的设置B.刷新控件数据
C.字段的值D.当前系统的时间答案A
解析:SetValue命令用于设置窗体或报表控件的属性值考试内容八、
模块1、
模块的基本概念:(1)
类模块。(2)
标准模块。(3)
将宏转换为模块2、
创建模块:(1)
创建VBA模块:在模块中加入过程,在模块中执行宏。(2)
编写事件过程:键盘事件,鼠标事件,窗口事件,操作事件和其他事件。3、
调用和参数传递。4、
VBA程序设计基础:(1)
面向对象程序设计的基本概念。(2)
VBA编程环境:进入VBE,VBE界面。(3)
VBA编程基础:常量,变量,表达式。(4)
VBA程序流程控制:顺充控制,选择控制,循环控制。(5)
VBA程序的调试:设置断点,单步跟踪,设置监视点。
重点、难点条件(分支)结构题型归纳-11给出事件过程,写出运行结果一般结合选择、循环结构一般有MsgBox输出语句有时考察过程调用(传值、传址)有时考察变量的作用范围(局部、模块、全局)2对细节概念的考察例如:Sub过程与Function过程的区别;函数的表达;表达式的计算结果;数组下标;各种语句的写法与意义……题型归纳-23用VBA代码设置窗体或控件的属性目前已考察过的:设置颜色ForeColor、标题Caption、可见Visible、可用Enabled……4完形填空:根据题目对程序功能的描述,将程序补充完整常需要补充的部分为:某种结构的关键字(If,EndIf,Next,Loop等),某个语句关键字(InputBox,MsgBox,DoCmd.Close等),某个判断条件或某个过程名等。考察点归纳-11模块的分类:类模块、标准模块2面向对象概念:对象、属性、方法、事件3常量的定义4变量的定义:隐式、显式、静态变量5用户自定义数据类型:Type…EndType6数组:Dima(3,5to8)AsSingle7数据库对象变量考察点归纳-28表达式与优先级:9常用标准函数10条件语句与分支结构If语句、SelectCase语句IIf函数、Choose函数、Switch函数11循环语句与循环结构For…Next语句、Do…Loop语句、While…Wend语句12过程调用与参数传递子过程Sub、函数过程Function传址调用ByRef、传值调用ByVal考察点归纳-313常用语句:DoCmd命令集InputBoxMsgBox14VBA验证函数:15计时事件:Form_Timer()
计时器间隔属性:TimerInterval16VBA的数据库编程:DAO模型、ADO模型17错误处理语句:18程序调试:各种工具的作用与用法4变量1定义语句
DimxAsString*7,y,zAsIntegerSample#=9.982作用范围PublicxAsIntegerPrivateSubCommand1_Click()x=10:Calls1:Calls2MsgBoxxEndSubPrivateSubs1()x=x+20EndSubPrivateSubs2()
DimxAsInteger
x=x+20EndSub
全局变量局部变量x=10x=10+20=30(2006.9)P78、354变量3静态变量Static
PrivateSubCommand1_Click()
StaticbAsInteger
b=b+1
msgboxb
EndSub
打开窗体,三次单击命令按钮后,b的值为___
静态变量能够在过程间保留变量的值,不像Dim语句定义的变量每次都初始化。3P79、118表达式与优先级算术表达式>连接表达式>关系表达式>逻辑表达式VBA表达式3*3\3/3的输出结果为___(2006.4)9设a=2,b=3,c=4,d=5,则表达式
NOTa<=cOR4*c-d=b^2ANDb<>a+c的值为___121234567False9内部函数强记数学函数、字符串函数、日期时间函数、类型转换函数窗体上添加一个命令按钮(Command1)和一个文本框(文本1)PrivateSubCommand1_Click()m=2.17n=Len(Str$(m)+Space(5))Me.文本1.SetFocusMe.文本1.Text=nEndSub打开窗体后,单击命令按钮,在文本框中显示_____10(2006.9)立即窗口中练习:?str("2.17")?str(“-2.17")?len(str("2.17"))?len(str(“-2.17"))6数组定义格式:Dima(2)AsString,b(4to8)AsIntegerDimc(1to3,2)Dimd()AsLong……ReDimd(3,5)一维数组二维数组动态数组默认数组下标从0开始维数与元素个数一样么?OptionBase1多维数组:多个下标。VBA中最多可到60维。例如:DimN(1To2,1To3)AsSingle声明了一个2乘3的两维数组,有6个数组元素。可将其想像成矩阵,第一个参数为行号,第二个为列号。
S(1,1),S(1,2),S(1,3),S(2,1),S(2,2),S(2,3)动态数组定义和使用的方法:P259Dimnew1()aslong…ReDimnew1(3,3)
数组元素的引用:数组元素用数据名和下标引用。例如
DimS(6)AsInteger,N1AsInteger ForN1=0to6 S(N1)=20 Next十三、常用标准函数1数学函数绝对值函数Abs(<表达式>)取整函数Int(<表达式>)
Fix(<表达式>)自然指数函数Exp(<数值表达式>)自然对数函数Log(<数值表达式>)开平方函数Sqr(<数值表达式>)三角函数Sin(<数值表达式>)
Cos(<数值表达式>)
Tan(<数值表达式>)产生随机数函数Rnd(<数值表达式>)2字符串函数字符串检索函数InStr([Start,]<Str1>,<Str2>[,Compare])字符串长度检索函数Len(<字符串表达式>或<变量名>)字符串截取函数Left(<字符串表达式>,<N>)
Right(<字符串表达式>,<N>)
Mid(<字符串表达式>,<N1>,[N2])生成空格字符串函数Space(<字符串表达式>)大小写转换函数Ucase(<字符串表达式>)
Lcase(<字符串表达式>)删除空格函数LTrim(<字符串表达式>)
RTrim(<字符串表达式>)
Trim(<字符串表达式>)3日期/时间函数获取系统日期和时间DateTimeNow截取日期分量函数Year(<表达式>)
Month(<表达式>)
Day(<表达式>)4类型转换函数字符串转换字符代码函数Asc(<字符串表达式>)字符代码转换字符函数Chr(<字符代码>)数字转换成字符串函数Str(<数值表达式>)字符串转换成数字函数Val(<字符串表达式>)VBA程序流程控制语句计算机程序的执行控制流程,有三种基本结构:顺序结构、分支结构、循环结构。顺序结构:其中的语句按排列的顺序依次执行。条件判断结构:按照给定的条件进行判断,再按判断的结果分别执行程序中不同部分的代码。循环结构:按照条件反复执行一系列语句。根据循环的条件,可以把循环结构分为两类: ◆当型循环结构:当条件成立时,反复执行语句。 ◆直到型循环结构:反复执行语句直到条件成立为止。VBA提供了如下几种分支语句:
1.简单分支语句(If…Then语句)If测试指定的条件,如果条件为真(True),则执行Then后面的语句。格式1:If条件表达式Then语句格式2:If〈条件表达式〉Then语句块EndIf注意:If…Then的单行格式不用EndIf语句。但如果条件表达式的值为真(True)时要执行多行代码,则必须使用多行If…Then…EndIf语法。2.选择分支语句(If…Then…Else)If…Then语句的变形是If…Then…Else语句,它在条件为True时,执行一段语句,而在条件为False时,执行另一段语句。If…Then…Else语句的语法如下:格式3:If条件表达式Then语句块1Else语句块2EndIfIF语句的嵌套:多重选择
格式4If条件语1Then语句组1elseif条件2Then语句组2elseif条件3Then语句组3
……elseif条件nThen语句组nelse语句组n+1endif实战:2007-9P9313.在窗体中使用一个文本框(名为num1)接受输入值,有一个命令按钮run13,事件代码如下:
PrivateSubrun13_Click()
IfMe!num1>=60Then
result="及格"
ElseIfMe!num1>=70Thenresult="通过"
ElseIfMe!num1>=80Thenresult="合格"
EndIfMsgBoxresultEndSub
打开窗体后,若通过文本框输入的值为85,单击命令按钮,输出结果是【13】以下是一个竞赛评分程序。8个评委,去掉一个最高分,去掉一个最低分,计算平均分(满分10分)。PrivateSubForm_Click()DimMaxAsInteger,MinAsIntegerDimiAsInteger,xAsInteger,sAsIntegerDimpAsSingleMax=0:Min=0
Fori=1To8x=Val(InputBox("请输入分数"))
If_____ThenMax=xIf_____ThenMin=xs=s+xNextis=______:p=s/6MsgBox"最后得分:“&pEndSub(2005.4)x>Maxx<MinS-Max-MinPrivateSubCommand1_Click()x=-5IfSgn(x)Theny=Sgn(x^2)Elsey=Sgn(x)EndIfMsgBoxyEndSub-1认为等价于True0认为等价于False1SelectCase语句多分支结构PrivateSubCommand1_Click()text1.SetFocusn=Val(text1.Text)SelectCasenCase1To20x=10Case2,4,6x=20CaseIs<10x=30Case10x=40EndSelecttext2.SetFocustext2.Text=xEndSub程序运行后,如果在Text1中输入10,然后单击命令按钮,则在Text2中显示?10三个函数:
IIf(条件,表达式1,表达式2)
Switch(条件1,表达式1[…,条件n,表达式n])
Choose(索引式,选项1[,选项2,…[,选项n]])
若a=9,则执行x=IIf(a>4,"abc",0)后,x值为__?若b="m",y=Switch(b>"4",1,b>"a",0),则y值为__?若c=2,则执行z=Choose(c,15,7,9)后,z值为__?“abc”1711循环语句与循环结构循环控制结构P275~2771)For…Next单层嵌套2)Do…LoopDoWhile…Loop或Do…LoopWhileDo…LoopUntil或DoUntil…Loop3)While…Wend循环体的执行条件,循环过程,循环变量的变化PrivateSubCommand1_Click()s="ABBACDDCBA"ForI=6To2Step-2x=Mid(s,I,I)y=Left(s,I)z=Right(s,I)z=x&y&zNextIMsgBoxzEndSubI=2x=mid(s,2,2)=“BB”y=left(s,2)=“AB”z=right(s,2)=“BA”z=“BBABBA”(2006.9)假定有以下程序段n=0fori=1to3forj=-4to-1n=n+1nextjnexti运行完毕后,n的值是A)0
B)3
C)4
D)12Right!(2005.9)PrivateSubCommand1_Click()Dima(10,10)Form=2To4Forn=4To5a(m,n)=m*nNextnNextmMsgBoxa(2,5)+a(3,4)+a(4,5)EndSubm=2m=3m=4n=4n=4n=4a(2,4)=8a(3,4)=12a(4,4)=16n=5n=5n=5a(2,5)=10a(3,5)=15a(4,5)=20(2006.9)实战:2007-9P9312.在窗体中使用一个文本框(名为x)接受输入值,有一个命令按钮test,事件代码如下:
Private
Sub
test_Click()
y
=
0
For
i=0
To
Me!x
y=y+2*i+1
Next
i
MsgBox
y
End
Sub
打开窗体后,若通过文本框输入值为3,单击命令按钮,输出的结果是【12】
答案16解析:若通过文本框输入值为3,则For循环i=0To3共执行4次,第一次:y=0+2*0+1=1;
第二次:y=1+2*1+1=4;
第三次:y=4+2*2+1=9;
第四次:y=9+2*3+1=16;所以输出的结果是16格式1:先判条件是否成立,再开始循环。Do[{While|Until}<条件>] [<语句>] [ExitDo] [<语句>]
Loop
2.DoWhile…Loop和Do…LoopWhile格式2:先循环,再判条件是否成立。Do[<语句>][ExitDo][<语句>]Loop[{While|Until}<条件>]说明:Do…Loopwhile循环结构:先执行后判断,循环语句至少执行一次;
While关键字用于指明条件为真时执行循环体内语句;Until当条件为假时,执行循环体内语句。单击窗体,消息框的结果为____(2006.4)PrivateSubForm_Click()DimxasInteger,yasIntegerx=2:y=4Dox=x*yy=y+1Loopwhiley<4MsgBoxxEndSub此种结构,先执行循环体,再判断条件,当while后的条件表达式为真时,执行循环体,为假时,跳出循环体。X=2y=4X=8Y=5PrivateSubCommand1_Click()DimnumAsSinglenum=1DoUntilnum>6num=num+2.4LoopMsgBoxnumEndSubnum=1num=3.4num=5.8num=8.2此种结构,先判断条件,再执行循环体,当until后的条件表达式为假时,执行循环体,为真时,跳出循环体。子过程的定义与调用[Public|Private][Static]Sub子过程名([<形参>])[As数据类型][<子过程语句>][ExitSub][<子过程语句>]EndSub函数过程的定义与调用[Public|Private][Static]Function函数过程名([<形参>])[As数据类型][<函数过程语句>][函数过程名=<表达式>][ExitFunction][<函数过程语句>][函数过程名=<表达式>]EndFunctionCall子过程名([<实参>])或子过程名[<实参>]变量名=函数过程名([<实参>])30.在过程定义中有语句:P90-91
PrivateSubGetData(ByReffAsInteger)
其中"ByRef"的含义是
A.传值调用B.传址调用
C.形式参数D.实际参数答案B
解析:在参数函数设计时,要想实现某个参数的"双向"传递,就应当说明该形参为"传址"调用形式。其设置选项是ByRef。实战:2007-9P9132.在窗体中有一个标签Label0,标题为“测试进行中”;有一个命令按钮Command1,事件代码如下:
Private
Sub
Command1_Click()
Label0.Caption="标签"
End
Sub
Private
Sub
Form_Load()
Form.Caption="举例"
Command1.Caption="移动"
End
Sub打开窗体后单击命令按钮,结果为
答案D
解析:打开窗体后,系统自动调用Form_Load(),这时Form的标题为"举例",Command1的标题为"移动",Label0的内容为“测试进行中”;当单击命令按钮后,Label0的内容更新为“标签”,Form的标题还是"举例",Command1的内容还是"移动",因此选择D。A)B)C)D)实战:2007-9P9233.在窗体中有一个标签Lb1和一个命令按钮Command1,事件代码如下:
Option
Compare
Database
Dim
a
As
String*10
Private
Sub
Command1_Click()
a="1234"
b=Len(a)
Me.Lb1.Caption=b
End
Sub
打开窗体后单击命令按钮,窗体中显示的内容是
A.4B.5
C.10D.40
答案C
解析:“DimaAsString*10”
表示变量a的长度为10个字节,也就是5个汉字的长度!因此窗体中显示的内容是10。在窗体中添加一个命令按钮(名为Command1)和一个文本框(名为Text1),然后编写如下事件过程:PrivateSubCommand1_Click()DimxAsInteger,yAsInteger,zAsIntegerx=5:y=7:z=0Me!Text1=""Callp1(x,y,z)Me!Text1=zEndSubSubp1(aAsInteger,bAsInteger,cAsInteger)c=a+bEndSub主调过程被调过程传址调用双向作用答案:12(2005.9)在窗体上添加一个命令按钮(名为Command1),然后编写如下程序:
Functionm(xasInteger,yasInteger)asInteger
m=IIf(x>y,x,y)
EndFunction
PrivateSubCommand1_Click()
DimaasInteger,basInteger
a=1:b=2
MsgBoxm(a,b)
EndSub函数过程主调过程答案:2传址调用(2005.4)假定有如下的Sub过程:Subsfun(xAsSingle,yAsSingle)t=x:x=t/y:y=tModyEndSub在窗体上添加一个命令按钮,有如下事件过程PrivateSubCommand1_Click()DimaAsSingle,bAsSinglea=5:b=4
sfuna,bMsgBoxa&chr(10)+chr(13)&bEndSub打开窗体,单击命令按钮,消息框输出______主调过程被调过程(2006.4)1.251有如下的Sub过程:PrivateSubs(ByValpAsInteger)p=p*2EndSubPrivateSubCommand1_Click()DimIAsIntegerI=3
Calls(i)IfI>4ThenI=I^2MsgBoxIEndSub打开窗体,单击命令按钮,消息框输出______主调过程被调过程(2006.4)3传值调用单向作用13常用语句1打开对象DoCmd.OpenForm窗体名DoCmd.OpenReport报表名打开的对象还可以为:Table,Query等2关闭对象DoCmd.Close关闭当前窗体
DoCmd.CloseacForm,“学生管理”
DoCmd.CloseacReport,“学生信息表”关闭的对象还可以为:acDataAccessPage,acTable,acQuery,acMacro3输入框InputBox(prompt[,title][,default][,xpos][,ypos][,_helpfile,context])4输出框MsgBox(prompt[,buttons][,title][,helpfile,context])5执行宏
DoCmd.RunMacroMacroName[,RepeatCount][,RepeatExpression]窗体上有两个命令按钮:显示(cmdDisplay)、测试(cmdTest)。事件过程的功能是:单击“测试”按钮,弹出消息框,如果单击消息框的“确定”按钮,隐藏窗体上的“显示”按钮,如果单击消息框的“取消”按钮,关闭窗体。PrivateSubcmdTest_Click()
Answer=________(“隐藏按钮”,vbOKCancel)IfAnswer=vbOKthencmdDisplay.Visible=______ElseDoCmd.CloseEndSub(2006.4)MsgBoxFalse一基本数据结构与算法1算法的基本概念,算法复杂度概念和意义(时间复杂度和空间复杂度)2数据结构的定义,数据的逻辑结构和存储结构,数据结构的图形表示,线性结构与非线性结构的概念3线性表的定义,线性表的顺序存储结构极其插入与删除的运算4栈和队列的定义:栈和队列的顺序存储结构及其基本运算5线性单链表多向链表与循环链表及其基本运算6树的基本概念,二叉树的定义及其存储结构,二叉树的前序,中序,后序遍历7顺序查找与二分法查找,基本排序算法(交换类,选择类,插入类)考试内容
1.1算法的基本概念
算法的定义:一个有穷的指令集,这些指令为解决某一特定问题规定了一个运算序列,即方法和步骤,在计算机学科中,算法就是计算机解决问题的过程或步骤。算法是解题方案的准确而完整的描述。算法等于程序?等于计算方法?结构化程序算法的特性如下。(1)可行性算法中的操作能够用已经实现的基本运算执行有限次来实现。(2)确定性算法中的每一步都有确切的含义。(3)有穷性一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。(4)拥有足够的情报当算法拥有足够的情报,此算法才是有效的。
考点1:算法的定义
例2.1.1
问题处理方案的正确而完整的描述称为______。[2005年4月填空第5题]
例2.1.2算法具有4个特性,以下选项中不属于算法特性的是(
)
A.有穷性
B.简洁性
C.可行性
D.确定性
答案:算法
答案:B
算法的时间复杂度指算法的时间耗费,算法时间是由控制结构和原操作的决定的。算法的时间复杂度用来衡量算法执行过程中所需要的基本运算次数。算法的时间复杂度是指算法所需要的计算工作量。算法的空间复杂度描述算法的存储空间需求,
数据的逻辑结构:用来描述数据元素之间的逻辑关系。
数据的存储结构:用来描述数据元素及数据元素之间的关系在存储器中的存储形式。*重点提示:
同一逻辑结构的数据可以采用不同存储结构,但影响数据处理效率。
数据的运算:即对数据元素施加的操作。 数据结构的图形表示:用图形来直观地表示数据及其之间的关系。数据结构包括逻辑结构、存储结构和数据的运算3个方面的内容。2007-9真题:6、下列叙述正确的是A、数据的逻辑结构与存储结构必定是一一对应的B、由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C、程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D、以上说法都不对5、下列叙述正确的是A、程序执行的效率与数据的存储结构密切相关B、程序执行的效率只取决于程序的控制结构C、程序执行的效率只取决于所处理的数据量D、以上说法都不对
数据的逻辑结构分为线性结构和非线性结构两类: 线性结构:数据元素之间构成一种顺序的线性关系,如图1-2所示。线性结构包括线性表、堆栈、队列和串。图1-2数据元素的线性关系非线性结构是指不满足以上条件的存储结构。非线性结构包括树、二叉树、图(或网络)和广义表。1.3线性表1.3.1线性表的顺序存储结构 线性表是最常用且最简单的一种数据结构。 采用顺序存储结构的线性表也叫做顺序表,如n个元素的线性表可以记为:L=(a1,a2,…,an)。线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素所占的存储空间是连续的。(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。顺序表有插入和删除两种基本操作。图1-4顺序表的插入*重点提示:顺序表的插入运算时需要移动元素,在等概率情况下,平均需要移动n/2个元素。*重点提示:顺序表的删除运算时也需要移动元素,在等概率情况下,平均需要移动(n-1)/2个元素。1.3.2线性表的链式存储结构
链式存储是指用一组地址任意的存储单元存放线性表中的数据元素。*重点提示:线性链表不能随机存取。 链式存储采用结点来表示数据元素。一个结点由两个部分构成:数据域和指针域。(1)单链表及其基本操作图1-5单链表*重点提示:线性链表中插入和删除元素时,需要移动元素么?只需要修改相关结点指针即可。图1-6单链表的插入图1-7单链表的删除(2)双向链表及其基本操作图1-8双向链表的插入1.4栈和队列1.4.1栈及其基本操作 栈是规定只能在表的一端进行插入和删除的线性表。允许插入和删除的一端称为栈顶,另一端称为栈底。当表中没有元素时称为空栈。由于栈的插入和删除运算仅在栈顶一端进行,后进栈的元素必定先被删除,所以又把栈称为后进先出(LastInFirstOut,简称LIFO)或先进后出(FILO)表。栈有插入(即进栈)和删除(即出栈)两种基本操作。
栈顶元素总是最后被插入的元素,最先删除的元素;栈底元素总是最先被插入的元素,最后被删除的元素。
栈具有记忆作用。
(2)
下列关于栈的描述中错误的是
A)栈是先进后出的线性表
B)栈只顺序存储
C)栈具有记忆作用
D)对栈的插入与删除操作中,不需要改变栈底指针
2005-4真题:(3)
若入栈元素的序列为a、b、c,则
是不可能的出栈序列。
A)b、c、aB)a、c、bC)c、a、bD)b、a、c
1.4.2队列及其基本操作 队列可以看作是插入在一端进行,删除在另一端进行的线性表。允许插入的一端称为队尾,允许删除的一端称为队头。队列又称为先进先出(First_In_First_Out,FIFO)或后进后出(LILO)表。队列的基本操作有插入(即入队)和删除(即出队)两种。队列只能在队尾插入元素,在队头删除元素。2007-4真题:5、下列队列的叙述正确的是A、队列属于非线性表B、队列按“先进后出”原则组织数据C、队列在队尾删除数据D、队列按“先进先出”原则组织数据一个队列的入对序列是1、2、3、4,则队列的输出序列是
。A.4、3、2、1B.1、2、3、4C.1、4、3、2D.3、2、4、1
栈和队列的共同点
。A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点
图1-10顺序队列2007-9真题:图1-11循环队列的插入和删除3、线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的()存储结构。图1-13树树是由n(n≥0)个结点组成的有限集合。在树结构中,一个结点所拥有的后件个数称为该结点的度。树的最大层次称为树的深度。
1.5.2二叉树的基本概念 一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根结点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。在二叉树中,每一个结点的度最大为2,即所有子树(左子树或右子树)也均为二叉树。
图1-145种二叉树二叉树的性质
1.在二叉树的第K层上,最多有2k-1(k≥1)个结点。
2.深度为m的二叉树最多有2m-1个结点。
3.在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。
4.具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分。
满二叉树与完全二叉树是两种特殊形态的二叉树。
满二叉树:每一层上的结点数均达到最大值,第K层上,最多有2k-1(k≥1)个结点且深度为m的二叉树最多有2m-1个结点。
完全二叉树:除最后一层外。每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。
图1-15满二叉树和完全二叉树完全二叉树还具有以下两个性质:
5、具有n个结点的完全二叉树的深度为[log2n]+1.
6、设完全二叉树共有n个结点。如果从根结点开始,按层序(每一层从左到右)用自然数1,2,……,n给结点进行编号,则对于编号为k(k=1,2,……,n)的结点有以下结论:
a)
若k=1,
则该结点为根结点,
它没有父结点;若k>1,则该结点的父结点编号为INT(k/2)
b)
若2k+1≤n,e)
则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(显然也没有右子结点)。
c)
若2k+1≤n,g)
则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。
根据完全二叉树的这个性质,如果按从上到下、从左到右顺序存储完全二叉树的各结点,则很容易确定每一个结点的父结点、左子结点和右子结点的位置。课本P46:8、在深度为5的满二叉树中,叶子结点的个数为()A、32B、31C、16D、1510、设树的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1.则T中的叶子结点数为(两种方法)A、8B、7C、6D、5课本P47:2、设一棵完全二叉树共有700个结点,则在该二叉树中有()叶子结点。8、一棵二叉树中共有70个叶子结点和80个度为1的结点,改二叉树中的总结点数为()A、219B、221C、229D、2312007-9真题:2007-4真题:7、某二叉树中有n个度为2的结点,则该二叉树中的叶子结点为A、n+1B、n-1C、2nD、n/2【例1-23】一棵二叉树的第六层(根结点为第一层)的结点数最多为32个。【例1-24】深度为5的二叉树至多有31个结点。【例1-25】设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点为
A。
A.8B.7C.6D.5【例1-26】某二叉树中度为2的结点有18个,则该二叉树中有19个叶子结点。【例1-27】具有88个结点的二叉树,其深度至少为7。【例1-28】在深度为7的满二叉树中,叶子结点的个数为
C。A.32B.31C.64D.63
图1-16二叉树的顺序表示1.5.3二叉树的存储结构(1)顺序存储结构*重点提示:一般二叉树通常采用链式存储结构,对于满二叉树和完全二叉树可以按层次进行顺序存储。 1.中序遍历
中序遍历的算法过程如下。(1)若二叉树为空,则空操作,返回。(2)否则依次执行:中序遍历左自树(L);访问根结点(V);中序遍历右自树(R)。
2.前序遍历
前序遍历二叉树的算法过程如下。(1)若二叉树为空,则返回。(2)否则依次执行:访问根结点(V);前序遍历左子树(L);前序遍历右子树(R)。 3.后序遍历
后序遍历的算法过程如下。(1)若二叉树为空,返回。(2)否则依次执行:后序遍历左子树(L);后序遍历右子树(R);访问根结点(V)。课本P47:3、设一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序便利结果为()2007-9真题:2007-4真题:6、对右列二叉树进行前序遍历的结果为A、DYBEAFCZXB、YDEBFZXCAC、ABDYECFXZD、ABCD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人力资源公司办公费用预算管理
- 房地产不动产买卖合同范例
- 宿舍区消防演练年度维修进度表
- 图书馆墙纸施工装饰服务
- 买卖古董合同范例
- 铁路工程供货施工合同
- 工程合同范例 微盘
- 拖车收费服务合同模板
- 正规合伙合同范例
- 信贷中介服务合同范例
- 中医常见病、优势病种诊疗方案分析、总结及评价(精)
- 动态规划经典教程完整版
- 焊接符号说明
- KK5-冷切锯操作手册-20151124
- 水电站设备检修管理导则
- 无人机导航与通信技术PPT完整全套教学课件
- 公共行政学网上学习行为300字
- 第四代篦冷机液压系统的故障与维护获奖科研报告
- 二次函数线段的最值课件
- 呼吸消化科科室现状调研总结与三年发展规划汇报
- 与复旦大学合作协议书
评论
0/150
提交评论