2VB基本语言表达式函数
表达式执行的顺序
算术运算 字符串运算 比较运算 逻辑运算
23
指数(^)
取负(-) 乘、除(*、/) 整除( \ ) 取模(Mod) 加减(+、-)
连接&、+
相等=
不等<>
Not
And
小于<
大于> 不大于<= 不小于>= Like Is
Or
Xor Eqr Imp
例:用人单位招聘秘书:年龄小于40岁,女性,学历专科或本科 年龄<=39 性别=“女” (学历=“专科” 学历=“本科 And And Or ”)
24
例:表示算术表达式:
3 x 7
或 3<=x Or x<=7
a 小数 b 大数
正确的VB表达式: 3<=x And x <=7 错误的VB表达式: 3<=x<=7
比a小,比b大 :用 Or
比a大,比b小 :用 And
a 小数
b 大数
25
写出下列算式的表达式:
cos (c d )
2
(Cos (c+d))^2 5^2+3*(7-2*b)^(1/2) 2*a^(1/2)/((7+b)*(4-c))
Object Variant
5
3.3 变量与常量
一.变量和常量的命名规则 变量:在程序运行中其存储的值可以改变。 常量:在程运行中其值不可以改变。 命名 规则: 1.以字母或汉字开头,后可跟字母、数字或下划线组 成,长度小于等于255个字符; 2.不能使用VB中的关键字; 3.VB中不区分变量名的大小写. 4.为了增加程序的可读性,可在变量名前加一个缩写的前缀来 表明该变量的数据类型。
二.动态数组及声明
(1) 使用Dim、Private或Public语句声明括号内为空的数组
16
(2)在过程中用ReDim语句指明该数组的大小
例 Dim sArray( ) As Single Sub Form_Load( ) … ReDim sArray(4,8) … End Sub 说明: Dim、Private、Public变量声明语句是说明性语句,可出现在过 程外或内。 ReDim语句是执行语句,只能出现在过程内。数组下标允许使用 表达式。 关于数组的使用,我们将在后面结合实例进行并进一步说明。
4
% & ! # @
Integer Long Single Double Currency Boolean
字符型(变长)字符型(定长) 日期/时间源自 对象型 变体型$$
String
String*Nu m Date /Time Obj Var Num 8B 4 根据 需要 分配
0~约20亿
1~约65,400 100年1月1日~9999年12月31日
变量类型 字节型 整型 长整型 单精度型(浮点) 双精度型(浮点) 货币型 逻辑型 类型 说明符 AS类型名 Byte
3.2 数据类型
数据长 度 1 2 4 4 8 8 2 0~255 -32768~32767 -214,483,648 ~214,483,647 -3.402823E38~-1.401298E-45、 1.401298E-45 ~ 3.402823E38 -1.79769313486232E308~1.79769313486232E308、 - 4.94065645841247E - 324 ~4.94065645841247E - 324 -922,337,203,685,477.5808~922,337,203,685,477.5807 True、False 范围
9
三.变量声明 1. 显式声明变量
使用变量定义语句后再使用。
2.隐式声明
未进行上述的声明而直接使用,其类型为 Variant 类型 建议不使用. 注意: 在通用声明处加 Option Explicit 语句来 强制显式声明变量。
10
变体型变量
Dim VarName As Variant
Dim VarName 用VarName或VarType函数测试变量类型,将在函数中 讲解。
一行可书写几句语句,之间用冒号“:”分隔;
一句语句可分若干行书写,用续行符连接“ _”一行<=255个 字符 3.注释有利于程序的维护和调试 Rem开始 或 单撇 ‘ 4.保留行号与标号.
3
数据类型
• 数值型
– 字节型 – 整型 – 浮点型
• 字符型 • 布尔型(逻辑型) • 日期时间型
标准数据类型
5 3 (7 2b)
2
2 a (7 b)(4 c)
x yz 5( a b)
(x+y+z)/(5*(a+b))
26
设A=2,B=3,C=4,D=5。求下列表达式的值: False 1. A>B AND C<=D OR 2*A>C True 2. 2*A>=C AND B<>C OR C>D 3. NOT A<=C OR 4*C=B^2 AND B<>A+C False
17
3.4 运算符和表达式 一. 运算符 1. 算术运算符
18
3.4 运算符和表达式
例:5+10 mod 10 \ 9 / 3 +2 ^2
结果:10
19
2. 字符串运算符 & 、+ 字符串连接 " 123 " + " 456 " 结果 " 123456 " " 123 " & " 456 " 结果 " 123456 "
V_ERROR
V_BOOLEAN V_VARIANT V_OBJECT V_BYTE V_ARRAY
10
11 12 13 17 8192
Error
Boolean Variant(仅用于变体数组) Object(非OLE自动化对象) Byte Array
12
1) 记录类型变量
TYPE Student nAge AS Integer strName As String*5 bolSex As Boolean End Type 使用时可用“变量· 元素”方式使用各个成 员。 Student· nAge=20 Student· strName=“张三” Student· bolSex=True
2. 系统提供的常量
系统定义常量位于对象库中,可通过“对象浏览器”查看. 例: vbNewLine vbYesNo等
3. 文字常量 20、”张三”、True
8
三.变量声明 格式:
Public|Global|Private|Dim 变量名1 [As 类型][,变量名2 [As 类型]]……
Dim strName As String, intAge As Integer, bolSex As Boolean Dim intCoun As Integer Dim foaSum
1
第三章 VB基本语言
3.1 3.2 3.3 3.6 3.4 3.5 3.7 3.8 3.9 编码基础 数据类型 变量与常量 数组 运算符和表达式 基本语句及结构 过程 常用算法举例 程序调试
2
3.1 编码基础
1.VB代码不区分字母的大小写 系统保留字自动转换每个单词的首字母大写 用户自定义行以第一次为准 2.语句书写自由
条件表达式均为T 结果为T
条件表达式有一个T 结果为T
22
二. 表达式
1.组成 变量、常量、函数、运算符和圆括号 2.书写规则 (1)运算符不能相邻。例a+*b是错误的。 (2)乘号不能省略。例x 乘以y 应写成:x*y (3)括号必须成对出现,均使用圆括号。 (4)表达式从左到右在同一基准上书写,无高低、大小。 3. 不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠. Integer<Long<Single<Double<Currency 4. 优先级 算术运算符>=字符运算符>关系运算符>逻辑运算
3.关系运算符(比较运算符)
将两个操作数进行大小比较,结果为逻辑量。
20
字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不 同的字符为止.。 例: " ABCDE " > " ABRA " 结果为 False
"男 "
> "女 "
按汉字的拼音字母比较
21
4. 逻辑运算符
将操作数进行逻辑运算,结果是逻辑值 条件表达式1 And 条件表达式2 条件表达式1 Or 条件表达式2
13
变量的作用范围
1. 局部变量:在过程内定义的变量,其作用域是它所 在的过程,一般用来存放中间结果或临时变量。在 其它过程中可以有与其同名的变量 。在过程内用 Private或Dim定义。 2. 窗体变量和模块变量:在窗体内所有的过程有效。 模块变量是在标准模块中起作用的 ,用Private 或 Dim定义。 3. 全局变量:可以在工程中的每个模块、每个过程中 使用。其作用域为整个工程。用Public、Global声明 ,不能用Dim声明。全局变量只能在标准模块中声明 ,不能在过程或窗体中声明。
15
Dim lArray( 0 To 3, 0 To 4) As Long 共有 4×5个元素 等价于: Dim lArray(3, 4) As Long
注意: 1. 下界缺省为0 ,也可在重新定义数组的下界。例如: Option Base 1 2. 在数组声明中的下标说明了数组的整体,即每一维的大小; 而在程序其他地方出现的下标表示数组中的一个元素。 两者写法形式相同,但意义不同。 例如: Dim x(10) As Integer ' 声明了x数组有11个元素 x(10)=100 ' 对x(10)这个数组元素赋值