2、 3、 4、
不能使用 VB 中关键字,如 Dim 、If 、 For 等。
一般不使用 VB 中具有特定意义的标识符,如:属性、方法名等。 不去区分大小写,但一般变量的首字母大写,其余小写,而常量全部大写。
3.2.2 常量
常量分为三种:直接常量、用户声明的符号常量、系统提供的常量。 1、 直接常量
直接常量就是常数值直接反映了其类型,又称文字常量。 2、 符号常量
符号常量是用户定义了一个标识符代表一个常数值。定义形式为: Const 符号常量名 [As 类型 ] =表达式注意:常量一旦声明,以后只能引用,不能改变其值。 3、 系统提供的常量
系统预先定义的,一般以 vb 为前缀。如:换行符: vbCrLf 。
3.2.3 变量
变量是在程序运行时其值可以改变的量。其声明方法有两种: 1、 显式声明
形式为: Dim 变量名 [As 类型 ]
方括号可缺省,若缺省则变量类型为变体型( Variant)。
注意:(1)声明多个相同类型的变量时,必须逐一列出,否则类型为变体型。如: Dim a%,b%,c%(正确 );Dim a,b,c%(错误 )
(2)声明时可选择是否固定字符串类型的变量的长度
Dim 字符串变量名 as String 长度不固定
Dim 字符串变量名 as String*字符数 长度固定
2、 隐式声明
隐式声明是变量没有声明而直接使用。此时变量默认值为
0。
3.3 运算符和表达式
3.3.1 运算符
运算符分为四种:算术运算符、字符串连接符、关系运算符和逻辑运算符。 1、算术运算符
运算符 含义 优先级(运算先后) 幂运算 ^ 1
负号 - 2
乘 * 3 除 / 3 整除 \\ 4 取余数 Mod 5
加 + 6 减 - 6
2、字符串连接符
字符串连接符有两个:“ & ”和“ +”,它们可以将两个字符串连接起来。
“& ”和“ +”的区别:
(1)“ & ”:连接符两边的操作数不论是字符型还是数值型,系统先将操作数转换成字符型,再连接。
(2)“ +”:即可当算术运算的加法运算,
也可作为字符串连接。当两边操作数为字符串时,作连接运算;当两侧为数值型时,作加法运算;当两侧一个为数字字符串,另一个为数值型时,则将数字字符串转换为数值,再作加法运算;当两侧一个为非数字字符串,另一个为数值型,则出错。
3、关系运算符
稍微注意不等于的符号是“ <>”就好了。
注意:
( 1) 如果两个操作数是数值型,则按其大小进行比较。
( 2) 如果两个操作数是字符型,则按字符的ASCII 码值从左到右逐一进
行比较,直到出现不同的字符时为止。 ( 3) 关系运算符的优先级相同。
运算符 Not
4、逻辑运算符
逻辑运算符又称布尔运算符,结果只有 True 或 False。 含义 优先级 含义 取反
实例 结果 T
F T F F T T F T F
1
当表达式的值为 False时,结果为 True。 Not F
Not T 当两个表达式的值为 True 时,结果才为
True。
T And T
F And F F And T T Or T T Or F F Or F T Xor F T Xor T
And
与
2
或
Or
3
当两个操作数中有一个为 True。
True,结果为
Xor
3
异或
当两个操作数一个为 True,一个为 False 时,结果才为 True,否则为 False。
3.3.2 表达式
1、表达式的书写规则
(1)乘号不能省去,应写成 a*b 形式。 (2)括号必须成对出现,均使用圆括号。
(3)表达式从左到右在同一基准上书写,无高低、大小之分。
3、运算符的优先级
算术运算符 >字符串连接符 >关系运算符 >逻辑运算符
3.4 常用内部函数
3.4.1 数学函数 函数 Abs(N) Log(N)
含义 实例
Abs(-3.5) Log(10) Exp(3) Sqr(9)
结果 3.5 2.3 20.086
3
取 N 的绝对值
返回以 e 为底的自然对数 返回以 e 为底的幂,即 eN
Exp(N)
求 N 的平方根 Sqr(N)
3.4.2 转换函数
功能
字符转换成 ASCII 码值 Asc(C)
ASCII 码值转换成字符 Chr(N)
数值转换为字符串 CStr(N)
数值转换为字符串 Str(N)
返回不大于 N 的最大整数 Int(N)
大写字母转为小写字母 LCase(C)
UCase(N) 小写字母转为大写字母
数字字符串转换为数值 Val(N)
3.4.3 字符串函数 函数名 说明 InStr(C1,C2)
Left(C,N) Len(C)
Mid(C,N1[,N2])
函数名
实例
Asc(“A”) Chr(“65”) CStr(123.45) Str(123.45) Int(-3.5)
LCase(“ABC ”) UCase(“abc”) Val(“123ab”)
结果 65 A
“123.45” “□123.45”
-4 “abc” “ABC ”
123
结果 3
“as” 4
“dg” “a1f” “hj”
“□□□” “xxxx ”
实例
InStr(“qwasdf”,”as”) Left( “asdf”,2) Len(“fsgs”)
Mid( “asdgf”,3,2)
Replace(C,C1,C 2)
取出字符串右边 N 个字符 Right(C,N)
产生 N 个空格 Space(N)
产生 N 个 C 个字符组成的字符串 String(N,C)
3.4.3 日期函数 函数 说明
在 C1 中找 C2,找不到为 0
取出字符串左边 N 个字符 字符串长度
在字符串 C 中从 N1 位开始向右取 N2 个字符,缺省 N2 则取到结束 在 C中将 C2替代 C1
Replace(“asdf”,sd,1)
Right(“ghajh”,2) Space(3)
String(4,”x”)
实例 结果
返回系统日期 Date Date 2016-6-11
返回系统日期和时间 Now Now 2016-6-11 23:12:31
返回系统时间 Time Time 23:12:31
返回年份 4 位数 Year(D) Year(Now) 2016 返回星期代号( 1~7) 7(即星期六) WeekDay(D) WeekDay(Now)
3.4.5 其他使用函数 1、Rnd 函数 Rnd[()] 或 Rnd(N)
功能:产生一个范围为 [0,1)的双精度随机数, N>0 或缺省时生成随机数, N
≤0 时生成与上次相同的随机数。 通用表达式: Int(Rnd*( 上界 -下界 +1)+下界)。为了产生不同序列的随机数,
可在其上一行加 Randomize语句,它能初始化随机数生成器。
2、IsNumeric 函数
形式: IsNumeric(表达式)
作用:判断表达式是否是数字,若是数字字符(包括正负号、小数点),返
回 True,否则为 False。
第四章 基本控制结构( ***** )
4.1 顺序结构
4.1.3 数据输入
通过 InputBox 对话框输入 一般的简单形式为:变量 =InputBox( 提示 )
4.1.4 数据输出
1、MsgBox 的两种形式:
函数形式:变量 =MsgBox(提示 , 0+48,标题)
过程形式: MsgBox 提示 ,0+48 ,标题
其它按钮、图标类型请看 P75。 2、格式输出函数
Format(表达式, ”格式字符串 ”)
符号 作用
实例 显示结果
0
#
, %
数字占位符,若实际数字小于符号 Format(23.4,”000.00”) 023.40 位数,数字前后加 0 数字占位符,若实际数字小于符号 Format(23.4,”###.##”) 23.4 位数,数字前后不加 0 千分位占位符 Format(1523.4,”##,##0.00”) 1.523.40 将表达式乘以 100,并在数字后加 % Format(23.426,”###.##%”)2342.6%
4.2 选择结构
4.2.1 If 条件语句
1、If ?Then 语句(单分支结构) 两种形式如下:
( 1) If 表达式 Then
语句块 End If
( 2) If 表达式 Then 语句
2、If ?Then ? Else 语句 (双分支结构) ( 1) If 表达式 Then
语句块 1 Else
语句块 2
End If ( 2) If 表达式 Then 语句 1 Else 语句 2 3、If ?Then ? ElseIf 语句 (多分支结构)
If 表达式 1 Then
语句 1
ElseIf 表达式 2 Then
语句 2 ?
[Else
语句 n+1]
End If 4.2.2 Select Case 语句
Select Case 表达式
Case 表达式列表 1
语句 1
Case 表达式列表 2
语句 2 ?
[Case Else
语句块 n+1]
End Select
4.2.4 条件函数 1、 IIf 函数
IIf ( 表达式,当表达式的值为 True 时的值,当表达式的值为 False 时的值)2、 Choose函数
变量 =Choose (整数表达式,选项列表)
4.2.5 选择控件与分组控件 1、单选按钮
主要属性 Value 为逻辑型,被选定为 True;未选定为 False,默认值。 2、复选框
Value 属性有 3 个状态,分别表示未被选定、选定和灰色。 3、框架
修改框架的 Enabled、Visible 属性同样作用框架内的其它控件。
4.3 循环结构
4.3.2 For ?Next 循环语句
For 循环控制变量 =初值 To 终值 [Step 步长 ]
循环体
Next 循环控制变量
循环次数 n=Int((终值 -初值) / 步长 +1) 4.3.3 Do ? Loop 循环语句
常用于控制循环次数未知的循环结构,有两种形式: 1、Do [{While|Until} 条件表达式 ]
循环体
Loop
先判断再循环,有可能循环体一次也不执行。 2、Do
循环体
Loop [{While|Until} 条件表达式 ] 先循环再判断,至少执行一次循环体。
4.4 其他辅助控制语句和控件
4.4.1 GoTo 语句
形式为: GoTo { 标号 |行号 }
作用:程序运行转移到标号或行号指定的那行语句。 4.4.2 Exit 和 End 语句
1、Exit 一般用于退出循环或过程的执行。如: Exit Do 、Exit Sub 等。
2、End 单独用时,结束程序运行;与其他控制结构关键字配套时,结束一条