《(7)--第2章 VB程序设计基础.ppt》由会员分享,可在线阅读,更多相关《(7)--第2章 VB程序设计基础.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章 Visual Basic程序设计基础教学内容教学内容1数据类型数据类型2常量和变量常量和变量3运算符和表达式运算符和表达式4常用内部函数常用内部函数2.1 2.1 数据类型数据类型1.1.字符串(字符串(StringString)字符串是一个字符序列,由字符串是一个字符序列,由 ASCII ASCII 字符组成,包字符组成,包括标准的括标准的 ASCII ASCII 字符和扩展字符和扩展 ASCII ASCII 字符。在字符。在 Visual Visual Basic Basic 中,字符串是放在双引号内的若干个字符,其中中,字符串是放在双引号内的若干个字符,其中长度为长度为0 0(即
2、不含任何字符)的字符串称为空字符串。(即不含任何字符)的字符串称为空字符串。字符串通常放在引号中,例如:字符串通常放在引号中,例如:Hello Hello (空字符串)(空字符串)Visual Basic Visual Basic 中的字符串分为两种,即变长字符中的字符串分为两种,即变长字符串和定长字符串。串和定长字符串。2.2.数值数值 (1)(1)整型数整型数:是指不带小数点和指数符号的数是指不带小数点和指数符号的数。整数(整数(IntegerInteger)长整数(长整数(LongLong)(2)(2)浮点数浮点数:是带有小数部分的数值。:是带有小数部分的数值。单精度浮点数(单精度浮点数
3、(SingleSingle)双精度浮点数(双精度浮点数(DoubleDouble)3.3.货币(货币(CurrencyCurrency)货币数据类型是为表示钱款而设置的。该类型货币数据类型是为表示钱款而设置的。该类型数据以数据以 8 8 个字节个字节(64(64位位)存储,精确到小数点后存储,精确到小数点后4 4位位(小数点前有小数点前有1515位位),在小数点后,在小数点后 4 4 位以后的数字将位以后的数字将被舍去。被舍去。4.4.变体(变体(VariantVariant)变体数据类型是一种可变的数据类型,可以表变体数据类型是一种可变的数据类型,可以表示任何值,包括数值、字符串、日期时间等
4、。示任何值,包括数值、字符串、日期时间等。5.5.其他数据类型其他数据类型(1)(1)字节(字节(ByteByte)字节实际上是一种数值类型,以字节实际上是一种数值类型,以 1 1 个字节的无个字节的无符号二进制数存储,其取值范围为符号二进制数存储,其取值范围为 0 0255255。(2)(2)布尔(布尔(BooleanBoolean)布尔型数据是一个逻辑值,用两个字节存储,布尔型数据是一个逻辑值,用两个字节存储,它只取两种值,即它只取两种值,即 TrueTrue(真)或(真)或 False(False(假假)。(3)(3)日期(日期(DateDate)日期文字须以符号日期文字须以符号“#”括
5、起来,例如,括起来,例如,#January l#January l,2001#2001#。日期型数据用来表示日期信息,。日期型数据用来表示日期信息,其格式为其格式为 mm/dd/yyyy mm/dd/yyyy 或或 mm-dd-yyyy mm-dd-yyyy,取值范围为,取值范围为1/1/1001/1/100到到12/31/999912/31/9999。(4)(4)对象(对象(ObjectObject)对象型数据用来表示图形、对象型数据用来表示图形、OLE OLE 对象或其他对象,对象或其他对象,用用 4 4 个字节存储。个字节存储。数据类型数据类型类型符类型符 存储空间存储空间取值范围取值范
6、围Byte(字节字节)无无1个字节个字节0255Boolean(布布 尔尔型型)无无2个字节个字节True或或FalseInteger(整型整型)%2个字节个字节-3276832767Long(长整型长整型)&4个字节个字节-21474836482147483647Single(单精度浮点型单精度浮点型)!4个字节个字节负负数数时时从从-3.402823E381.401298E-45正正 数数 时时 从从 1.401 298E-45 3.402823E38Double(双精度浮点型双精度浮点型)#8个字节个字节负负数数时时从从-1.79769313486232E308-4.9406564584
7、1247E-324正正数数时时从从4.94065645841247E-324-1.79769313486232E308Currency(货币型货币型)8个字节个字节从从-922337203685477.5808922337203685477.5807数据类型数据类型类型符类型符存储空间存储空间取值范围取值范围Date(日期)日期)无无8个字节个字节100年年1月月1日日 9999年年12月月31日日Object(对象对象)无无4个字节个字节任何任何Object引用引用String(变长变长)$10字字节节加加字字符符串串长度长度O到大约到大约21亿亿String(定长定长)$字符串长度字符串长
8、度0-65535Variant(数字数字)无无16个字节个字节任任何何数数字字值值,最最大大可可达达Double的的范围范围Variant(字符字符)无无22个个字字节节加加字字符符串长度串长度与变长与变长String有相同的范围有相同的范围2.2 2.2 常量和变量常量和变量1.1.直接常量直接常量 (1)(1)字符串常量字符串常量 字符串常量由字符组成,可以是除双引号和回字符串常量由字符组成,可以是除双引号和回车符之外的任何车符之外的任何 ASCII ASCII 字符。例如:字符。例如:“Number of Number of EmployeesEmployees”。2.2.1 2.2.1
9、 常量常量(2)(2)数值常量数值常量 数值常量包括整数、长整数、定点数、浮点数和数值常量包括整数、长整数、定点数、浮点数和字节数。可在常数后面紧跟类型符,显示的说明常数字节数。可在常数后面紧跟类型符,显示的说明常数的数据类型。的数据类型。十进制常数:十进制常数:123123、123&123&、123.45123.45、1.234E21.234E2、123D3 123D3 八进制常数:数值前加八进制常数:数值前加&O&O。如,。如,&O123&O123、&O456&O456。十六进制常数:数值前加十六进制常数:数值前加&H&H。如,。如,&HABCD&HABCD、&H1234&H1234。(3
10、)(3)日期常量日期常量 用两个用两个“#”符号把表示日期和时间的值括起来,符号把表示日期和时间的值括起来,表示日期常量。例如:表示日期常量。例如:#2012-12-12#2012-12-12#。(4)(4)布尔常量布尔常量 布尔常量只有布尔常量只有 True(True(真真)和和 False(False(假假)两个值。两个值。2.2.符号常量符号常量 符号常量是指在程序中用符号表示的常量。符符号常量是指在程序中用符号表示的常量。符号常量又分为用户定义常量和系统内部定义常量。号常量又分为用户定义常量和系统内部定义常量。声明常量的语法为:声明常量的语法为:Const Const As As =表
11、达式表达式 在程序运行过程中,需要用变量来临时存储数在程序运行过程中,需要用变量来临时存储数据,并且变量中存储的这些数据是可以改变的。每据,并且变量中存储的这些数据是可以改变的。每个变量有唯一的名字和相应的数据类型,编程时通个变量有唯一的名字和相应的数据类型,编程时通过变量名引用其中存储的数据。过变量名引用其中存储的数据。2.2.2 2.2.2 变量变量1.1.命名规则命名规则(1)(1)变量名只能由字母、数字和下划线组成,长度不变量名只能由字母、数字和下划线组成,长度不大于大于 255 255 个字符。个字符。(2)(2)变量名必须以字母开头。变量名必须以字母开头。(3)(3)变量名不能使用
12、变量名不能使用 Visual Basic Visual Basic 中的关键字。中的关键字。(4)(4)变量名不区分大小写,但是为了便于阅读,一般变量名不区分大小写,但是为了便于阅读,一般首字母用大写。首字母用大写。例:下列合法的变量名有:A)a12c B)123ABC C)INTEGER D)X-Y E)ABC$E F)ABCA FA F2.2.声明变量声明变量 声明变量主要就是通知程序以后在程序中可以使声明变量主要就是通知程序以后在程序中可以使用这个变量。用这个变量。(1)(1)隐式声明:变量可以不加任何声明而直接使隐式声明:变量可以不加任何声明而直接使用,叫做隐式声明。用,叫做隐式声明。
13、(2)(2)显式声明:使用变量前,一般应该先声明变显式声明:使用变量前,一般应该先声明变量名及其类型,以决定系统为它分配的存储单元和量名及其类型,以决定系统为它分配的存储单元和运算规则。运算规则。声明语句:声明语句:Dim Dim 变量名变量名 As As 类型类型 如:DimIndexAsInteger 3.3.变量赋值变量赋值 在声明一个变量后,要先给变量赋上一个合适的值才能够在声明一个变量后,要先给变量赋上一个合适的值才能够使用。给变量赋值的格式如下:使用。给变量赋值的格式如下:变量名变量名=表达式表达式 可以使用一个表达式的数值来给某个变量赋值。一个普通可以使用一个表达式的数值来给某个
14、变量赋值。一个普通的常量、变量均属于简单的表达式。的常量、变量均属于简单的表达式。4.4.引用变量引用变量 在需要使用变量中的值时,必须引用变量的名字来取出其在需要使用变量中的值时,必须引用变量的名字来取出其中存放的数值。使用时,直接在需要用数值的位置上写上变量中存放的数值。使用时,直接在需要用数值的位置上写上变量的名字,系统会自动从变量中取出相应的数值进行计算。的名字,系统会自动从变量中取出相应的数值进行计算。2.3 2.3 运算符与表达式运算符与表达式 在进行程序设计时会经常用到各种运算,而运在进行程序设计时会经常用到各种运算,而运算符是代表某种运算功能的符号。程序会按运算符算符是代表某种
15、运算功能的符号。程序会按运算符的含义和运算规则执行实际的运算操作。的含义和运算规则执行实际的运算操作。Visual Basic Visual Basic 中的运算符包括中的运算符包括赋值运算符、赋值运算符、算术运算符、连接运算符、关系运算符和逻辑运算算术运算符、连接运算符、关系运算符和逻辑运算符符,利用这些运算符可以构成多种表达式。,利用这些运算符可以构成多种表达式。2.3.1 2.3.1 运算符运算符 1.1.赋值运算符赋值运算符 Visual Basic Visual Basic 中的赋值运算符用来给变量或中的赋值运算符用来给变量或对象的属性赋值,即把运算符右边的内容赋给运算对象的属性赋值
16、,即把运算符右边的内容赋给运算符左边的变量或属性。符左边的变量或属性。Visual Basic Visual Basic 中的赋值运中的赋值运算符是算符是“=”号,其一般格式如下:号,其一般格式如下:变量变量 =值值 其中其中“变量变量”可以是变量、数组的元素或对象可以是变量、数组的元素或对象属性。属性。“值值”可以是常量、变量、表达式或函数返可以是常量、变量、表达式或函数返回值。回值。2.2.算术运算符算术运算符若ia=3,则:例:例:5+10 mod 10 9/3+2 2 5+10 mod 10 9/3+2 2 结果:结果:10 10 3.3.连接运算符连接运算符 连接运算就是将两个表达式
17、连接一起。用来进连接运算就是将两个表达式连接一起。用来进行连接运算的运算符有行连接运算的运算符有“&”和和“+”。“&”运算符运算符用来强制将两个表达式字符串连接,而用来强制将两个表达式字符串连接,而“+”运算则运算则有些不同,如果两个表达式都为字符串,则将两个有些不同,如果两个表达式都为字符串,则将两个字符串连接;如果一个是字符串而另一个是数字则字符串连接;如果一个是字符串而另一个是数字则进行相加操作。进行相加操作。表达式1表达式2“”运算的结果“+”运算的结果4562456245624562456245845624562458456b2456b2报错4.4.关系运算符关系运算符 关系运算符
18、就是确定两个表达式之间的关系。关系运算符就是确定两个表达式之间的关系。关系运算符常用于条件语句和循环语句的条件判断关系运算符常用于条件语句和循环语句的条件判断部分。其优先级低于算术运算符,各个关系运算符部分。其优先级低于算术运算符,各个关系运算符的优先级是相同的,结合顺序从左到右。关系运算的优先级是相同的,结合顺序从左到右。关系运算符与运算数构成关系表达式,关系表达式的最后结符与运算数构成关系表达式,关系表达式的最后结果为布尔值果为布尔值 True True 和和 False False。运算符运算符说明说明运算符运算符说明说明 大于大于=等于等于 小于小于不等于不等于=大于等于大于等于Lik
19、eLike字字符符串串模模式式匹匹配配运算符运算符=AndOr由高到低:由高到低:算术运算符算术运算符字符运算符字符运算符关系运算符关系运算符逻辑运算符逻辑运算符例如:例如:a=2a=2,b=3b=3,c=5c=5Not a=c OR 4*c=b2 AND ba+cNot a=c OR 4*c=b2 AND ba+c结果是:结果是:FalseFalse2.3.22.3.2表达式表达式1.1.组成组成 变量、常量、函数、运算符和圆括号。变量、常量、函数、运算符和圆括号。2.2.书写规则书写规则 (1)(1)运算符不能相邻。例运算符不能相邻。例a+-ba+-b是错误的。是错误的。(2)(2)乘号不
20、能省略。例乘号不能省略。例x x 乘以乘以y y 应写成:应写成:x*yx*y。(3)(3)括号必须成对出现,均使用圆括号。括号必须成对出现,均使用圆括号。(4)(4)表达式从左到右在同一基准上书写,无高低、表达式从左到右在同一基准上书写,无高低、大小。大小。表达式书写举例:表达式书写举例:用人单位招聘秘书:年龄小于40岁的女性,学历专科或本科,应写成:年龄=3 And x 0)符号函数:Sgn(n)0 (n=0)-1 (n0)取整函数:Int(n)、Fix(n)Int(-12.51)=-13Fix(-12.51)=-12Int(12.51)=12Fix(12.51)=12 四舍五入函数:Ro
21、und(n)Round(-12.01)=-12 正弦函数:Sin(n)余弦函数:Cos(n)正切函数:Tan(n)弧度=n*PI/180 对数函数:Log(n)平方根函数:Sqr(n)2.4.2 2.4.2 字符串函数字符串函数查找子字符串函数查找子字符串函数 InStr(start,string1,string2,compare)InStr(start,string1,string2,compare)在在string1string1中从中从startstart的位置开始向后查找的位置开始向后查找string2 string2 例:InStr(2,“abcdefg”,”ef”)=?InStr(
22、6,“abcdefg”,”ef”)=?50 InStrRev(string1,string2,start,m)在string1中从start的位置开始向前查找string2 例:InStrRev(“abcdefg”,”ef”,2)=0 InStrRev(“abcdefg”,”ef”,6)=5 截取字符串截取字符串Left$(string,n)Left$(string,n)从从stringstring的左边开始截取的左边开始截取n n个字符个字符Right$(string,n)Right$(string,n)右边右边.Mid$(string,n1,n2)Mid$(string,n1,n2)从从n
23、1n1开始向右截取开始向右截取n2n2个字符个字符 例:例:Left(Left(“abcdefgabcdefg”,3),3)“abcabc”Right(Right(“abcdefgabcdefg”,3),3)“efgefg”Mid(Mid(“abcdefgabcdefg”,3,2),3,2)“cdcd”去除字符串空格去除字符串空格去除字符串空格去除字符串空格Ltrim$(string):去除左边空格Rtrim$(string):去除右边空格Trim$(string):去除两边空格例:LTrim(“abcd efg ”)“abcd efg ”RTrim(“abcd efg ”)“abcd efg
24、”Trim(“abcd efg ”)“abcd efg”字符串反序函数:字符串反序函数:字符串反序函数:字符串反序函数:StrRevStrRevStrRevStrReverse(string)erse(string)erse(string)erse(string)空格函数:空格函数:空格函数:空格函数:Space(n)Space(n)Space(n)Space(n)Now:返回系统当前日期和时间Date:返回系统当前日期Time:返回系统当前时间DateAdd(间隔形式字符串,增减量,日期):根据参数“间隔形式字符串”,在“日期”参数上增加“增减量”参数的值 例:DateAdd(yyyy,3,
25、#2003-7-28#)返回2006-7-282.4.3 2.4.3 日期和时间函数日期和时间函数Str$(n)把数值型变量n转换成字符型变量Val(string)把字符型变量string转换成数值型Asc(string)将首字符转换成相应的AscII码Chr$(n)将Ascii码转换成相应的字符Lcase$(string)将字母转换成相应的小写字符 Ucase(string)将字母转换成相应的大写字符2.4.4 2.4.4 转换函数转换函数 例例:str(321.35):str(321.35)“321.35321.35”Val(Val(“12.34Abc12.34Abc”)12.34 12.34 Asc(Asc(“abcdabcd”)97 97 Chr(10)Chr(10)换行符换行符 Chr(13)Chr(13)回车符回车符 Lcase(Lcase(“ABcdABcd”)abcd abcd Ucase(Ucase(“ABcdABcd”)ABCD ABCD随机数生成语句和随机数函数2.4.5 2.4.5 随机函数随机函数函数名称函 数说 明随机数生成语句Randomize语句初始化随机数生成器随机数函数Rnd()产生 0-1 之间的随机数例:随机产生一个0到100之间的数:Rnd*100 随机产生一个0到100之间的整数?小小 结结数据类型变量与常量运算符与表达式常用内部函数