第3章VB语言语法基础_zk_第1页
第3章VB语言语法基础_zk_第2页
第3章VB语言语法基础_zk_第3页
第3章VB语言语法基础_zk_第4页
第3章VB语言语法基础_zk_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VB程序设计程序设计第三章第三章 Visual Basic语言语法基础语言语法基础 本章知识点本章知识点: 3.1 3.1 字符集及编码规则字符集及编码规则 3.2 3.2 基本数据类型基本数据类型 3.3 3.3 常量和变量常量和变量 3.4 3.4 运算符与表达式运算符与表达式 3.5 3.5 常用内部函数常用内部函数 3.1 3.1 字符集及编码规则字符集及编码规则 3.1.1 VB3.1.1 VB的字符集的字符集 (1 1)字母:大写英文字母)字母:大写英文字母A-ZA-Z;小写英文字母;小写英文字母a-za-z。(2 2)数字:)数字:0-90-9。(3 3)专用字符:共)专用字符:

2、共2727个。个。3.1.2 3.1.2 编码规则与约定编码规则与约定1 1)编码规则)编码规则(1 1)VBVB代码中不区分字母的大小写。代码中不区分字母的大小写。(2 2)在同一行上可以书写多条语句,语句间要用冒号)在同一行上可以书写多条语句,语句间要用冒号“:”分隔。分隔。(3 3)若一个语句行不能写下全部语句,或在特别需要时,可以换)若一个语句行不能写下全部语句,或在特别需要时,可以换行。换行时需在本行后加入续行符,行。换行时需在本行后加入续行符,1 1个空格加下划线个空格加下划线“_”_”。(4 4)一行最多允许)一行最多允许255255个字符。个字符。(5 5)注释以)注释以Rem

3、Rem开头,也可以使用单引号开头,也可以使用单引号“”,注释内容可直接,注释内容可直接出现在语句的后面。出现在语句的后面。 (6 6)在程序转向时需用到标号,标号是以字母开始而以冒号结束)在程序转向时需用到标号,标号是以字母开始而以冒号结束的字符串。的字符串。2 2)约定)约定 VBVB代码中不区分字母的大小写。代码中不区分字母的大小写。 为了提高程序的可读性,对于为了提高程序的可读性,对于VBVB中的关键字其首中的关键字其首字母大写,其余字母小写。字母大写,其余字母小写。 对于用户自定义的变量、过程名等,对于用户自定义的变量、过程名等,VBVB以第一次以第一次定义的大小写为准,以后每次输入的

4、变量或过程名定义的大小写为准,以后每次输入的变量或过程名自动按第一次定义的格式转换。自动按第一次定义的格式转换。 注释有利于程序的维护和调试,注释有利于程序的维护和调试, RemRem开始开始 或单引或单引号号“”。 通常不使用行号。通常不使用行号。 3.2 3.2 基本数据类型基本数据类型 数据类型多达数据类型多达1111种,包括:种,包括:IntegerInteger、LongLong、SingleSingle、DoubleDouble、CurrencyCurrency、ByteByte、StringString、BooleanBoolean、DateDate、ObjectObject和和

5、VariantVariant。 如表如表3.13.1显示各种数据类型的存储空间大小和范围。显示各种数据类型的存储空间大小和范围。 数据类型数据类型名称名称类型符类型符占用空间(字节)占用空间(字节)取值范围取值范围IntegerInteger整型整型% %2 2(-32,768) (-32,768) (+ 32,767)(+ 32,767)LongLong长整型长整型& &4 4(- 2,147,483,648) (- 2,147,483,648) (+ (+ 2,147,483,647)2,147,483,647)ByteByte字节型字节型无无1 10 - 2550 - 2

6、55SingleSingle单精度型单精度型! !4 4(-3.402823x10(-3.402823x10-38-38) ) (+ (+ 3.402823x103.402823x103838) )DoubleDouble双精度型双精度型# #8 8负数:负数:-1.797693 x10-1.797693 x10308308-4.940656 -4.940656 x10 x10-324-324正数:正数:4.940656 x104.940656 x10-324-3241.797693 1.797693 x10 x10308308CurrencyCurrency货币型货币型 8 8-922377

7、203685477.5808-922377203685477.5808922377203685477.5807922377203685477.5807StringString字符型字符型$ $与字符串长度有关与字符串长度有关定长字符串:定长字符串:1 16653566535个字符个字符变长字符串:变长字符串:1 12 23131个字符个字符BooleanBoolean布尔型布尔型无无2 2TrueTrue和和FalseFalseDateDate日期型日期型无无8 801/01/10012/31/9999 01/01/10012/31/9999 ObjectObject对象型对象型无无4 4任何

8、可引用对象任何可引用对象VariantVariant变体型变体型无无按需分配按需分配 自定义类型自定义类型在模块级别中使用,用于定义包含一个或多个元素的用户自在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。定义的数据类型。 使用形式:使用形式: Type Type 自定义类型名自定义类型名 元素名元素名 (下标下标) As ) As 类型名类型名 元素名元素名 (下标下标) As ) As 类型名类型名 . . . . . End Type End Type Type StudentType Student Xh As String Xh As String Xm As S

9、tring Xm As String Xb As String Xb As String Nl As Integer Nl As Integer Score As Single Score As SingleEnd TypeEnd TypeStudent.Xh=“20060234”Student.Xh=“20060234”Student.Xm=“Student.Xm=“王云王云” 例如例如: : 对于一个学生的对于一个学生的“学号学号”、“姓名姓名”、“性别性别”、“年龄年龄”、“入学成绩入学成绩”等数据,为了处理数据的方便,常常需要等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的

10、数据类型(如把这些数据定义成一个新的数据类型(如StudentStudent类型)。类型)。 3.33.3常量和变量常量和变量3.3.13.3.1常量常量 在程序运行过程中,其值不能被改变的量称为常量。在VB中有三类常量: 普通常量、 符号常量 、系统内部定义常量。 1 1)普通常量)普通常量 (1)整型常量整型(Integer):表示-32768至32767之间的整数。例如:10、110 、 20长整型(Long):表示-2,147,483,648至2,147,483,647之间的整数。 例如:长整型常量的书写:21&。 (2)实型常量单精度实型(Single):有效数为7位。双精度

11、实型(Double):有效数为15位。十进制小数形式:它是由正负号(+,-)、数字(09)和小数点(.)或类型符号(!、#)组成,即n.n,n!或n#,其中n是09的数字。(3)字符串常量在VB中字符串常量是用双引号“”括起的一串字符,可以是所有西文字符和汉字、标点符号等;例如“ABC”,“a”,“123”,“0”,“VB程序设计”等。 (4)布尔常量 只有两个值True或False。将逻辑数据转换成整型时:True为-1,False为0;其它数据转换成逻辑数据时:非0为True,0为False。(5)日期常量 用“#”符括起来,作为日期型数值常量。 例:#01/02/10#、#January

12、 2,2010#,#2010-1-2 14:30:00 PM# 2 2)符号常量)符号常量 符号常量是指在程序中用符号表示的常量。符号常量用具有含义的常量名来代替难记的一般常量,使用符号常量可增加程序代码的可读性。 在程序中使用用户定义常量,应该使用 Const 语句先行说明。语法: Const 常量名 As 数据类型 =常数表达式 说明: 表示可省略的参数,表达式可以由数值、字符串等常量以及运算符组成,甚至可以用前面定义过的用户定义常量。 常量名的命名规则符合标识符的命名规则。例如,以下都是将难记的常量用用户定义常量表示:Const PI = 3.1415926Const PI As Sin

13、gle = 3.1415926Private Const PI As Single = 3.1415926例如,使用用户定义常量PI定义新下用户定义常量:Const PI2 = PI * 2 3)系统内部定义常量 内部或系统定义常数是与应用程序的对象、方法和属性一起使用,由VB应用程序和控件提供的。一般以Vb为前缀,例如,要将文本框Text1的前景颜色设置为红色,可以使用下面的语句: Text1.ForeColor=vbRed 这里的vbRed就是系统常量。这比直接使用16进制数来设置要直观得多。3.33.3常量和变量常量和变量3.3.23.3.2变量变量 1 1)变量的命名规则)变量的命名规

14、则 以字母或汉字开头,后可跟字母、数字或下划线组成; 变量名最长为255个字符; VB中不区分变量名的大小写,不能使用VB中的关键字; 字符之间必须并排书写,不能出现上下标。 2 2)变量声明)变量声明(1) 显式声明 显式声明是在变量使用之前,用 Dim、Static、Public、Private 语句声明一个变量或多个变量。 声明形式如下: Dim 变量名 AS 类型 说明:说明: 用Dim语句声明变量就是定义该变量应存储的数据类型;当省略数据类型时,则默认为 Variant型;同时声明多个变量时,各变量用逗号分开。 如果没有声明变量的数据类型,则VB把它看作变体型(Variant)。然而

15、,变体型可能会浪费内存空间,有时变体型还可能无效。所以,在使用变量前最好先声明变量类型。 显式声明还有Static、Public、Private 语句,声明变量的语法格式与Dim语句相似。 (2) 隐式声明 在VB中变量不加任何声明而直接使用,叫做隐式声明。 例如,用隐式声明变量:Private Sub Command1_Click() 单击按钮在标签中显示你好! a$ = 你好! Label1.Caption = aEnd Sub 程序分析:变量a被隐式声明为字符型,并将 “你好!”赋值给a。尽管隐式声明比较方便,但如果将变量名拼错的话,就会导致难以查找的错误。声明符号数据类型含义%Inte

16、ger整型整型&Long长整型长整型$String字符型字符型!Single单精度浮点型单精度浮点型#Double双精度浮点型双精度浮点型Currency货币型货币型(3)强制显式声明Option Explicit语句 两种方式: 在代码窗口中各种模块的声明部分输入Option Explicit语句。在代码编辑器从对象下拉列表中选择“通用”,从过程下拉列表选择“声明”,然后输入代码“Option Explicit”; 在“工具”菜单中选择“选项”菜单项,单击“编辑器”选项卡,选择“要求变量声明”复选框如图所示。当下次启动VB后,就在任何新模块中自动插入了Option Explicit

17、语句。3.43.4运算符与表达式运算符与表达式3.4.13.4.1算术运算符与算术表达式算术运算符与算术表达式运算符运算符含义含义举例举例结果结果优先优先级级 幂幂333327271 1- -负号负号-4-3-4-3-7-72 2* *乘乘5 5* *4 420203 3/ /除除25/525/55 53 3 整除整除2032036 64 4ModMod取模取模20 Mod 620 Mod 62 25 5+ +加加5+55+510106 6- -减减10-510-55 56 61 1)算术运算符)算术运算符 VBVB提供提供8 8种算术运算符种算术运算符 - - * * / Mod + - /

18、 Mod + -2 2)算术表达式)算术表达式 x x* *x+yx+y* *y y (b-sqr(bb-sqr(b* *b-4b-4* *a a* *c)/2c)/2* *a a例:例:5+10 mod 10 9 / 3 +2 2 5+10 mod 10 9 / 3 +2 2 结果是:结果是:103.43.4运算符与表达式运算符与表达式3.4.23.4.2字符串运算符与字符串表达式字符串运算符与字符串表达式字符串运算符有:&、+。功能是将两个字符串连接起来。例如: ABCD + 12345 结果为:ABCD12345 “VB”&“程序设计” 结果为:VB程序设计“说明:当连接

19、符两旁的操作量都为字符串时,上述两个连接符等价。它们的区别是: +(连接运算):两个操作数均应为字符串类型;若其中一个为数字字符型(“123”),另一个为数值型,则自动将数字字符型转换为数值型,然后进行算术加法运算;若其中一个为非数字字符型,另一个为数值型,则出错。&(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。 例如:123+ 123 123+ 123 结果为结果为 246246123+ 123 123+ 123 结果为结果为123123123123Abc+123 Abc+123 出错出错123 & 123 1

20、23 & 123 结果为结果为 123123123123123 & 123 123 & 123 结果为结果为 123123123123Abc & 123 Abc & 123 结果为结果为Abc123Abc123Abc & 123 Abc & 123 结果为结果为Abc123Abc123注意:注意:使用运算符使用运算符“&”&”时,变量与运算符时,变量与运算符“&”&”之间应加一个空格。之间应加一个空格。这是因为符号这是因为符号“&”&”还是长整型的类型定义符,如果变量与符号还是长整型的类型定

21、义符,如果变量与符号“&”&”接在一起,接在一起,VBVB系统先把它作为类型定义符处理,因而就会出现语法系统先把它作为类型定义符处理,因而就会出现语法错误。错误。 3.43.4运算符与表达式运算符与表达式3.4.33.4.3关系运算符与关系表达式关系运算符与关系表达式 运算符运算符含义含义举例举例结果结果 大于大于108108TrueTrue 小于小于10810=大于或等于大于或等于20=1020=10TrueTrue=小于或等于小于或等于10=2010=20TrueTrue不等于不等于5454TrueTrue= =等于等于5=75=7FalseFalseLikeLike字符串

22、匹配字符串匹配“abc” like “abc” like “abc“abc* *”TrueTrue关系运算的规则如下:(1)当两个操作式均为数值型,按数值大小比较。(2)字符串比较,则按字符的ASCII码值从左到右一一进行比较,直到出现不同的字符为止。例: ABCDE ABRA 结果为 False (3)数值型与可转换为数值型的数据比较, 如:29189 ,按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型比较,如:77 sdcd ,不能比较,系统出错。(5)“Like”运算符其使用格式为:str1 Like str2,str2是模式,str1与str2是否匹配,匹配结果为T

23、rue,否则结果为False。在Like表达式中可以使用通配符,如表3.5所示。 3.43.4运算符与表达式运算符与表达式3.4.43.4.4逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式 逻辑运算符用于判定操作数之间的逻辑关系,结果是逻辑值。逻辑运算符有:Not、And、Or、Xor、Eqv、Imp 。 例如:用人单位招聘秘书:年龄小于40岁,女性,学历专科或本科。用于VB程序中应写成: 年龄字符运算符关系运算符逻辑运算符 注意:运算符不能相邻。例如,a+*b是错误的。乘号不能省略。例如,x 乘以y 应写成:x*y括号必须成对出现,均使用圆括号。表达式从左到右在同一基准并排书写,不能出现上下标

24、。例:判别某年是否是闰年,闰年的条件符合下面二者之一:(1)能被4整除,但不能被100整除。(2)能被4整除又能被400整除。要求:单击按钮Command1计算出2004年是否是闰年,并在窗体的标签Lable2中显示结果。 界面设计:窗体界面中放置了两个标签Lable1和Lable2,以及一个按钮Command1。分别设置其Caption属性:属性属性Form1Lable1Lable2Command1Caption判断闰年判断闰年2004年是否是闰年?年是否是闰年?空空判断判断 单击Command1时判断2004年是否是闰年,程序代码如下:Private Sub Command1_Click(

25、)单击按钮计算闰年 Dim x As Integer Dim y As Boolean x = 2004 y = (x Mod 4) = 0) And (x Mod 100) 0) Or (x Mod 4) = 0) And (x Mod 400) = 0) Label2.Caption = yEnd Sub 3.53.5常用内部函数常用内部函数3.5.13.5.1数学函数数学函数 数学函数是完成数学计算的函数,常用的数学函数如表3.7所示。 函数名函数名返回类型返回类型说明说明举例举例结果结果Sin(n)Sin(n)Double Double 返回弧度返回弧度n n的正弦值的正弦值Sin(3

26、.14159/6)Sin(3.14159/6)0.50.5Cos(n)Cos(n)DoubleDouble返回弧度返回弧度n n的余弦值的余弦值Cos(3.14159/3)Cos(3.14159/3)0.50.5Tan(n)Tan(n)DoubleDouble返回弧度返回弧度n n的正切值的正切值Tan(3.14159/4)Tan(3.14159/4)1 1Atn(n)Atn(n)DoubleDouble返回弧度返回弧度n n的反正切值的反正切值Atn(1)Atn(1)0.785390.78539Abs(n)Abs(n)同同n n类型类型返回实数返回实数n n的绝对值的绝对值Abs(-3.1)

27、Abs(-3.1)3.13.1Exp(n)Exp(n)DoubleDouble返回常数返回常数e e的的n n次幂次幂Exp(1)Exp(1)2.718282.71828Log(n)Log(n)DoubleDouble返回实数返回实数n n的自然对数的自然对数Log(1)Log(1)0 0Sqr(n)Sqr(n)DoubleDouble返回返回n n的平方根的平方根Sqr(16)Sqr(16)4 4Sgn(n)Sgn(n)IntegerInteger返回实数返回实数n n的符号的符号Sgn(-100)Sgn(-100)-1-1Int(n)Int(n)IntegerInteger返回不大于返回不

28、大于n n的最大整的最大整数数Int(-4.6)Int(-4.6)-5-5Fix(n)Fix(n)IntegerInteger返回返回n n的整数部分的整数部分Fix(-3.6)Fix(-3.6)-3-3Rnd(n)Rnd(n)SingleSingle返回返回0,1)之间的随机之间的随机数数RndRnd0,1)之间之间的随机数的随机数Round(n,m)Round(n,m)DoubleDouble返回对返回对n n的小数部分的小数部分m+1m+1位四舍五入,保留位四舍五入,保留m m个小数位后的值个小数位后的值Round(2.487,2)Round(2.487,2)2.492.49说明:(1)

29、 在三角函数中的自变量是以弧度为单位。例如,数学式sin30对应于VB的表达式为sin(30*3.14159/180)(2)Rnd函数可以没有自变量,它返回0,1)(包括0和不包括1)之间的双精度随机数。 若要产生1100的随机整数: Int(Rnd *100)+1; 默认情况下,每次执行产生随机数的初始值(成为种子)是相同的,则产生相同的随机序列,每次运行若要产生不同的随机序列,使用Randomize语句。思考:若要产生M,N区间的随机整数,如何表示?Int( (N-M)+1) Int( (N-M)+1) * *Rnd+MRnd+M(3)要区别两个取整函数int()和fix()Fix(N)为

30、截断取整,即去掉小数后的数。Int(N)取不大于N的最大整数。 当N0时,Fix(N)与int(N) 相同,当N0时, int(N) 与fix(N) -1相等。例如: Fix(9.59) =9, Int(9.59) =9 Fix(-9.59)=-9, Int(-9.59)=-10思考:如何实现实数的四舍五入取整?思考:如何实现实数的四舍五入取整?3.53.5常用内部函数常用内部函数3.5.23.5.2字符串函数字符串函数 字符串函数为用户编程时处理字符类型的变量提供了极大的方便。常用的字符串函数如表3.8所示。3.53.5常用内部函数常用内部函数3.5.33.5.3日期与时间函数日期与时间函数

31、日期与时间函数不仅可以返回系统的日期与时间,而且能从给定的日期型数据中提取年、月、日、时、分、秒,计算星期等信息 。常用的日期时间函数见表3.9。 注意:注意:C|N表示字符串或数字;表示字符串或数字;C|D表示字符串或日期型表示字符串或日期型函数名及格式返回类型说明举例结果Now()date系统日期和时间Now2010-02-14 17:26:07Date()date系统日期(yy-mm-dd)Date$()2010-02-14Day(C|D)integer给定日期串的号数Day(#2010-2-5#)5Month(C|D)integer月份Month(#2010-2-5#)2Year(C|

32、D)integer年份(1009999)Year(#2010-2-5#)2010Hour(C|D)integer小时(023)Hour(Now)17(由系统决定)Minute(C|D)integer分钟(059)Minute(Now)26(由系统决定)Second(C|D)integer秒(059)Second(Now)07(有系统决定)Timer()integer从午夜起的秒数Timer62767Time()date系统时间(hh:mm:ss)Time17:26:073.53.5常用内部函数常用内部函数3.5.43.5.4转换函数转换函数常用的转换函数见表3.10所示 。函数名函数名返回类型

33、返回类型说明说明举例举例结果结果Cbool(C|N)Boolean给定值转换为逻辑值Cbool(7)TRUECbyte(C|N)Byte给定值转换为字节型Cbyte(12)12Ccur(C|N)Currency给定值转换为货币型Ccur(12.34)12.34Cdate(C|N)Date给定值转换为日期型Cdate(11. 5)1900-1-10 12:00:00 Cdbl(C|N)Double给定值转换为双精度型Cdbl(12.45)12.45Cint(C|N)Integer给定值转换为整型Cint(12.56)13Clng(C|N)Long给定值转换为长整型Clng(12.57)13Csn

34、g(C|N)Single给定值转换为单精度型Csng(12.88)12.88Cstr(N)String给定值转换为字符串型Cstr(12.19)12.19Str$(N)String给定值转换为字符串型Str(12.19)12.19Val(C)Double数值字符串转换为双精度型Val(12.45)12.45Chr$(N)StringASCII码转换为对应字符Chr(68)“D”Asc(C)Integer字符转换为对应ASCII码Asc(a)973.53.5常用内部函数常用内部函数3.5.53.5.5格式输出函数格式输出函数 语法格式: Format(表达式(表达式,“格式字符串格式字符串”)

35、其中:表达式为要输出的内容,可以是数值、日期或字符串型表达式;格式字符串:表示输出表达式时采用的输出格式。不同数据类型所采用的格式字符串是不同的。(1)数值型数据格式符号(见表3.11) (2)日期和时间型数据格式符号(见表3.12 )(3)字符串类型数据格式化(见表3.13)例如:Format(3.14159, “#.#”),其值为3.142Format(3.14159,“000.000”),其值为003.142例如,例如,FormatFormat函数在窗体中显示:函数在窗体中显示: Dim a As SingleDim a As Single a = 12345.67 a = 12345.67 Print Format(a, #) Print Format(a, #) Print Format(a, #,#.#) Print Format(a, #,#.#) Print Format(a, 000000.000) Print Format(a, 000000.000) Print Format(a, #00.000) Print Format(a, #00.000) Print Format(a, #.#%) Print Format(a, #.#%) Print Format(a, -#.#) Print Format(a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论