第三章 vb 语言基础

69
第第第 第第第 VB VB 第第第第 第第第第 本本本本本本本 3.1 Visual Basic 本本本本本本本本本 3.2 本本本本 本本本 3.3 Visual Basic 本本本本本 3.4 本本本本本本本 3.5 Visual Basic 本本本本

Upload: derica

Post on 08-Jan-2016

126 views

Category:

Documents


0 download

DESCRIPTION

第三章 VB 语言基础. 本章重点和难点 3.1 Visual Basic 程序代码的组织方式 3.2 代码行的书写规则 3.3 Visual Basic 的数据类型 3.4 运算符与表达式 3.5 Visual Basic 公共函数. 本章重点和难点. 掌握 VB 提供的常见数据类型 掌握变量的定义 掌握 VB 运算符和表达式的使用 掌握 VB 公共函数的功能和调用 难点: 1 、运算符 & 与 + 的区别和联系 2 、字符串函数和转换函数的应用. 3.1 程序代码的组织方式. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第三章  VB 语言基础

第三章 第三章 VBVB语言基础语言基础

本章重点和难点3.1 Visual Basic 程序代码的组织方式3.2 代码行的书写规则3.3 Visual Basic 的数据类型3.4 运算符与表达式3.5 Visual Basic 公共函数

Page 2: 第三章  VB 语言基础

本章重点和难点

掌握 VB提供的常见数据类型掌握变量的定义掌握 VB运算符和表达式的使用掌握 VB公共函数的功能和调用难点: 1、运算符 &与 +的区别和联系 2、字符串函数和转换函数的应用

Page 3: 第三章  VB 语言基础

3.1 程序代码的组织方式

一个 VB程序由窗体界面和程序代码两部组成,通过程序代码

把窗口界面的各个对象以及应用中的其元素联系在一起。程

“ ”序代码部分则由若干被称为 过程 的代码行及向系统提供某

“ ”些信息的说明组成。过程及又被组织在 模块 之中。将设计

的过程代码及相关说明合理地组织到不同的模块之中,也就

是设计代码的结构,在创建 VB应用程序时是最为重要的一个

步骤。

Page 4: 第三章  VB 语言基础

过程

过程就是具有特定书写格式、包含若干可被作为一个整体执行的代码的组合。 “ ” “ ” “ ”过程 可分为 事件过程 和 通用过程 两类。

1  . 事件过程

为窗体以及窗体上的各种对象编写的用来响应由用户或系统引发“ ”的各种事件的代码就是 事件过程 。

●     事件过程由 VB中事件调用。也就是说,当指定的事件发生时,该过程即会被激活执行。

“ ” “事件过存储在被称为 窗体模块 的文件中(扩展名 .frm”) ,而“ ”且在缺省情况下, 是私有的 ( private)。换言之,事件过程在

未特别说明时,仅在该窗体内有效。

Page 5: 第三章  VB 语言基础

事件过程的代码框架是由 VB 系统自动提供的在保存窗体时,窗体的外观和编写的代码统一保存。

  图 1

事件过程

Page 6: 第三章  VB 语言基础

一个应用程序可以具有若干个窗体,每个窗体又可能拥有相同或不同的对象,但是这些不同窗体中的对象却有可能引发相同的操作或需在进行某些共同的处理。也就是说,一个应用程序中的多个窗体可以共享一些代码,或者一个窗体内不同的事件过程可以共享一些代码。这些可被共享的代码构

“ ”成的过程称为 通用过程 。

通用过程是由用户自己定义,可由事件过程或其他过程调用而执行。

通用过程

Page 7: 第三章  VB 语言基础

模块

模块是 VB用于将不同类型过程代码组织到一起而提供的一种结构。在 VB中具有三种类型的模块:窗体模块、标准模块和类模块。

1  . 窗体模块

应用程序中的每个窗体都有一个相应的窗体模块 。窗体模块不仅包含有用于处理发生在窗体中的各个 对象的事件 过程,而且包含有窗体及窗体中各个控件对象的属性设置以及相关的说明。

如果某些通用过程仅供本窗体内的其他过程共享,则它也可包含在窗体模块之中。

Page 8: 第三章  VB 语言基础

2  . 标准模块

在应用程序中可被多个窗体共享的代码,应当被组织“ ” “到 标准模块 之中。标准模块文件的扩展名是 .bas”。

●     标准模块中保存的过程都是

通用过程。标准过程中还包

含有相关的说明。

●     标准模块中代码并不限于一

个应用程序,还可供其他应用程序重复使用。

模块

Page 9: 第三章  VB 语言基础

●     创建标准最简便的方法是:

“ ”单击工具栏上 添加窗体 按钮右侧向下的箭头,并在出现“ ”的选项表中选择 添加模块 (图 2 “),然后再在出现的 代

”码编辑器 窗口中输入代码即可。

3.类模块

类模块包含用于创建新的对象类的属性、方法的定义等。

模块

Page 10: 第三章  VB 语言基础

3.2 代码行的书写规则

1.       语句

语句上构成 VB程序的最基本成分。一个语句或者用于系统提供某些必要的信息(如程序中使用的数据类型等),或者规定系统应该执行的某些操作。

语句的一般形式如下:

<语句定义符 > [语句体 ]

●     语句定义符用于规定语句的功能。

●     语句体则用于提供语句所要说明的具体内容或者要招待的具体操作。

●     VB中一些语句可以没有语句定义符;也有一些语句的语句定义符可以省略。

Page 11: 第三章  VB 语言基础

●     VB程序是按行书写的。一个语句可写在一行上;也可以通“过在行的末尾加上续行标志 -”(一个空格加一个下划线字

符),而分写在多行上;另外,也可在一个代码行上写入多个语“ ”句,但语句之间需要用冒号 : 分隔。

例如:

1  . 一个语句分写在多行上:

Dim student_name As String,student_number As String,ComputerAs

_Integer,English As Integer

2  . 一行写多个语句:

x=10:y4=”Visual Basic”:Z=20

3.2 代码行的书写规则

Page 12: 第三章  VB 语言基础

1. 2.  书写规范

●     语句输入时,可以不区分大小写字母,一个代码行输入完后,按回车键,光标自动移向下一行,同时,系统还会

“ ”自动把语句中所有 保留字 的第一个字母改为大写字母,并在其前后加上空格。

例如, Rem是系统保留字,所以不论输入的是 ReM,还是rem或 REM,系统都会自动变换成 Rem。

●     一个代码行的长度不得超过 1023B,且在一行的实际文本之前最多只能有 256个前导空格。一个逻辑行最多只能有 25个后续行。

3.2 代码行的书写规则

Page 13: 第三章  VB 语言基础

3.3 Visual Basic 的数据类型

变量或常量的命名规则 数据类型 常量 变量

Page 14: 第三章  VB 语言基础

变量或常量的命名规则

•必须以字母、汉字开头,由字母、汉字、数字或下划线组成,长度≤ 40个字符•不能使用 VB中的关键字•不区分变量名的大小写•为增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型

Page 15: 第三章  VB 语言基础

3.3 Visual Basic 的数据类型

数据是程序处理的对象。 VB具有强大的数据处理能力,它的具体表现就是 VB程序不仅可以处理各种数制的数,而且具有丰富的数据类型。

一.数据类型

VB支持的数据类型多达成 12种。表 1列出了这些数据类型的名称、存储大小及数据的取值范围。

Page 16: 第三章  VB 语言基础

数据类型 存储大小 取值范围

Integer整型数 2 Byte -32768~32767

Long长整型数 4 Byte -2147483648~2147483647

Single单精度型数 4 Byte -3.402823E38~-1.401298E-451.401298E-45~3.402823E38

Double双精度型数 8 Byte -1.79769313486232E308~-4.9406545841247E-324

4.94065645841247E-324~1.79769313486232E308Byte字节型数 1 Byte

0~255Boolean逻辑型数 2 Byte True或 False

String字符串型数(变长)

10 Byte+串长度 0~约定俗成 0亿个字符

数据类型

Page 17: 第三章  VB 语言基础

String字符串型数(定长)

串长度 1~约 65400个字符

Date日期型数 8 Byte 1000年 1月 1日~9999年12月 31日

Currency货币型数 8 Byte -922337203685447.5808~922337203685447.5807

Object对象型数 4 Byte 任何对象引用

Variant变体型数 >=16 Byte 数值型可达 Double型的范围;字符型可达变长字符串型的长度

数据类型

Page 18: 第三章  VB 语言基础

  常量

“ ”在程序中取值始终保持不变的数据称为 常量 。

1)数值常量

一般的数值常量由正负号、数字和小数点组成,正数的正号可以省略。在 VB程序中,除常用的十进制外,还可以使用八进制数和十六进制数。

●     “ ”不带小数点的数称为 整型数 。 VB中的整型数又分为整型数和长整型数。

●     “ ” “ ‘带小数点的数称为 实型数 或 浮点数 。根据占用的存储量的大小,又分为单精度型数和双精度型数。

Page 19: 第三章  VB 语言基础

●       在计算机程序中,很大或很小的数通常以指数形式表示, 10的幂次则以字母 e或字母 d代表。可表示为 mmmEeee或mmmDeee两种形式,其中, mmm 是尾数, eee是指数。 E表示单精度数, D表示双精度数。

例如:

123 -235 32747 (整型数)

1758624 -3765410 (长整型数)

12304 -762.678 0.000352 -1.243E5 1.234E-5 (单精度数)

3. 14159265333 -57832.12345 3.14159265D8 -8.573264907D-15 (双精度数)

  常量

Page 20: 第三章  VB 语言基础

常量

●     VB中允许使用八进制数和十六进制数,它们都是无符号“整型数。八进制数的表示方法是在数字前面加 &O”;十六

“进制数的表示方法是在数字前面加 &H”。例如: &O137 &H137

2  ) 字符常量

把一串字符用引号括起来,就构成一个字符常量。

“例如: Visual Basic” “、 How are you!” “、 ab”等都是合法的字符常量。

2  ) 逻辑型常量

逻辑型常量只有两个取值: True(真)和 False(假)。

Page 21: 第三章  VB 语言基础

3  ) 日期型常量

日期型常量的一般表示形式是: mm/dd/yyy,如获至宝 998年6月 15日可表示为: #6/15/1998#

4  ) 符号常量

常量在程序中也可用符号来表示。以符号形式表示的常量“ ” “ ”称为 符号常量 。代表常量的符号称为 常量名 。常量名是

一个长度不超过 255个字符,只能由字母、数字和下划线组成且首字符必须是字母的字符串。常量名中的字母不区分大小写。

  常量

Page 22: 第三章  VB 语言基础

如在程序中使用自定义符号常量,,则应用 Const语句先行说明。

Const语句的形式台下:

[Public|Private] const < 常量名 > [As Type]= <数值 >

Public选项只能用在标准模块中,用以说明可在整个应用程序中使用的常量; Private选项则用于说明在模块范围内使用的常量,它们均不能在过程中使用。 Type用于指定常量的数据类型。另外,也可以在说明时,通过数据类型符号规定常量的类型。例如:

Const Tax As Single =1.02

Public Const Country $ =”CHINA”,Fax_Num&=35424489

  常量

Page 23: 第三章  VB 语言基础

符号常量的例子

‘ 声明了单精度型常量 PI,代表 3.14159

Const PI = 3.14159 Const MAX As Integer = &O144 ‘ 整型常量MAX,代表八进制数 144,

Const COUNTS# = 45.67 ‘ 声明了双精度型常量COUNTS,代表 45.67,

Page 24: 第三章  VB 语言基础

变量

“ ”以符号形式出现在程序中,且取值可以发生变化的数据称为 变量 。

1  . 变量名及类型说明

变量名的命名规则是:

●     首字符必须是字母;

●     长度不超过 255个字符;

●     在作用域内必须唯一;

●        作为变量名的字符串不得包括点号和用于类型说明的字符%、 &、!、 #、@、 $ .

●     不得使用系统保留字作变量名

●     有时为了提高程序的可读性,可在变量名之前加上一个约定的前缀,用于表示变量的数据类型。约定的前缀见表 2。

Page 25: 第三章  VB 语言基础

表 2

数据类型 前缀 数据类型 前缀

整型 lnt 长整型 lng

单精度型 sng 双精度型 dbl

逻辑型 bln 货币型 cur

日期型 dt 字串型 str

变体型 vnt 字节型 byt

变量

Page 26: 第三章  VB 语言基础

1.  变量作用域与变量说明语句

1)变量作用域

变量的有效作用范围称为变量作用域。

VB有以下三个作用域等级,见表 3:等级 范围

局部 在过程中说明,仅在说明它的过程有效

窗体 /模块 在窗体或模块中说明,在定义该变量的模块或窗体的所有过程内均有效

全局(公有) 在模块或窗体中说明,在工程内的所有过程中都有效

变量

Page 27: 第三章  VB 语言基础

2)变量说明语句

可使用四种说明语句说明变量的类型:

Dim <变量名 >As<类型 >[,<变量名 > As<类型 >]…

Public <变量名 >As<类型 >[,<变量名 > As<类型 >]…

Private <变量名 >As<类型 >[,<变量名 > As<类型 >]…

Static <变量名 >As<类型 >[,<变量名 > As<类型 >]…

其中, Public语句用于说明全局变量, Private语句用于说明窗体 /模块级变量,它们都只能用在模块的通用部分; Static语句用于说明过程级的静态变量,而且 Dim语句既可用于说明模块级的变量(在模块的通用部分使用),也可用于说明过程级的变量(在过程内使用),因此较为常用。

变量

Page 28: 第三章  VB 语言基础

用Dim语句声明变量的例子

Dim iCount As Integer

Dim sAllsum As Single

Dim strS As String*100

或Dim iCount As Integer, sAllsum As Single

变量

Page 29: 第三章  VB 语言基础

“ ” “ ” “模块级和公有级的变量应 代码编辑器 窗口中的 (通用) 或 (声”明) 部分进行说明。

例如:

Private Const As Integer

或 Public Name As String ,age As Integer

 

局部变量仅在使用它的过程中说明;

Public Sub Command1_Click()

Dim Count As Integer

End Sub

变量

Page 30: 第三章  VB 语言基础

●     在用 Dim语句说明一个变量后,系统自动为该变量赋予一个初始值。若变量是数值型的,则初始值为 0;若初始值是字符串型的,则初始值为

“空;逻辑型变量的初始值为 False”。

●     系统还会自动转换在代码中输入的变量名以与说明的变量名相匹配。例如,说明语句是:

Dim MyCountry As String

在程序中输入:

mycountry=”NanJing”

VB将其自动转换成:

MyCuntry=”NanJing”

VB的这种功能,可帮助使用者输入和使用正确的变量名。

变量

Page 31: 第三章  VB 语言基础

●     在变量类型说语句中,必须每个需要说明的变量逐个使用 As Type 说明,未加说明的变量将按变体型变量处理。例如:

Dim a ,b As Integeer

a是变体型, b是整型。

“使用变量说明语句说明变量的数据类型,通常称为 显式”说明 ,也采用在变量名后加上一个用于规定变量类型的

“说明字符,来规定变量的类型,这种方法称为 隐式说”明 。

变量

Page 32: 第三章  VB 语言基础

变量

说明符 示例 意义 说明符 示例 意义

% X% X是整型变量 # #% X是双精度型量

& X& X是长整型量 @ X@ X是货币型变量

! X! X是单精度量 $ X$ X是字符型变量

VB规定的类型说明字符见下表

Page 33: 第三章  VB 语言基础

用类型说明符声明变量的例子

ITem% ‘声明整型变量 sHight! ‘声明单精度型变量 trName$ ‘声明字符串变量 cXyz@ ‘声明货币型变量

变量

Page 34: 第三章  VB 语言基础

●     按照缺省规定,字符变量的长度上可变的。也就是说,通过字符赋予新的数据,它的长度可增可减。但也可以将字符串变量说明为具有固定长度。方法如下:

Dim <变量名 > As String*size

例如 Dim EmpName As String*size

3) Option Explicit 语句

在模块中使用 Option Explicit语句,系统将检查模块中所有未加显式说明的变量,一发现有这样的变量存在,就会产生一个出错信息,提示使用者改正错误

变量

Page 35: 第三章  VB 语言基础

3.4 运算符与表达式

算术运算符的优先级 运算符示例 关系运算符 字符比较 逻辑运算符的优先级

Page 36: 第三章  VB 语言基础

VB中的运算符和表达式可分为算术运算符与算术表达式、关系运算符与关系表达式和逻辑运算符与逻辑表达式三类。

一.算术运算符与算术表达式

1.  算术运算符

VB的算术符有以下几种:

^ 乘方 / 除 + 加 \ 整除

— 减(负号) Mod 取余运算 * 乘 & 字符串连接运算

3.4 运算符与表达式

Page 37: 第三章  VB 语言基础

算术运算符的优先级

运算符 优先级

^ 1

-(负号) 2

* 3

/ 3

\ 4

Mod 5

+ 6

- 6

Page 38: 第三章  VB 语言基础

* 运算符示例

本示例使用 * 运算符来计算两数的乘积。Dim MyValueMyValue = 2 * 2 ' 返回 4MyValue = 459.35 * 334.90 ‘ 返回153836.315

Page 39: 第三章  VB 语言基础

+ 运算符示例

本示例使用 + 运算符来计算数值的和。+ 运算符也可以用来做字符串的串接操作。Dim MyNumber, Var1, Var2MyNumber = 2 + 2 ' 返回 4MyNumber = 4257.04 + 98112 ' 返回 102369.04Var1 = "34": Var2 = 6 ' 初始化混合变量的值MyNumber = Var1 + Var2 ' 返回 40Var1 = "34": Var2 = "6" ' 用字符串初始化混合变量的值MyNumber = Var1 + Var2 ‘ “返回 346”(字符串被

串接起 来)

Page 40: 第三章  VB 语言基础

- 运算符示例

本示例使用 - 运算符来计算两数值的差。Dim MyResultMyResult = 4 - 2 ' 返回 2MyResult = 459.35 - 334.90 ‘ 返回124.45

Page 41: 第三章  VB 语言基础

/ 运算符示例

本示例使用 / 运算符来计算浮点数除法。Dim MyValueMyValue = 10 / 4 ' 返回 2.5MyValue = 10 / 3 ' 返回 3.333333

Page 42: 第三章  VB 语言基础

\ 运算符示例

本示例使用 \ 运算符来计算整型除法。Dim MyValueMyValue = 11 \ 4 ' 返回 2MyValue = 9 \ 3 ' 返回 3 MyValue = 100 \ 3 ' 返回 33

Page 43: 第三章  VB 语言基础

Mod 运算符示例

本示例使用 Mod 运算符来对两数作除法运算,但返回其余数而非商数。如果两数中有一数为浮点数,该数会先被四舍五入成整型后再进行运算。Dim MyResultMyResult = 10 Mod 5 ' 返回 0MyResult = 3 Mod 10 ‘ 返回 3MyResult = 12 Mod 4.3 ' 返回 0MyResult = 12.6 Mod 5 ' 返回 3

Page 44: 第三章  VB 语言基础

& 运算符示例

本示例使用 & 运算符将字符串串接起来。Dim MyStrMyStr = "Hello" & " World" '

返回 "Hello World"MyStr = "Check " & 123 & " Check“

' 返回 "Check 123 Check" Mystr=123 & 456 ' 返回 "123456"

Page 45: 第三章  VB 语言基础

算术运算符的运算次序为

^ → —(负号 ) → *和 / →\ → Mod → + —和 → &

“ ”把常量、变量等运元素用算术运连接起来的式子称为 算术表达式 。例如:

a*b/(c*d) 3.14159265*r^2 等

二.关系运算符与关系表达式

“关系运算用于对两个数据进比较,比较结果为逻辑值 True” “或 False”。

VB常用的关系运算符如下表所示。

关系运算符

Page 46: 第三章  VB 语言基础

运算符 < <= > >= <> = Is

功能 小于 小于等于

大于

大于等于

不 等于

等于 用比较两个对象的引用变量

1.  关系表达式

关系表达式就是用关系运算把两个比较对象连接起来的式子。

●     比较对象可以是变量、常量和算术表达式。例如 :

a<32 x+y>=z/2 b$<>”Basic” object1 is object2

●     “ ”关系表达式的运算是采用 按值比较 的方法,即先求出运算符两边“ ”的 值 ,若是变量,则取其当前值,如果两端的值满足条件,则结果“为 True” “,否则为 False”。

关系运算符

Page 47: 第三章  VB 语言基础

关系运算符示例

“ ”本示例示范各种 关系运算符 的用法。MyResult, Var1, Var2MyResult = (45 < 35) ' 返回 FalseMyResult = (45 = 45) ' 返回 TrueMyResult = (4 <> 3) ' 返回 TrueMyResult = ("5" > "4") ' 返回 TrueVar1 = "5": Var2 = 4 ' 设置变量初值。MyResult = (Var1 > Var2) ' 返回 TrueVar1 = 5: Var2 = EmptyMyResult = (Var1 > Var2) ' 返回 TrueVar1 = 0: Var2 = EmptyMyResult = (Var1 = Var2) ' 返回 True

Page 48: 第三章  VB 语言基础

字符比较

运算符 说明 例 结果

= 等于 “ABCDE”=“ABR” False

> 大于 “ABCDE”>”ABR” False

>= 大于等于 “bc”>=“abcdef” True

< 小于 23<3 False

<= 小于等于 “23”<“3” True

< > 不等于 “abc”<>”ABC” True

Page 49: 第三章  VB 语言基础

●     字符型数据的关系运算上依照字符的 ASCⅡ代码,自左至“右按照 逐个比较,遇大则大,长大短小,完全相同,才是相

”等 的原则进行。

三.逻辑运算符与逻辑表达式

逻辑运算符是对逻辑值进行的运算。

1.  逻辑运算符

VB有如下常用的逻辑运算符。

Not:逻辑非 And:逻辑与 Or:逻辑或 Xor:逻辑异或。

逻辑运算的优先次序是:

Not→And→Or→Xor

运算符与表达式

Page 50: 第三章  VB 语言基础

逻辑运算符的优先级与真值表

运算符 意义 优先级 说明 例 结果

Not 取反 1 当操作数为假时,结果为真

Not F T

And 与 2 操作数均为真时,结果才为真

T And F

T And T

F

T

Or 或 3 操作数中有一个为真时,结果为真

T Or F

F Or F

T

F

Xor 异或 3 操作数相反时,结果才为真

T Xor F

T Xor T

T

F

Page 51: 第三章  VB 语言基础

Not 运算符示例

本示例使用 Not 运算符来做两个表达式结果的逻辑非( logical negation)。Dim A, B, C, D, MyCheckA = 10: B = 8: C = 6MyCheck = Not(A > B) ' 返回 False。MyCheck = Not(B > A) ' 返回 True。

Page 52: 第三章  VB 语言基础

And 运算符示例

本示例使用 And 运算符来做两个表达式结果的逻辑合取( a logical conjunction)。Dim A, B, C, D, MyCheckA = 10: B = 8: C = 6MyCheck = A > B And B > C ' 返回 TrueMyCheck = B > A And B > C ' 返回False

Page 53: 第三章  VB 语言基础

Or 运算符示例

本示例使用 Or 运算符来做两个表达式结果的逻辑析取( logical disjunction)。Dim A, B, C, D, MyCheckA = 10: B = 8: C = 6MyCheck = A > B Or B > C ' 返回 True。MyCheck = B > A Or B > C ' 返回 True。MyCheck = A <B Or B <C ' 返回 False。

Page 54: 第三章  VB 语言基础

Xor 运算符示例

Dim A, B, C, MyCheckA = 10: B = 8: C = 6MyCheck = A > B Xor B > C ' 返回 FalseMyCheck = B > A Xor B > C ' 返回 TrueMyCheck = B > A Xor C > B ' 返回 False

Page 55: 第三章  VB 语言基础

2.  逻辑表达式

逻辑表达式是用逻辑运算符把逻辑变量连接起来的式子。

例 如 : a>=2*3.141159*r And x<>5 Or Not bx>2 Or Text1.text=”Microsoft”

逻辑表达式主要用于表示一些复杂判断条件。

运算符与表达式

Page 56: 第三章  VB 语言基础

运算符与表达式

四.运算规则

在表达式中,当运算符不止一类时,要先处理算术运算符,着处理逻辑运算符。而这几种运算符内的优先次序,则按前面各小节所列次序进行。

●     在运算时,如果进行运算的两个运算对象的类型相同,它们的运算结果也将是同一类型。

●     如果不同数据类型的数据进行运算,结果的类型为两个运算对象中存储长度较长的那个对象的类型。

除法运算是例外情况,不论除数与被除数类型如何,其结果是双精度型

Page 57: 第三章  VB 语言基础

3.5 Visual Basic 公共函数

所谓公共函数是由系统提供的,可在任何一个 VB程序中随时使用的程序段。

●     每个函数都有系统规定的函数名。

●     使用函数称为函数调用。函数调用的形式如下:

<函数名 > (p1,p2,…)

其中, p1,p1, …是调用函数时的自变量序列,自变量的个数、排列次序和数据类型应和函数规定的参数相同。

Page 58: 第三章  VB 语言基础

3.5 Visual Basic 公共函数

常用数学函数常用转换函数字符串函数日期函数格式化函数 Format$课堂练习

Page 59: 第三章  VB 语言基础

常用数学函数

函数名 说 明 例 结 果Abs(N) 取绝对值 Abs(-3.5) 3.5

Atn(N) 反正切函数 Atn(0) 0

Cos(N) 余弦函数 Cos(0) 1

Exp(N) e为底的指数函数,即eN

Exp(3) 20.068

Log(N) 以 e为底的自然对数 Log(10) 2.3

Rnd[(N)] 产生随机数 Rnd 0~1之间的数Sin(N) 正弦函数 Sin(0) 0

Sgn(N) 符号函数 Sgn(-3.5) -1

Sqr(N) 平方根 Sqr(9) 3

Tan(N) 正切函数 Tan(0) 0

Page 60: 第三章  VB 语言基础

常用转换函数

函数名 说明 例 结果Asc( C ) 字符转换成 ASCII码值 Asc( “A” ) 65

Chr$(N) ASCII码值转换成字符 Chr$(65) “A”

Fix(N) 取整 Fix(-3.5) -3

Hex[$](N) 十进制转换成十六进制 Hex(100) 64

Int(N) 不大于 N的整数 Int(-3.5) -4

Lcase$( C ) 大写字母转换为小写字母 Lcase$(“ABC” ) “abc”

Oct[$](N) 十进制转换成八进制 Oct$(100) “144”

Str$(N) 数值转换为字符串 Str$(123.45) “123.45”

Ucase$( C ) 小写字母转换为大写字母 Ucase$( “abc” ) “ABC”

Val( C ) 数字字符串转换为数值 Val(“123AB” ) 123

Page 61: 第三章  VB 语言基础

字符串函数函数名 说明 例 结果

Left$(C,N) 取出字符串左边 n个字符 Left$(“ABCDEFG”,3 ) “ABC”

Len( C ) 字符串长度 Len(“ABCDEFG” ) 7

Ltrim$( C ) 去掉字符串左边空格 Ltrim$(“ ���ABCD” ) “ABCD”

Mid$(C,N1,N2) 自字符串 N1位开始向右取N2个字符

Mid$(“ABCDEFG”,2,3 ) “BCD”

Right$(C,N) 取出字符串右边 n个字符 Right$(“ABCDEF”,3) “DEF”

Rtrim$( C ) 去掉字符串右边空格 Rtrim$( “ABCD ���” ) “ABCD”

Space$( N ) 产生 N个空格的字符串 Space$( 3 ) “ ���”String$( N ) 返回由 C中首字符组成的

N个字符串String$( 3,”ABCDEF” ) “AAA”

Page 62: 第三章  VB 语言基础

日期函数

函数名 说明 例 结果

Time[$][( )] 返回系统时间 Time 11:26:53AM

Date [$][( )] 返回系统日期 Date$( ) “1997-05-01”

Now 返回系统时间和日期 Now 97/05/01 11:26:53AM

DateSerial(年,月,日)

相对 1899, 12, 30为0返回一个序数

DateSerial(97,05,01)-DateSerial(97,04,01)

30

DateValue( C ) 同上,但自变量为字符串

DateValue(“97,05,01”)-DateValue(“97,04,01”)

30

Day(C|N) 返回日期代号( 1~31) Day (“97,05,01”) 1

Month (C|N) 返回月份代号( 1~12) Month (“97,05,01”) 5

Year (C|N) 返回年代号( 1753~2078)

Year(365)相对1899, 12, 30为 0天后365天的年代号

1900

WeekDay(C|N) 返回星期代号( 1~7) WeekDay (“97,05,01”) 5(即星期四)

Page 63: 第三章  VB 语言基础

在使用函数时应特别注意以下几点:

1.  必须准确地掌握函数的功能;

2.  必须使用正确的函数名;

3.  必须注意函数及各个自变量的数据类型、各个自变量的意义和允许的数值范围。

3.5 Visual Basic 公共函数

Page 64: 第三章  VB 语言基础

格式化函数 Format[$]专门用于将数值、日期和时间数据按指定格式输出的函数。它的一般形式如下: Format[$](<算术表达式>, fmt$) 式中的 fmt$是用于格式控制的字符串。格式控制字符有:#、 0、 .、%、 $、 -、+、 (、 )、 E+、 E-其中#、 0:数位控制符

.、 ,是标点控制符

E+、 E-是指数输出控制符;

其它是符号控制符。 格式化函数 Format[$]仅用于控制数据的外部输出形式,不会改变数据在计算机内部的存储形式。

格式化函数 Format$

Page 65: 第三章  VB 语言基础

格式输出函数

符号 作用 数值表达式 格式化字符串 显示结果

0 实际数字小于符号位数时,数字前后加 0

1234.567

1234.567

“00000.0000”

“000.00”

01234.5670

1234.57

# 实际数字小于符号位数时,数字前后不加 0

1234.567

1234.567

“#####.####”

“###.##”

1234.567

1234.57

. 加小数点 1234 “0000.00” 1234.00

, 千分位 1234.567 “##,##0.0000” 1,234.5670

% 数值乘以 100,加百分号

1234.567 “####.##%” 123456.7%

Page 66: 第三章  VB 语言基础

1. 下列语句运行时系统给出错误提示的是_。 A .Print -32000-769 B .Print“IE2”+8 C .Print “AB”&128 D .Print 3=2=4

2.下面所列四组数据中,全部是正确的 VB常数是          。

A.32768,1.34D2,"ABCDE",&O1767

B.3276,123.56,1.2E-2,#True#

C.&HABCE,02-03-2002,False,D-3        

D.ABCDE,#02-02-2002#,E-2

课堂练习

Page 67: 第三章  VB 语言基础

3.运行下面程序,单击命令按钮 Command1,则立即窗口上显示的结果是         。

Private Sub Command1_Click()   

Dim A As Integer,B As Boolean

Dim C As Integer,D As Integer   

A=20/3  :  B=True  :  C=B  :  D=A+C   

Debug. Print A, D,  A=A+C

End Sub

A. 7   6  False      B. 6.6  5.6  False    

C. 7   6  A=6        D. 7    8    A

课堂练习

Page 68: 第三章  VB 语言基础

4. “表示命题 A 是一个带小数的正数,且 B是一个带小数” 的负数 的逻辑表达式是     

5.下列表达式中,值为 True的是 ____ 。

A. Ucase("ABCD“)>="abcd"

B. 14/2\3<10 Mod 4

C. Mid("ABCD",2,2)>Left("ABCD",2)

D. Not(Spr(4)-3>=-2)

课堂练习

A>0 and int(a)<>a and b<0 and int(b)<>b

Page 69: 第三章  VB 语言基础

6.下面表达式的值为真的是 ___

A Mid("Visual Basic",1,12)=Right("Programming Language Visual Basic",12)

B "ABCRG">"abcde"

C Int(134.69)>=Cint(134.69)

D 78.9/32.77<=97.5/43.97 And -45.4>-4.98

7.有变量定义语句 Dim a,b As Integer , 变量 a的类型和初值是______

A. Integer,0 B. Variant, 空值

C. String,"" D. Long,0.0

课堂练习