百年教育职业培训中心 百年教育学习服务平台
题库试卷

Visual Basic程序设计

来源: 更新时间:

0514《VisualBasic程序设计》2019年6月期末考试指导一、考试说明(一)说明满分为100分,考试时间为90分钟,考试形式为闭卷。(二)题型及各题型所占分数和相应的答题技巧1.单项选择题(

0514《Visual Basic程序设计》2019年6月期末考试指导

一、考试说明

(一)说明

满分为100分,考试时间为90分钟, 考试形式为闭卷。

(二)题型及各题型所占分数和相应的答题技巧

1.单项选择题(每题2分,共10题,总计20分)

答题技巧:选择与题干相匹配的答案。可以考虑排除法等选择技巧。

2.写程序运行结果(每题10分,共5题,总计50分)

答题技巧理解程序中的代码,并写出相应的运行结果。

3. 编程题(每题30分,共1题,总计30分)

答题技巧:理解题意,注意输入输出,并编写相应的代码。

二、复习重点内容

第一章 程序设计基础

1、面向对象的程序设计

对象:用于描述某一实体。如公司、房屋、人、汽车等属性,事件,方法

类:将带有相似属性和行为的事物组合在一起。

封装:将数据和操作数据的函数衔接在一起,构成一个具有类型的对象的描述。

继承:在面向对象的语言中,可以从一个类生成另一个类。派生类(也称子类)继承了其父类和祖先类的数据成员和成员函数。

多态性:多态性是一种面向对象的程序设计功能,当同样的消息被不同的对象接收时,却导致完全不同的行为,即完成不同的功能。

第二章 Visual Basic简介

1、Visual Basic的集成开发环境(IDE)

(1)标题栏

    三种工作模式: 设计模式、运行模式、中断模式。

(2)菜单栏:有两种形式:弹出和下拉

(3) 工具栏

(4)工具箱: 控件的容器

   控件: 用于创建对象,每个控件都有其属性、事件和方法。单击某控件的内部,可以使该控件变为活动的。

    分类: 内部控件—默认状态下工具箱中显示的控件;ActiveX控件—存于.OCX文件中,包括各种版本的VB控件,必要时可添加到工具箱中。

可插入对象—将其他应用程序产品作为一个对象加入到工具箱中。如Excel工作表、公式等。

    添加选项卡: 右击工具箱→添加选项卡→输入名称

    添加控件: 将控件直接拖入新选项卡

切换选项卡: 单击选项卡名称

(5)工程资源管理器窗口

工程: 每个应用程序可称为一个工程

      每个工程可包括多种类型的文件

文件类型: .Vbp   .Frm   .Bas  .Cls  .Res   .Ocx  .Frx

打开代码窗口,除了单击“工程资源管理器”窗口中的“查看代码”按钮之外,也可以双击窗体或窗体上的控件,或按F7键

(6)属性窗口

显示: 视图→属性窗口;使用工具栏按钮;按F4键

2、可视化编程的基本概念

(1)对象

对象:代码和数据的集合。如:窗体、按钮、菜单、文本框等。

    对象名: 如:Form1、Command2、Menu1、Text3

(2)属性

    属性: 对象的一组特征,如:标题、宽度、字体等

    属性名: 如Caption、Width、Font、Color

    属性设置方法:

        设计阶段在属性窗口中设置

        在代码中设置: <对象名>.<属性名>=<属性值>

    例: Form1.Caption= "学籍管理"

           CmdOK.Caption="确定"

(3)事件

事件: 在对象上所发生的事情。如单击、双击、内容改变、尺寸改变等

     事件是固定的。

     事件过程: 发生某事件后所要执行的程序代码

      一般格式:

         Private Sub <对象名>_<事件名>([<参数表>])

             <程序代码>

          End Sub

当窗体被加载时,就会运行Load事件。

(4)方法

方法: 用于对对象进行一定的操作。由函数或过程实现。方法是固定的

调用格式为: [<对象名>.]方法名 [<参数表>]

3、窗体和命令按钮

(1)窗体:窗口(一般,设计期称窗体、运行期称窗口)

窗体模块: 每个窗体对应于一个窗体模块

属性:

Name(名称): 窗体的名称,且是磁盘上的窗体文 件名,扩展名为.frm。

BackColor: 窗体的背景颜色。

BorderStyle: 窗体的边框样式 。BorderStyle 属性设置值如下:

常数

设置值

描述

vbBSNone

0

无(没有边框或与边框相关的元素)。

vbFixedSingle

1

固定单边框。可以包含控制菜单框,标题栏,“最大化”按钮,和“最小化”按钮。只有使用最大化和最小化按钮才能改变大小。

vbSizable

2

(缺省值)可调整的边框。可以使用设置值1列出的任何可选边框元素重新改变尺寸。

vbFixedDouble

3

固定对话框。可以包含控制菜单框和标题栏,不能包含最大化和最小化按钮,不能改变尺寸。

vbFixedToolWindow

4

固定工具窗口。不能改变尺寸。显示关闭按钮并用缩小的字体显示标题栏。窗体在 Windows 95 的任务条中不显示。

vbSizableToolWindow

5

可变尺寸工具窗口。可变大小。显示关闭按钮并用缩小的字体显示标题栏。窗体在 Windows 95 的任务条中不显示。

Caption(标题) : 窗体标题栏显示的内容。

ControlBox: 决定窗体是否具有控制菜单

Font: 窗体中输出字符的字体、大小等特性。

ForeColor: 窗体的前景颜色。

Icon: 运行时窗体处于最小化时所显示的图标。

MaxButton: 决定窗体的标题栏中是否具有最大化按钮。

Moveable: 决定窗体是否能移动

Picture: 设置要在窗体上显示的图片。

WindowState: 决定运行时窗体是正常、最小化还是最大化。

(2)命令按钮

属性:

Name(名称): 按钮对象名。必须以一个英文字母开始,且最多40个字符。不能包含标点符号或空格。

Caption: 命令按钮的标题。在字符前加一个“&”符号,该字符就会带有一个下划线,成为访问键。运行时,同时按下Alt键和带下划线的字符。

Font: 设置文字的字体、字形、大小和效果等。

Default: 指定该命令按钮是否为窗体的缺省按钮。

Cancel: 指定该命令按钮是否为窗体的取消按钮。

事件: Click; KeyDown; KeyUp; MouseDown; MouseUp等

例: Private Sub Command1_Click()

           Shell "c:\windows\write.exe", vbNormalFocus

       End Sub

       Private Sub Command2_Click()

           Command1_Click       ' 选中Command1

       End Sub

      Private Sub Command3_Click()

           Command1.Value = True    ' 选中Command1

      End Sub

方法: SetFocus等, 将焦点定位在指定的命令按钮上

第三章 Visual Basic程序设计代码基础

1、数据类型

主要有: 数值型;字符串型;布尔型;日期型

(1)数值型数据:Integer(整型),Long(长整型),Single(单精度浮点型),Double(双精度浮点型),Currency(货币型),Byte(字节型)

整数类型

整型(Integer)

     以2个字节存储

     十进制表示:  由+  -号,0~9  组成

                 范围: -32768~32767

     八进制表示: 以&O开头,由 0~7 组成

                 范围: &O0 ~&O177777

     十六进制表示: 以&H开头,由 0~9,A~F组成

                    范围: &H0 ~&HFFFF

长整型(Long)      

      以4个字节存储

     十进制表示: 由+  -号,0~9  组成

                 范围: -2147483648~+2147483647

     八进制表示: 以&O开头,以&结束

                 范围: &O0& ~&O37777777777&

     十六进制表示: 以&H开头,以&结束

                 范围: &H0& ~&HFFFFFFFF&

实数类型

    浮点数采用IEEE格式, 由尾数及指数组成:

              [±]...[.... ][E|D] [±]

单精度浮点型(Single)

      以4个字节存储,可以精确到7位十进制数

      例: 3.234E+2   表示3.234102

            -28E9          表示-28109

            4.56E-17     表示4.5610-17

双精度浮点型(Double)

      以8个字节存储,可以精确到16位

       3.234D+2    表示3.234102

      -28D9          表示-28109

      4.56D-17     表示4.5610-17

(2)字符串型数据(String):由""括起来的一串符号。例: "abc" "计算机" ""(空串)

如果字符串本身包括双引号,可用连续两个双引号表示。

(3)布尔型数据(Boolean):用于进行逻辑判断,只有True和False两个值

(4)日期型数据(Date):用于表示日期和时间。格式: #……#。VB接受许多种日期时间格式

(5)对象型数据(Object):以4个字节存储,用于引用程序中的对象。

(6)可变类型数据(Variant),又称为变体类型;可以包含任何类型的数据。 可以包含 Empty、Error、及 Null等特殊值 。

2、变量

一个有名称的内存单元称为变量。程序执行期间,用变量临时存储数值。变量的值可以发生变化。每个变量都有名称和数据类型。

变量的命名规则:

第一个字符必须是字母

长度不超过255个字符

不可以包含小数点或者内嵌的类型声明字符

不能使用关键字

不能与过程名或符号常量同名

变量的声明 :

格式:Dim|Private|Public| Static <变量名> [As <类型>]

Dim: 在窗体模块、标准模块或过程中声明变量。

Private: 在窗体模块或标准模块中声明变量,使变量仅在该模块中有效。

Public: 在标准模块中声明全局变量,使变量在整个应用程序中有效。

Static: 在过程中定义静态变量,即使该过程结束,也仍然保留变量的值。

隐式声明:可变类型。易出错、浪费空间

强制显式声明:在模块的声明段中使用语句: Option Explicit

如果设置: 工具→选项→编辑器→Ö要求变量声明。则在后续模块中自动插入Option Explicit

3、运算符与表达式

(1)算术运算符与算术表达式

运算符:

   (  )   ^  *    /    \ (整除)    Mod(求余)    +    -

   优先级: (  )→^→ *    /→ \ → Mod →+    -

乘方运算:例如 10^2     10的平方,结果为100

整数除法:例如10\4       结果为2

取模运算:例如10 Mod 4             结果为2

(2)字符串运算符与字符串表达式

字符串运算符有两个:  &    +

例: "Check" & 123          结果为"Check123"

123 + 456               结果为579

     “123” + “456”      结果为“123456”

(3)关系运算符与关系表达式

比较运算符

     <(小于)      <=(小于或等于)

     >(大于)     >=(大于或等于)

     =(等于)     <>(不等于)

表达式: <表达式1> <比较运算符> <表达式2>

如何比较

    数值比较: 按数值大小

    日期比较: 按整数的值比较

    单字符比较: 缺省情况下按字符的内部二进制表示比较

    典型的二进制排序顺序如下:

     " "<"0"<"1"<……<"9" <"A"<"B"<……"Z"

      <"a"<"b"<……<"z"

    字符串比较:从左开始逐个比较

比较结果: True    False

(4)布尔运算符与布尔表达式

布尔运算符: Not   And    O

布尔表达式:<关系表达式1> <布尔运算符> <关系表达式2>

优先级:  Not→And→Or

(5)表达式的运算顺序

( ) →函数运算→算术运算→关系运算→布尔运算

4、常用内部函数

数学函数

例:  Fix(45.67)        结果为45

     Int(45.67)        结果为45

     Fix(-2.89)        结果为-2

     Int(-2.89)        结果为-3

     Abs(-4)           结果为4

     Log(10)           结果为2.30258509299405

     Sgn(3)            结果为1  返回自变量的符号

     Sgn(-6)           结果为-1

     Sgn(0)            结果为0

Sqr(64)           结果为8 返回自变量的平方根

字符串函数

例:   LTrim("∪∪∪ABC")        结果为"ABC"

RTrim("ABC∪∪∪")              结果为"ABC"

Trim("∪∪∪ABC∪∪∪")         结果为"ABC"

Left("ABCDE",2)                 结果为"AB"

Right("ABCDE",2)                结果为"DE"

Mid("ABCDE",2,3)                结果为"BCD"

Mid("ABCDE",2,6)                结果为"BCDE"

第四章 顺序结构程序设计

1、焦点和Tab键序

焦点:当前可以接收用户输入的对象称为具有焦点。

注意: 并非所有控件都可以接收焦点。而且,  只有Enable和Visible属性为True时,才可以接收焦点。

事件:GotFocus    发生在对象得到焦点;LostFocus    发生在对象失去焦点时

对象何时得到焦点:运行时选择对象(鼠标、Tab键、访问键);在代码中使用SetFocus方法

Tab键序:指按Tab键时光标在各个控件之间移动的顺序。

     每个窗体都有自己的Tab键序。

     默认键序与控件的建立次序一致。

    TabIndex属性: 决定键序;改变TabIndex属性可以改变键序

    TabStop属性: 决定是否能够使用 TAB 键将焦点移动到当前对象。

2、数据输入
赋值语句;输入框(InputBox),文本框(TextBox)
(1)用输入框(InputBox)输入数据:
格式 <变量>=InputBox(<提示信息>[,<标题>][,<默认值>])
功能:提示一对话框,等待用户输入正文或按下按钮, 并返回包含文本框内容的字符串。

<提示信息>: 字符串表达式。

            可用Chr(13)、Chr(10)、、vbCrLf换行。

<标题>: 字符串表达式。

<默认值>: 字符串表达式。如果省略,则默认为空。

返回值: 字符串(在对话框中单击取消则返回"")

(2)用文本框(TextBox)输入数据

文本框的属性:

Text: 返回或设置文本框显示的内容。 例:  Text1.Text = "欢迎使用Visual Basic"
MultiLine: 决定是否可以显示多行文本。
PasswordChar: 常用于输入口令。
ScrollBars: 用于确定文本框是否带滚动条以及滚动条的方向。
SelStart: 在运行期返回或设置当前选择文本的起始位置。
SelLength: 在运行期返回或设置选择的字符数。
Locked: 指定运行时文本框内容是否可以编辑。
文本框的事件和方法
事件:Change(文本框Value属性发生变化时触发)、Click、DblClick、GotFocus、LostFocus(ex4_4)、KeyPress(ex4_5) 等
方法: SetFocus

3、数据输出

(1)用Print方法输出数据

Print方法格式: [<对象名>.]Print[<表达式表>][{;|,}]

有关的函数:

Tab函数 :Tab[(n)] 在指定的第n个位置上输出数据。

Spc函数 :Spc(n) 跳过n个空格。

Format函数:Format(表达式,格式字符串)是格式输出函数可以使数值、日期按指定的格式输出。其中表达式可以是数值型、日期型或字符型的表达式。该函数的功能是:按“格式字符串”指定的格式输出“表达式”的值。如果省略“格式字符串”,则函数的功能与Str函数基本相同。唯一的差别是,当把正数转换成字符串时,Str函数在字符串前面留有一个空格,而Format函数则不留空格。

<表达式表>: 多个表达式使用逗号或分号隔开。逗号: 以14个字符位置为单位把一个输出行分成若干区段。分号: 后一项紧跟前一项输出。

(2)用消息框(MsgBox)输出数据

格式:  <变量>=MsgBox(<提示信息>[,<按钮类型>][,<标题>])或:MsgBox <提示信息>[,<按钮类型>][,<标题>]

功能: 在对话框中显示消息,等待用户单击按钮,并返回一个整数告诉用户单击了哪个按钮。

第五章 选择结构程序设计

1、 单行结构条件语句

格式:If <条件> Then [<语句组1>] [Else <语句组2>]

功能:如果<条件>成立,则执行<语句组1>;否则执行<语句组2>

2、 块结构条件语句

格式:If <条件1> Then[<语句组1>]

[ElseIf <条件2> Then[<语句组2>]]

 ……

[ElseIf <条件N> Then[<语句组N>]]

[Else[<其他语句组>]]

End If

功能:如果<条件>成立,则执行<语句组1>;否则执行<语句组2>

3、多分支选择语句

格式:Select Case <测试表达式>

Case <表达式表1> [<语句组1>]

[Case <表达式表2> [<语句组2>]]

         …

[Case Else[<语句组n>]]

  End Select

功能: 根据测试表达式的值,按顺序匹配Case后的表达式,如果匹配成功,则执行该Case下的语句块,然后转到End Select语句之后继续执行。

第六章 循环结构程序设计

1、For…Next循环结构

格式:For <循环变量>=<初值> To <终值> [Step <步长>]<语句组1>

 [Exit For]<语句组2>

Next [<循环变量>]

说明

(1)循环变量——数值变量

(2)初值,终值,步长——数值表达式

(3)步长——可正可负,但不能为0,为1时可以省略

      步长>0时,必须: 初值<=终值

         循环结束条件——循环变量的值>终值

      步长<0时,必须: 初值>= 终值

         循环结束条件——循环变量的值<终值

(4)Exit For——退出循环,常放在条件语句中

(5)Next之后的循环变量应与For语句中的循环变量一致,也可以省略

2、Do…Loop循环结构

特点: 已知循环条件、未知循环次数,用Do … Loop循环结构实现较方便

格式一:

Do While <条件>

  [<语句组1>]

  [Exit Do]

  [<语句组2>]

Loop

格式二:

Do Until <条件>

  [<语句组1>]

  [Exit Do]

  [<语句组2>]

Loop

格式三:

Do

  [<语句组1>]

  [Exit Do]

  [<语句组2>]

Loop While <条件>

格式四:

Do

  [<语句组1>]

  [Exit Do]

  [<语句组2>]

Loop Until<条件>

功能:

使用While <条件>: 条件为True时,执行循环体;条件为False时,退出循环

使用Until <条件>: 条件为False时,执行循环体;条件为True时,退出循环

格式一、二:在循环起始处判断条件,为当型循环

格式三、四:在循环终止处判断条件, 为直到型循环

第七章 常用内部控件

1、框架、图片框、图像框
a) 框架
作用: 作为容器,对控件进行分组
框架的常用属性
Caption:
Font:
ForeColor:
Backcolor:
Enabled:……为False时框架中的控件不可用
b) 图片框(PictureBox)
作用:作为容器,对控件进行分组;显示图像
如何显示图像: 设置Picture属性;在属性窗口中设置,对象名.Picture=LoadPicture("图形文件名")
如何清除图像:在属性窗口中删除Picture属性内容,对象名.Picture=LoadPicture() (也清除文字)
打印与清除文字:打印:对象名.Print ……清除:对象名.Cls
特点:自动调整控件大小以适应图像: AutoSize=True;不能延伸图形以适应控件的大小。
c) 图像框(Image)
作用:显示图像
如何显示图像: 设置Picture属性;在属性窗口中设置,对象名.Picture=LoadPicture("图形文件名")
如何清除图片:在属性窗口中删除Picture属性内容,对象名.Picture=LoadPicture()
特点: 可以自动调整控件大小以适应图像:设 Stretch=False
可以延伸图形以适应控件的大小:设 Stretch=True
2、选项按钮(OptionButton)
作用: 多选一(放在窗体上、或放在其他容器中)
属性:Value: True—选中,False—未选中
Alignment属性: 决定文本的对齐方式
Style—控制外观
事件:Click事件—使选项按钮从未选择变成选择状态时 (单击鼠标改变、代码改变 )
3、复选框(CheckBox)
作用:多选一或多选多(放在窗体上或其他容器中)
属性 :Value 0—未选中1—选中2—灰度状态(常用于表示不确定或部分选中)
Alignment属性: 决定文本的对齐方式
Style: 控制外观
事件:Click事件

4、列表框
(1)作用:提供选项列表、内容多时自动出现滚动条
(2)属性
Style—外形(常规形式、复选框形式)
List—列表内容。
设计时: 用Ctrl+¿换行
运行时: List(i)表示第i项
Columns—列表形式 :0:垂直单列、>0:水平多列
Text—只读、运行期用,获取当前选择项目的值
ListIndex—运行期用,当前选定项目的索引(0…)
如果未选定项目,则 ListIndex 值为 -1
ListCount—列表部分项目的个数
Sorted—元素是否自动按字母顺序排序
Selected—运行期用,用于选择某项,如List1.Selected(3)=True 选择第4项
MultiSelect:
0—缺省值,不允许复选。
1—鼠标单击、按空格键在列表中选择或取消选择
2 —按下 Shift并单击鼠标或按下 Shift 以及一个箭头键将在以前选中项的基础上扩展选择到当前选中项。按下 Ctrl 并单击鼠标在列表中选择或取消选择项。
(3) 方法
AddItem—向列表框中添加新的项目
<对象名>.AddItem <项目>[,<索引>]
RemoveItem—从列表框中移除项目
<对象名>.RemoveItem <索引>
Clear—清除所有列表的 <对象名>.Clear
5、 组合框(ComboBox)
(1)作用: 提供列表(可折叠)、文本输入
(2)属性: List—列表内容(Ctrl+Enter换行)
Style—外形:0—下拉组合框(折叠)
1—简单组合框(不折叠)
2—下拉列表框(不能修改Text属性)
Text—文本框内容
ListIndex—运行期用,当前选定项目的索引,索引从0开始
ListCount—列表部分项目的个数
Sorted—元素是否自动按顺序排序
(3)事件
组合框的事件与Style属性有关。
Style为0时: 响应Click、Change、DropDown事件
Style为1时: 响应Click、DblClick、Change事件
Style为2时: 响应Click、DropDown事件
(4) 方法
AddItem: 向组合框中添加新的项目
<对象名>.AddItem <项目>[,<索引>]
RemoveItem: 从组合框中移除项目
<对象名>.RemoveItem <索引>
Clear: 清除组合框中的所有项目
<对象名>.Clear

第八章 数组

1、数组的定义

格式Public|Private|Dim <数组名>[(<维数定义>)]    [As <类型>]…

功能: 声明数组名称、维数、维大小、类型。为数组分配存储空间。

说明

<数组名>: 合法的变量名

<维数定义>:

[<下界1> To] <上界1>,[<下界2> To] <上界2>,…如果下界省略,则使用默认下界

默认下界: Option Base {0|1}

<数据类型>: Integer    Long      Single       Double

           Boolean  String    String[*n]        

           Date       Variant   Object

           用户定义类型……

数组在定义后自动被初始化:

    将可变类型数组元素值置为Empty

    将数值型数组元素值置为0

    将字符串类型数组元素值置为零长度字符串

    分配固定的存储空间

使用以下语句初始化数组元素,不释放空间:Erase <数组名>

例: Dim B(0 to 8,0 to 3) As String

      → DIM B(8,3) As String

      二维字符串类型数组

      第一维: 下界0,上界 8  

      第二维: 下界0,上界 3

      元素 B(0,0)  B(0,1)  B(0,2)  B(0,3)

               B(1,0)  B(1,1)  B(1,2)  B(1,3)

                ...

               B(8,0)  B(8,1)  B(8,2)  B(8,3)

2、动态数组的定义

动态数组的定义格式,分以下两步进行:

(1) 在模块级或过程级定义一个没有下标的数组

      Public|Private|Dim <数组名>()[As <类型>],…

(2) 在过程级使用ReDim语句定义数组的实际大小

      ReDim <数组名>(<维数定义>) [As <类型>],…

说明:

(1) <维数定义>: 常包含明确值变量或表达式

(2) 可以用ReDim反复改变数组元素及维数的数目

(3) 若步骤(1)定义了类型,则不许用步骤(2)改变类型

(4) 执行ReDim语句将重新对数组元素进行初始化

(5) Erase <数组名>: 释放动态数组所占的存储空间

第九章 过程

1、 Function过程

①Function过程的定义

Function过程的格式

[Public|Private][Static] Function <函数过程名>

([<形参表>]) [As <类型>]

[<语句组>]

[<函数过程名> = <表达式>]

[Exit Function]

[<语句组>]

[<函数过程名> = <表达式>]

End Function

②说明

(1) Public: 缺省值。使用Public时表示所有模块的所有其他过程都可以调用该Function过程。

(2) Private: 使用Private时表示只有本模块中的其他过程才可以调用该Function过程。

(3) Static: 使用Static时表示将过程中的所有局部变量说明为静态变量。

(4) <函数过程名>: Function过程的名称,遵循变量的命名规则。

(5) <形参表>: 表示在调用时要传递给Function过程的参数变量列表。多个变量之间用逗号隔开。

<形参表>格式:

[ByVal|ByRef]<变量名>[( )] [As <类型>]

ByVal: 表示该参数按值传递。

ByRef: 缺省值。表示该参数按地址传递。

<变量名>: 遵循变量命名规则的任何变量名或数组名。

( ): 当参数为数组时使用。

(6) As <类型>: 声明函数值的类型。

(7) Exit Function语句: 从Function过程中退出。

(8) Function过程通过赋值语句:<函数过程名> = <表达式>;将函数的返回值赋给<函数过程名>。

(9) Function过程的定义不能嵌套。

Function过程的建立: 直接在代码窗口中输入。在代码窗口: 工具→ 添加过程。

2、 Sub过程

①Sub过程的定义

Sub过程的格式

[Private|Public][Static] Sub <过程名>[(<形参表>)]

[<语句组>]

[Exit Sub]

[<语句组>]

End Sub

②说明

(1) Exit Sub用于退出Sub过程。

(2) <过程名>不具有值的意义,在Sub过程中不能给<过程名>赋值,也不能给<过程名>定义类型。

(3) Sub过程通过<形参表>中的参数返回值。

(4) Sub过程的建立方法与Function过程的建立方法相同。

③Sub过程的调用

格式一: Call <过程名>[(<实参表>)]

格式二: <过程名>[<实参表>]

说明:

(1) <过程名>: 要调用的Sub过程名;

(2) <实参表>: 可以是常量、变量或表达式,各参数之间用逗号分隔。如果是数组参数,则要在数组名之后跟一对空括号。

(3) 用Call语句调用一个Sub过程时,如果过程本身没有参数,则省略<实参表>和括号。

(4) 格式二省略了Call关键字,同时<实参表>两边也不能带括号。

三、重点习题

单项选择题

1、使用Dim a(3, -3 to 0, 3 to 6)As String语句定义的数组元素有多少个:           (       )

    A、12              B、64                C、120                D、80

  2、由系统自动触发的第一个事件是:(       )

A、Click           B、Dblclick          C、Initialize         D、Load

3、Print Int(12345.6789*100+0.5)/100的输出结果是:(       )

A、12345.67        B、12345.68          C、1234567            D、1234568

4、下面语句中,字符串的长度为:(       )

s="Visual Basic!"

A、12               B、13              C、16               D、15

  5、在窗体上绘制唯一的文本框Text1,然后编写如下事件过程:

Private Sub Form_Load()

    Text1.Text = " "

    Text1.SetFocus

    For i = 1 To 5

       Sum = Sum + i

    Next i

    Text1.Text = Sum

End Sub

上述程序的运行结果是: (       )

A、在文本框Text1中输出16          B、在文本框Text1中输出0

C、出错                             D、在文本框Text1中输出不定值

6、哪个关键字声明的局部变量在过程结束后就消失:(       )

A、Dim                B、Public            

C、Static             D、Private

7、在Visual Basic中,系统的基本运行实体是:(       )

A、属性              B、事件              

C、对象              D、函数

8、用一段代码对一个对象被单击(或双击)作出响应,从而实现指定的操作,

称为:(       )

A、可视化程序设计                      B、事件驱动编程机制

C、过程化程序设计方法                  D、非过程化程序设计语言

9、既定义了数组的大小,又没有清除其中原有元素的数组定义是:(       )

A、Dim Ary()                          B、Redim Preserve Ary(15)

C、Public Ary(1 To 5) As String       D、Static Ary()

10、下列属性的取值为字符串的是:(       )

A、Caption                            B、Value              

C、Width                              D、Height

写程序运行结果

(1)在窗体上绘制一个标签Label1和一个命令按钮Command1,然后编写如下事件过程:

Private Sub Command1_Click()

    Dim i, result

    result = 0

    For i = 10.5 To 2.5 Step -1.5

       result = result + i

    Next i

    Label1.Caption = Str$(Int(result))

End Sub

执行程序,单击命令按钮,在Label1的标签框内将显示:

(2)在窗体上绘制一个命令按钮Command1,并编写如下事件过程:

Private Sub Command1_Click()

     Dim a(-3 To 0)

     For i = LBound(a, 1) To UBound(a, 1)

         a(i) = i

     Next i

     Print a(LBound(a, 1)); a(UBound(a, 1))

End Sub

执行程序,单击命令按钮后输出的结果为:

(LBound函数和UBound函数分别测试数组下标的上界和下界值)

(3)Private Sub Command1_Click()

    Dim s, n As Integer

    s = 0

    n = 1

    Do Until n > 7

        s = s + n

        n = n + 1

    Loop

    Print s

End Sub

程序的执行结果是:

(4)假定有如下的Sub过程:

Sub addsub(x As Single, y As Single)

      t = x

       x = x + y

       y = t - y

End Sub

在窗体上绘制一个命令按钮Command1,然后编写如下事件过程:

Private Sub Command1_Click()

       Dim a As Single

       Dim b As Single

       a = 3

       b = 2

       addsub a, b

       Print a; b

End Sub

程序运行后,单击命令按钮,输出结果为:

(三)编程题

1、在窗体上画一个命令按钮command1,然后编写事件过程,该过程的功能是用冒泡法将10个整数按升序排列,10个整数定义为:a = Array(12, 1, 0, 23, 5, 34, 19, 33, 14, 40)

2、编写程序,单击命令按钮command1后用InputBox函数让用户从键盘输入年份,判断该年是否为闰年。如果是则输出“是闰年”,否则输出“是普通年份”。

提示:闰年的条件是年号可以被4整除但不能被100整除,或者能被400整除。

四、重点习题参考答案(答案仅供参考)

(一) 单项选择题

1、B  2、C  3、B  4、B  5、C  6、A  7、C  8、B  9、B  10、A

(二) 写程序运行结果

    1、 字符串40(或“40”)

    2、 -3    0

    3、 28

    4、 5   1

(三) 编程题

1、Option Base 1

Private Sub Command1_Click()

Dim a

a = Array(12, 1, 0, 23, 5, 34, 19, 33, 14, 40)

For i = 1 To 9

For j = 1 To 10 - i

            If a(j) >= a(j + 1) Then

                t = a(j + 1)

                a(j + 1) = a(j)

                a(j) = t

            End If

         Next j

      Next i

      For i = 1 To 10

            Print a(i)

      Next i

End Sub

2、Private Sub Command1_Click()

   Dim y As Integer

   y = InputBox("请输入年号")

   If (y Mod 4 = 0 And y Mod 100<> 0)  or  (y Mod 400 = 0) Then

      Print "是闰年"

   Else

      Print "是普通年份"

   End If

End Sub

考试指导使用说明:本考试指导只适用于201903学期6月期末考试使用,包括正考和重修内容。指导中的章节知识点涵盖考试所有内容,给出的习题为考试类型题,习题答案要点只作为参考,详见课程讲义或笔记。如果在复习中有疑难问题请到课程答疑区提问。最后祝大家考试顺利!

电话咨询