第三章 VB语言基础
( 2学时)
3.1 编码规则
3.2 数据类型
3.3 变量与常量
3.4 运算符和表达式
3.5 常用函数
3.6 常见错误
3.1 编码基础
1.VB代码不区分字母的大小写系统保留字自动转换每个单词的首字母大写用户自定义行以第一次为准
2.语句书写自由一行可书写几句语句,之间用冒号分隔 ;
一句语句可分若干行书写,用续行符连接 _
一行 <=255个字符
3.注释有利于程序的维护和调试
Rem开始 或 单撇?
4.保留行号与标号,
3.2 数据类型标准数据类型
3.3 变量与常量一,变量和常量的命名规则变量:在程序运行中其存储的值可以改变。
常量:在程序运行中其值不可以改变。
命名 规则:
1.以字母或汉字开头,后可跟汉字、字母、数字或下划线组成,长度小于等于 255个字符;
2.不要使用 VB中的关键字;
3.VB中不区分变量名的大小写,
4.为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型 。
二,变量声明
1.用 Dim语句 显式 声明变量形式,Dim 变量名 [AS 类型 ]
Dim 变量名类型符例 Dim iCount As integer,sAllsum As single
等价于 Dim iCount%,sAllsum!
2.隐式声明未进行上述的声明而直接使用,其类型为 Variant 类型建议不使用,
注意,在通用声明处加 Option Explicit 语句来强制显式声明变量。
三,常量
1,用户声明常量形式:
Const 常量名 [AS 类型 ] = 表达式省略 [AS 类型 ],常量的类型由表达式值的类型决定为使与变量名区分,一般常量名使用大写字母例 Const MAX=100
2,系统提供的常量系统定义常量位于对象库中,可通过“对象浏览器”查看,
例,vbNormal vbMinimized,vbbCrLf等
3.4 运算符和表达式一,运算符
1,算术运算符例,5+10 mod 10 \ 9 / 3 +2 ^2 结果,10
2,字符串运算符
&,+ 字符串连接
" 123 " + " 456 " 结果 " 123456 "
" 123 " & " 456 " 结果 " 123456 "
区别,+ 两边必须是字符串,& 不一定例如,
" abcdef " + 12345 '出错
"abcdef" & 12345 ' 结果为 "abcdef12345 "
" 123 " + 456 ' 结果为 579
" 123 " & 456 ' 结果为 " 123456 "
3,关系运算符将两个操作数进行大小比较,结果为逻辑量。
字符串比较,则按字符的 ASCII码值从左到右一一比较,直到出现不同的字符为止,。
例," ABCDE " > " ABRA " 结果为 False
"男字 " > "女字 " 按汉字的拼音字母比较
4,逻辑运算符将操作数进行逻辑运算,结果是逻辑值条件表达式 1 And 条件表达式 2 条件表达式均为 T 结果为 T
条件表达式 1 Or 条件表达式 2 条件表达式有一个 T 结果为 T
二,表达式
1.组成变量、常量、函数、运算符和圆括号
2.书写规则
( 1)运算符不能相邻。例 a+-b是错误的。
( 2)乘号不能省略。例 x 乘以 y 应写成,x*y
( 3)括号必须成对出现,均使用圆括号。
( 4)表达式从左到右在同一基准上书写,无高低、大小。
3,不同数据类型的转换运算结果的数据类型向精度高的数据类型靠,
Integer<Long<Single<Double<Currency
4,优先级算术运算符 >=字符运算符 >关系运算符 >逻辑运算例:用人单位招聘秘书:年龄小于 40岁,女性,学历专科或本科年龄 <40 性别 =“女” (学历 =“专科” 学历 =“本科” )
And And Or
考虑:若分别写成:
年龄 <40 And 性别 =“女” And (学历 =“专科” And 学历 =“本科” )
年龄 <40 Or 性别 =“女” Or (学历 =“专科” Or 学历 =“本科” )
例:表示算术表达式:
正确的 VB表达式,3〈 =x And x <=7
错误的 VB表达式,3<=x<=7 或 3<=x Or x<=7
73 x
比 a小,比 b大 用 Or a小数 b大数
a
小数
b
大数比 a大,比 b小 用 And
3.5 常用内部函数
1,数学函数
Rnd函数返回 0和 1(包括 0但不包括 1)之间的双精度随机数,
每次运行时,要产生不同序列的随机数,执行 Randomize 语句,
例产生 1-100的随机数,Int(Rnd *100)+1
2,转换函数
Chr(66),B,Asc (“B") 66
Asc(Chr(99)) 99 Chr(Asc(“K”)),K”
Ucase$("abcdefg"),ABCDEFG"
3.日期函数
Time 返回系统时间 Date 返回系统日期
DateAdd(要增减日期形式,增减量,要增减的日期变量)
DateDiff(要间隔日期形式,日期 1,日期 2)
例如求两个时间相差的秒数,
DateDiff(” s”,#19:3:23#,#19:5:1# )结果为 98
4,字符串编码和函数
(1)字符串编码
Windows系统对字符采用了 DBCS编码,中文 2字节,西文 1字节
VB中字符 Unicode编码,任何字符 2字节,
Len(“中国 good”)为 6 LenB(“中国 good”)为 12
StrConv() 进行 DBCS与 Unicode之间转换,
(2)字符串函数
Mid$("ABCDEFG",2,3) "BCD"
InStr(2,"ABCDEFG","EF") 5
S=Split("123,56,ab",",")
Join(S,"") "123 56 ab"
Replace("ABCDABCD","CD","123"),AB123AB123”
S(0)= "123",S(1)="56",S(2)="ab"
5.格式输出函数例 3.1 利用 Format函数显示有关的日期和时间。
Form_CLICK() 效果
FontSize=12
MyTime = #9:21:30 PM#
MyDate = #7/21/97#
Print Format(MyDate,"m/d/yy")
Print Format(MyDate,"mmmm-yy")
Print Format(MyTime,"h-m-s AM/PM")
Print Format(MyTime,"hh:mm:ss A/P")
' 显示系统当前日期和时间
Print Format(Now,"yyyy年 m月 dd日 hh,mm")
' 以系统预定义的格式 显示系统当前时间
Print Format(Date,"dddd,mmmm,dd,yyyy")
End Sub
6,Shell函数能在 DOS下或 Windows下运行的应用程序,也可以在 VB中调用,
形式,Shell(命令字符串,窗口类型 )
窗口类型值为 1表示正常窗口,缺省窗口最小化为图标。
i = Shell("c:\windows\calc.exe")
j = Shell("c:\command.com",1)
3.6 常见错误
1.逻辑表达式书写错,在 VB没有造成语法错而形成逻辑错例数学表达式 3≤ x< 10 VB表达式为 3<=x<10
问题在于 VB中的逻辑量与数值量可互转
2.同时给多个变量赋值,在 VB没有造成语法错而形成逻辑错例,Dim x%,y%,z%
x=y=z=1
3,标准函数名写错
4.变量名写错检查方法,在通用声明段加 Option Explicit
5.语句书写位置错在通用声明段只能有 Dim语句,不能有赋值等其它语句