计算机二级Access笔试要点总结(1)

更新时间:2023-09-25 10:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Access数据库程序设计知识整理

第一章 Access数据库基础知识(4%-10%)

一、 数据库基础知识

考点一:数据库管理技术的发展

1. 数据库技术的发展大致经历了一下几个阶段:人工管理阶段、文

件系统阶段、数据库系统阶段、分布式数据库系统、面向对象数据库系统。

经典考题:

1. 数据库技术发展过程经历过人工管理、文件系统、数据库系统三

个阶段,其中数据独立性最高的阶段是数据库系统阶段。(05/9)

考点二:数据库的基本概念(?)

1. 数据:是描述现实世界事物的符号记录,是用物理符号记录的可以鉴别的信息。

2. 数据处理:是将数据转换为信息的过程。 3. 数据库(DB):是指长期存储在计算机内,有组织,可共享的数

据集合。

4. 数据库管理系统(DBMS):为数据库的建立、使用和维护而配置

的软件。功能:数据定义(数据定义语言DDL)、数据操纵(数据操纵语言DML)、数据库运行控制、数据库的建立和维护。 5. 数据库系统(DBS):硬件系统、数据库(DB)、数据库管理系统

(DBMS)、数据库管理员(DBA)、用户。 6. 数据库系统的核心:数据库管理系统。

经典考题:

1. 数据库(DB)、数据库系统(DBS)、数据库管理系统DBMS之

间的关系是()(06/4) A. DB包含DBS和DBMS B. DBMS包含DB和DBS C. DBS包含DB和DBMS D. 没有任何关系 答案:C

2. 数据库系统的核心是()(05/9)

A. 数据模型

B. 数据库管理系统 C. 数据库

D. 数据库管理员

答案:B

考点三:数据库系统的组成

1. 数据库系统由四个部分组成:硬件系统、系统软件(包括操作系

统、数据库管理系统等)、数据库应用系统和各类人员。

经典考题:

1. 下列叙述正确的是()(04/9)

A. 数据库系统是一个独立的系统,不需要操作系统的支持。 B. 数据库设计是指设计数据库管理系统。

C. 数据库技术的根本目的是要解决数据数据共享的问题。 D. 数据库系统中,数据的物理结构必须和逻辑结构一致。 答案:C

考点四:数据库系统的优点

1) 2) 3) 4)

数据结构化

数据的共享性提高 数据独立性提高

数据有数据库管理系统统一管理和控制

经典考题:

1. 数据库独立性是数据库技术的重要特点之一,所谓数据独立性是()(05/4)

A. 数据与程序独立存放

B. 不同的数据被存放在不同的文件中

C. 不同的数据只能被对应的应用程序所使用 D. 以上三种说法都不对 答案:D

考点五:数据模型

1. 为了反映事物本身及事物之间的各种联系,数据库中的数据必须

有一定的结构,这种结构用数据模型来表示。常见的数据模型有:层次模型、网状模型、关系模型。

经典考题:

1. 数据模型反映的是()(04/9)

A. 事物本身的数据和相关事物之间的联系 B. 事物本身所包含的数据 C. 记录中所包含的数据

D. 记录本身的数据和相关关系 答案:A

2. 用树形结构表示实体之间联系的模型是()(05/4) A. 关系模型 B. 网状模型 C. 层次模型 D. 以上三个都是 答案:C

二、 关系数据库

考点一:基本概念

关系数据库采用了关系模型作为数据的组织方式。

1. 关系:一个关系就是一张二维表。属性:二维表中的列,又称字段。

域:一个属性的取值范围。元组:二维表中的行,又称记录。码(关键字):能够唯一地标识一个元组的属性或属性的组合。

2. 外关键字:表中的一个字段不是本表的主关键字,而是另一个表的主

关键字和候选关键字。

经典考题:

1. 在关系数据库中,能够唯一的标识一个记录的属性或属性的组合,称为 (07/4) A. 关键字 B. 属性 C. 关系 D. 域 答案:A

考点二:关系运算(?)

1. 传统的集合运算:并、交、差

2. 专门的关系运算:选择、投影、联接 3. 选择:找出给定条件的元组(记录)。投影:指定若干属性(字段)

组成新的关系。

4. 联接:通过公共的属性名将两个关系模式拼接成一个更宽的关系模

式,生成的新关系中包含满足联接条件的元组(记录)。

5. 等值联接:联接运算中,按照字段对应相等为条件进行的联接操作。 6. 自然联接:去掉重复字段的等值联接。

经典考题:

1.

有两个关系R和T如下: R A B C a 1 2 b 2 2 c 3 2 d 3 2 T A B C c 3 2 d 3 2 则由关系R到关系T的操作是()(10/3) A. 选择 B. 投影 C. 交 D. 并 答案:A

2. 有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是 A)自然连接 B)交 C)投影 D)并 答案:A

三、 Access简介

1. Access是关系型数据库管理系统(RDBMS),是Office系列应用软件

之一。

2. Access数据库文件扩展名 .mdb,分为表、查询、窗体、报表、数据

访问页、宏、模块7种对象。

3. Access退出的快捷键:ALT+F4 ALT+F+X

经典考题:

1. Access数据库具有很多特点,下列叙述中,不是Access特点的是()。(07/4)

A. Access数据库可以保存多种数据类型,包括多媒体数据 B. Access可以通过编写应用程序来操作数据库中的数据 C. Access可以支持Internet/Intranet应用

D. Access作为网状数据库模型支持客户机/服务器应用系统 答案:D

解析:D项中的网状数据库应该为关系数据库。

第二章 数据库和表(4%-10%) 一、 创建数据库

Access数据库是一个独立的文件,其扩展名是mdb。它是由七个对象构成的,各对象是相互联系的,而不是独立的文件。

二、 建立表

1. 表的组成:字段和记录

2. 字段的命名规则:1-64个字符,不能以空格开头,不能包含句号(.)惊

叹号(!),方括号([ ])和单引号(‘) 3. 通配符:

* 通配任意个数的字符 ?通配任何单个字符

[]通配方括号内任何单个字符 !通配任何不在括号内的字符 #通配任何单个数字字符

4. 索引:加速查找和排序的速度。注:对于主键字段,系统默认添加索引

(无重复),并且不能更改。

5. 空值:缺值或还没有值(不确定的值)。

6. 空字符串:双引号括起的字符串,双引号中间没有空格。

7. 筛选的4种方法:按选定内容筛选,按窗体筛选,按筛选目标筛选,高

级筛选。

<筛选指选择满足条件的元组并显示出来,但并没有更改原表中的记录,只是显示内容上的变化>

考点一:Access数据类型

1. 2. 3. 4. 5.

文本:默认50个,最多255个,一个汉字占一位。 备注:长文本,最多64000个 数字:算术运算的数字 日期/时间

货币:等价于双精度的数字类型,自动显示美圆符号($)和千位分隔符,添加两位小数。

6. 自动编号:自动插入顺序号,每个表只能一个。 7. 是/否

8. OLE对象(图片,声音,word文档、Excel表格) 9. 超级链接 10. 查阅向导

经典考题:

1. A. B. C.

在Access数据库中,表就是()(04/9) 关系 记录 索引

D. 数据库 答案:A

考点二:字段属性的设置

1. 格式:定义数字,日期,文本的显示方式和打印方式。 2. 数字格式(货币):有预定义和自定义,系统提供的预定义有:常规

数字,科学计算,货币,欧元,百分比等

3. 日期/时间格式:系统提供的有常规日期,常日期,短日期等等

4. 输入掩码:规定数据的输入模式,输入掩码向导只处理日期和文本数

据类型。“格式”属性要优先于“输入掩码”属性。 以下为一些常用的输入掩码: 0 必须是0-9的数字

9 可以选择数字或空(不可以输入正号和负号) # 可以选择数字或空(可以输入正号和负号) L 必须是A-Z的字母

? 可以选择A-Z的字母或空格 A 必须是字母或数字

a 可以选择字母、数字或空格 & 必须是任一字符或空格

C 可以选择任一字符,空格或空

(注意空是不填,空格是要敲一个空格字符)

\\ 可以用于将该表中的任何字符显示为原义字符(例如:\\A显示为A)

5. 有效性规则:限定输入数据必须满足的规则,若输入不满足条件,则

弹出信息窗口,显示有效性文本中指定的内容

经典考题:

1. 邮政编码是由6位数字组成的字符串,为邮政编码设置输入掩码,正确的是()(07/4) A. 000000 B. 999999 C. CCCCCC D. LLLLLL 答案:A

2. 通配符“#”的含义是()(10/3) A. 通配任意个数的字符 B. 通配任何单个字符

C. 通配任意个数的数字字符 D. 通配任何单个数字字符 答案:D

3. 若要求在文本框中输入文本时达到密码“*”的显示效果,则应该设置的属性是()(10/3) A. 默认值 B. 有效性文本

C. 输入掩码 D. 密码 答案:C

解析:没有“密码”这个属性,但可以先设置输入掩码,再在输入掩码中填入“密码”二字来完成这个效果(输入字符,显示为*)。

第三章 查询(8%-10%)

考点一:查询的分类

1. 查询常用的有:选择查询(最常见)、参数查询(对话框提示用户输入)、交叉表查询(利用行和列进行数据统计)、操作查询(包括四种:生成表,删除,更新,追加)、SQL查询。 特别注意〈上机〉:在上机练习中,如果根据题意要进行分组统计等操作,我们需要在查询设计窗口中,选中视图菜单的总计选项,这样设计窗口就会出现总计项,我们可以根据需要进行选择,如下图所示:

经典考题:

1. 在创建交叉表查询时,列标题字段的值显示在交叉表的位置是()(07/4) A. 第一行 B. 第一列 C. 上面若干行 D. 左边若干行 答案:A

2. 在Access中,查询的数据源可以是()(07/9) A. 表 B. 查询 C. 表和查询

D. 表、查询和报表 答案:C

考点二:查询的准则

1. Access提供了3中运算符:关系运算符(> < =等)、逻辑运算符(与、

或、非)、特殊运算符(Between In IS Like) 2. 数值函数:

Abs(绝对值函数):Abs(-43)=43 Int(取整函数):Int(99.7)=99 Int(-99.7)=Int(-99.3)= -100

Sqr(平方根函数):Sqr(4)=0 Sgn(符号函数):Sgn(任何大于0的数)=1 Sgn(0)=0 Sgn(任何小于0的数)= -1

字符函数:

Space(5)返回五个空格组成的字符串“ ”。 String(5,“*”)返回“*****” String(4,“ABCD”)返回“AAAA”

Len(“虎贲教育”)返回数值4 Len(“虎贲 教育”)返回数值5

Left(),Right():Right(“中国上海”,2)返回上海 Left(“中国上海”,5)返回中国上海

Ltrim():删除字符串的前面的空格 Rtrim():删除字符串的后面的空格 Trim():同时删除前后面的空格

Mid(“上海虎贲教育公司”,5)返回“教育公司” Mid(“上海虎贲教育公司”,3,2)返回“虎贲” 日期函数:

系统日期:Date() 年函数:Year() 月函数:Month() 日函数:Day()

系统日期和时间函数:Now() 统计函数:

就和函数:Sum() 求平均值:Avg()

统计记录个数:Count()

最大、小值函数:Max() Min()

经典考题:

1. 在一个Access的表中有字段“专业”,要查找包含“信息”两个字的记录,正确的表达式是()(07/9) A. =left([专业],2)=“信息” B. like“*信息*” C. =“*信息*”

D. Mid([专业],2)=“信息” 答案:B

解析:属于模糊查询,只能用like关键字。

2. 在报表中要计算“数学“字段的最高分,应将控件的”控件来源”属性设置为()(07/9)

A. =Max([数学]) B. Max(数学) C. = Max[数学] D. = Max(数学)

答案:A

3. 在报表中,要计算“数学”字段的最低分,应将控件的“控件来源”属性设置为()(10/9) A. =Min([数学]) B. =Min(数学) C. =Min[数学] D. =Min(数学) 答案:A

4. 假设“公司”表中有编号、名称、法人等字段,查找公司名称中有“网络”二字的公司信息,正确的命令是()(10/3) A. SELECT * FROM公司FOR名称 = \网络* \B. SELECT * FROM公司FOR名称LIKE \网络*\C. SELECT * FROM公司WHERE名称=\网络*\D. SELECT * FROM公司WHERE名称LIKE\网络*\答案:D

5. 利用对话框提示用户输入查询条件,这样的查询属于()(10/3) A. 选择查询 B. 参数查询 C. 操作查询 D. SQL查询 答案:B

6. 在SQL查询中“GROUP BY”的含义是()(10/3) A. 选择行条件 B. 对查询进行排序 C. 选择列字段 D. 对查询进行分组 答案:D

解析:ORDER BY 用来对检索的结果进行排序。

第四章 窗体(4%-10%) 考点一:窗体的作用

1. 窗体有:显示和编辑数据、显示信息(提示、警告、错误信息)、控

制应用程序的流程、打印数据

考点一:窗体的组成和结构

1. 数据来源:表、查询、SQL语句

2. 节:窗体有多个部分组成,每个部分称为一个“节”。节:窗体页眉、

页面页眉、主体、页面页脚、窗体页脚。

考点三:窗体的类型

1. 窗体的类型:纵栏式、表格式、数据表、主/子窗体、图标窗体和数据

透视表窗体。

考点三:窗体视图

1. 窗体有三种视图:设计视图、窗体视图、数据表视图。

考点三:窗体操作

经典考题:

1. 为窗体或报表的控件设置属性值的正确宏操作命令是()(10/3) A. Set B. SetData C. SetValue D. SetWarnings 答案:C

2. 在窗体中,用来输入或者编辑字段数据的交互控件是()(07/9) A. 文本控件 B. 标签控件 C. 复选框控件 D. 列表控件 答案:A

3. 假定窗体的名称为fmTest,则把窗体的标题设置为“Access Test”的语句是()(05/4) A. Me=“Access Test”

B. Me.Caption=“Access Test” C. Me.text=“Access Test” D. Me.Name=“Access Test” 答案:B

4. 为窗体中的命令按钮设置打击鼠标事件时发生的动作,应该选择设置其属性对话框的是()(06/4) A. 格式选项卡 B. 事件选项卡 C. 方法选项卡 D. 数据选项卡 答案:B

第五章 报表 (6% 非重点) 考点一:报表的定义

1. 报表和窗体的区别:报表只能显示数据,不能输入和编辑数据。 2. 报表的区域组成:报表页眉/页脚,页面页眉/页脚,组页眉/页脚,主

体。

3. 要实现报表的分组统计,设置:组页眉和组页脚; 4. 要设置在报表每一页底部都输出信息,设置:页面页脚 5. 要设置只在报表最后一页主体内容之后输出的信息,设置:报表页脚。 6. 要统计报表某个字段的全部数据,计算表达式则放在:报表页眉/报表

页脚。

7. 要显示报表的页码在文本框的控件来源属性为:=[page] 8. 报表的数据来源:表、查询、SQL语句。

9. 报表的4中类型:纵栏式报表,表格式报表,图标报表,标签报表。

经典考题:

1. 要实现报表的分组统计,其操作区域是()(05/4) A. 报表页眉/页脚 B. 页面页眉/页脚 C. 主体区域

D. 组页眉/组页脚 答案:D

考点二:报表的操作

经典考题:

1. 在报表设计中,可以通过添加 控件另起一页输出显示。(05/9) 答案:分页符

2. 在报表设计工具栏中,用于修饰版面以达到更好的显示效果的控件是()(05/9) A. 直线和矩形 B. 直线和圆形 C. 直线和多边形 D. 矩形和圆形 答案:A

第六章 数据访问页(2% 非重点) 考点一:数据访问页的定义

1. 数据访问页的两种视图:页视图和设计视图

2. 数据库访问页可以把Access数据库中的数据发布在Internet网络上

经典考题:

1. A. B. C.

数据访问页可以简单的认为就是一个()(06/3) 网页

数据库文件 Word文件

D. 子表 答案:A

考点二:数据访问页的类型

1. 数据访问页的类型有:交互式报表、数据输入、数据分析。

第七章 宏(6%-10%) 考点一:宏的基本概念

1. 2. 3. 4.

宏是由一个或多个操作组成的集合。

宏分为操作序列宏、宏组和条件操作的宏。 自动运行的宏名为AutoExec

引用窗体上的控件值:forms![窗体名]![控件名] 引用报表上的控件值:Reports![报表名]![控件名]

5. 在宏的设计时,对于连续重复的条件,可以用?符号代替重复的条件

经典考题:

1. 宏是一个或者多个 的集合。(04/9) 答案:操作命令

2. 下列关于宏的说法中,错误的是()(05/9) A. 宏是多个操作的集合

B. 每一个宏操作都有相同的宏操作参数 C. 宏操作不能自定义

D. 宏通常与窗体、报表中命令按钮相结合来使用 答案:B

考点二:宏的操作

经典例题:

1. 使用宏组的目的是()(06/4) A. 设计出功能复杂的宏 B. 设计出包含大量操作的宏 C. 减少程序内存消耗

D. 对多个宏进行组织和管理 答案:D

2. 如果希望按满足指定条件执行宏中的一个或者多个操作,这类宏称为 。(07/4) 答案:条件操作宏

注:要想使得宏在启动数据库时自动运行,应该将宏命名为AutoExec。

第八章 模块(18%—22%,近年逐年增加,是重点考查内容) 考点一:模块的基本概念

1、 类模块:窗体和报表都属于类模块,而且它们各自与某一窗体或报表

相关联(类模块可以作为独立的模块存在);

2、 标准模块:一般用于存放其他Access数据库对象使用的公共过程; 3、 将宏转化为模块:其实就是将宏实现的功能用模块(写VBA代码的

方法)来表达出来。

考点二:创建模块

1、 创建新模块:这里注意创建类模块和创建标准模块的不同;

2、 在模块中加入过程:所有的VBA程序代码都必须存在于过程中; 3、 在模块中执行宏:可以使用DoCmd对象的RunMacro方法,具体格式为:

DoCmd.RunMacro 宏名称

考点三:VBA程序设计基础

1、 面向对象程序设计的基本概念 〈1〉 对象:是将数据和代码封装起来的实体; 〈2〉 属性和方法:描述了对象的行为和性质,引用方式为:对象.属

性或对象.方法; 〈3〉 事件和事件过程:

事件是access对象控件可以识别的“动作”,如单击命令按钮,向文本框中输入内容等;

事件过程就是为某个事件编写VBA代码过程,完成指定动作; 两者的区别就:事件是系统确定好的,事件过程可以由用户来编写。

2、 VBA编程基础——常量、变量、运算符和表达式 〈1〉 VBA的数据类型:

Integer 整型、String 字符型、Single 单精度型、Double 双精度型、Boolean 布尔型、Date 日期型,Variant 变体型

注解1:当转化其他的数值类型为Boolean类型时,0会转成False,而其他的值则转成了True;而将Boolean类型转成其他类型时,False成为0,而True成为-1.

注解2:变量没有显示声明(用如Dim、Private、Static等语句),那么默认为变体类型。是一种特殊的数据类型,除了定义长String数据以及用户定义类型外,可以包含任何种类的数据。 〈2〉 变量

--声明变量的两种方法:隐性声明(默认为variant类型)和显性声明;

注解:如果是 Dim x,y,z As Integer ,那么x,y为Variant类型。

--变量的三个范围级别 ? 过程级别

只有在声明此变量的过程中才可以使用的变量成为局部变量。可以使用Dim 或Static关键字来定义。

注解:Dim定义的变量只有在其所在的过程运行时有值,static定义的变量在整个程序运行期间都有值。 ? 私有模块级别

私有模块定义的变量只对所属模块过程可用,可以使用Dim和Private定义。 ? 公共模块级别

一般用public来定义,所有的模块都可以用。

〈3〉 数组

--可以同时定义多个变量,有一维数组,二维数组…;

--默认情况下数组下标为0,除非用Option Base 1来把默认值更改为1;

--如定义一个一维数组 Dim s(3) as integer ,它等同于: Dim s(0 to 3) as integer ,两者都定义数组中有4个元素,分别是:s(0),s(1),s(2),s(3);

--对于一个二维元素,根据同样的道理,如m(1,2),那么就这个元素中就包含2*3=6个元素。 〈4〉 运算符

--数学运算符〈重点掌握整数除法和求模运算符,见P96〉 --比较运算符〈注意比较运算符的结果为逻辑值,true,false〉 --连接运算符〈&(强制将两个表达式作为字符串连接) 和+(连接字符串数据)〉

--逻辑运算符〈结果同样为逻辑值〉 --表达式与优先级

举例:求表达式12*3/4-7 mod2+2>3的值

因为:算数运算符>连接运算符>关系运算符>逻辑运算符,算数运算符中乘除符号>求模>加减符号(具体见P98 表8.7) 9-1+2>3,进一步推得10>3,所以结果为true。 〈5〉 标准函数

--这些函数都是系统已经定义好的内置函数,使用就可以完成特定的功能,这一部分需要熟记,并知道每个函数的用法。 具体见P98.

3、 VBA程序流程控制语句 〈1〉 语句的三个分类:

声明语句:命名和定义过程、变量、数组以及常数;

可执行语句:执行赋值、判断、循环等各种操作,运行函数或过程等;

赋值语句:将变量或常量赋给一个值或表达式。 〈2〉 注释语句

--使用Rem语句,格式为: Rem 注释语句

注解:如果Rem和代码语句在同一行,则前面应该加上冒号(:)

--使用 ‘ ,格式为: ’ 注释语句

〈3〉 条件语句:根据条件表达式的值来选择程序运行语句 ? If….Then

? If…Then…Else

例题:下面是一个多分支选择结构考题。 在窗体中添加一个名称为 分析: Command1的 本题是一个if条件结构的多分支程序,命令按钮,然后编写如下事件代码: 首先进行判断,如果满足条件就执行该Private Sub Command1_Click() 条件下的代码。 a=75 并且,当其执行过某个分支之后就会退 If a>60 Then 出条件语句。 k=1 对本题来说,a=75>60,所以执行k=1,然 ElseIf a>70 Then 后退出条件结构,即使下面的也符合条 k=2 件也不会继续执行。 ElseIf a=85 Then k=3 ElseIf a=85 Then k=4 EndIf MsgBox k End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果是() A 、 1 B、 2 C、3 D、4

? Select Case

? 注解;当遇到多分支结构时,当某分支条件正确并执行过某个分支后,就会跳出判断,不会选择继续向下判断。 〈4〉 循环语句 ? Do…Loop Do While <条件表达式> Do 程序代码 程序代码 Loop Loop While <条件表达式> 注:对于While,条件表达式为真时执行循环,为假就退出循环。

While在Do后面与在Loop后面的不同:前者先判断,成立就执行,后者是先执行,后判断条件是否满足,继续执行循环。即使开始条件为假,后者也会执行1次。

对于Until同样如此分析。 Do Until <条件表达式> Do 程序代码 程序代码 Loop Loop Until <条件表达式> 注:对于Until,条件表达式为假时执行循环,为真就退出循环。 ? For…Next For 变量=初值 To 终值 Step 步长 程序代码 Next

注意:判断For循环执行与否的条件(P109)。 例题: sum=0 认)>0,所以当循环变量i<=终 For i=0 to 4 值时,循环可以进行。具体来看 sum=sum+i 看执行情况。 next debug.print sum 对于所有循环我们都可以列一个表来分析:(如下)

Dim sum as integer 因为这个for循环步长step=1(默 循环次数 循环变量i sum的值 因此,经过分析,我们知道这个 1 0 0 循环执行了5次,直到循环变量 2 1 1 i>4终止循环。输出sum。 3 2 3 这个程序的功能就是求出了从0 4 3 6 —4的所有整数的和。 5 4 10 4、 过程调用和参数传递

〈1〉 过程调用

子过程调用的两种方式:

Call 子过程名([<参数>])或将Call省略 函数子过程调用:函数过程名([<参数>]) 〈2〉 参数传递

在函数或者子过程定义时,如果使用ByRef关键字,则说明参数是传址传递,这时形参的变化会影响到相应的实参,也就是说参数的变化是双向的;

如果使用ByVal关键字,则说明参数是传值传递,这时形参的变化不会影响到相应的实参,也就是说参数的变化是单向的;

默认情况下,参数是传址传递的,也就是说参数的变化是双向的。

例题:

在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码: 问:窗体打开运行后,单击命令按钮,则消息框的输出结果为___.(2008-9)

分析: Private Sub Command1_Click() 这里关键是在定义过程p时,定义参数 Dim x As Integer,y As Integer 的方式:因为默认是传址传递,ByVal x=12:y=32 关键字表明是传值传递,则说明第一个 Call p(x,y) :Rem 调用下面定义的过程P 参数n是传址传递,m是传值传递。 Msgbox x*y 那么,x=12传递给n后,n=n Mod 10 End Sub 为2,会使得x也变为2; 而对于m是传值传递,所以无论如何变 Public Sub p(n as Integer, ByVal m As Integer) n=n Mod 10 m=m Mod 10 End Sub 化都不会影响y。 所以调用过程p后,x=2,y=32 答案应该为64.

注意:判断For循环执行与否的条件(P109)。 例题: sum=0 认)>0,所以当循环变量i<=终 For i=0 to 4 值时,循环可以进行。具体来看 sum=sum+i 看执行情况。 next debug.print sum 对于所有循环我们都可以列一个表来分析:(如下)

Dim sum as integer 因为这个for循环步长step=1(默 循环次数 循环变量i sum的值 因此,经过分析,我们知道这个 1 0 0 循环执行了5次,直到循环变量 2 1 1 i>4终止循环。输出sum。 3 2 3 这个程序的功能就是求出了从0 4 3 6 —4的所有整数的和。 5 4 10 4、 过程调用和参数传递

〈1〉 过程调用

子过程调用的两种方式:

Call 子过程名([<参数>])或将Call省略 函数子过程调用:函数过程名([<参数>]) 〈2〉 参数传递

在函数或者子过程定义时,如果使用ByRef关键字,则说明参数是传址传递,这时形参的变化会影响到相应的实参,也就是说参数的变化是双向的;

如果使用ByVal关键字,则说明参数是传值传递,这时形参的变化不会影响到相应的实参,也就是说参数的变化是单向的;

默认情况下,参数是传址传递的,也就是说参数的变化是双向的。

例题:

在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码: 问:窗体打开运行后,单击命令按钮,则消息框的输出结果为___.(2008-9)

分析: Private Sub Command1_Click() 这里关键是在定义过程p时,定义参数 Dim x As Integer,y As Integer 的方式:因为默认是传址传递,ByVal x=12:y=32 关键字表明是传值传递,则说明第一个 Call p(x,y) :Rem 调用下面定义的过程P 参数n是传址传递,m是传值传递。 Msgbox x*y 那么,x=12传递给n后,n=n Mod 10 End Sub 为2,会使得x也变为2; 而对于m是传值传递,所以无论如何变 Public Sub p(n as Integer, ByVal m As Integer) n=n Mod 10 m=m Mod 10 End Sub 化都不会影响y。 所以调用过程p后,x=2,y=32 答案应该为64.

本文来源:https://www.bwwdw.com/article/synd.html

Top