VB程序设计第三章VisualBasic语言语法基础第三章VisualBasic语言语法基础本章知识点:字符集及编码;基本数据类型、变量和常量、运算符和表达式、内部函数等语法成分的使用等。第三章VisualBasic语言语法基础3.1字符集及编码规则3.2基本数据类型3.3常量和变量3.4运算符与表达式3.5常用内部函数第三章VisualBasic语言语法基础3.1字符集及编码规则3.1.1VB的字符集(1)字母:大写英文字母A-Z;小写英文字母a-z。(2)数字:0-9。(3)专用字符:共27个。第三章VisualBasic语言语法基础3.1.2编码规则与约定1)编码规则(1)VB代码中不区分字母的大小写。(2)在同一行上可以书写多条语句,语句间要用冒号“:”分隔。(3)若一个语句行不能写下全部语句,或在特别需要时,可以换行。换行时需在本行后加入续行符,1个空格加下划线“_”。(4)一行最多允许255个字符。(5)注释以Rem开头,也可以使用单引号“'”,注释内容可直接出现在语句的后面。(6)在程序转向时需用到标号,标号是以字母开始而以冒号结束的字符串。第三章VisualBasic语言语法基础2)约定VB代码中不区分字母的大小写。为了提高程序的可读性,对于VB中的关键字其首字母大写,其余字母小写。对于用户自定义的变量、过程名等,VB以第一次定义的大小写为准,以后每次输入的变量或过程名自动按第一次定义的格式转换。注释有利于程序的维护和调试,Rem开始或单引号“'”。通常不使用行号。第三章VisualBasic语言语法基础3.2基本数据类型数据类型多达11种,包括:Integer、Long、Single、Double、Currency、Byte、String、Boolean、Date、Object和Variant。如表3.1显示各种数据类型的存储空间大小和范围。数据类型名称类型符占用空间(字节)取值范围Integer整型%2(-32,768)~(+32,767)Long长整型&4(-2,147,483,648)~(+2,147,483,647)Byte字节型无10-255Single单精度型!4(-3.402823x10-38)~(+3.402823x1038)Double双精度型#8负数:-1.797693x10308~-4.940656x10-324正数:4.940656x10-324~1.797693x10308Currency货币型@8-922377203685477.5808~922377203685477.5807String字符型$与字符串长度有关定长字符串:1~66535个字符变长字符串:1~231个字符Boolean布尔型无2True和FalseDate日期型无801/01/100~12/31/9999Object对象型无4任何可引用对象Variant变体型无按需分配自定义类型在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。使用形式:Type自定义类型名元素名[([下标])]As类型名元素名[([下标])]As类型名...EndType第三章VisualBasic语言语法基础TypeStudentXhAsStringXmAsStringXbAsStringNlAsIntegerScoreAsSingleEndTypeStudent.Xh=“20060234”Student.Xm=“王云”例如:对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。第三章VisualBasic语言语法基础第三章VisualBasic语言语法基础3.3常量和变量3.3.1常量在程序运行过程中,其值不能被改变的量称为常量。在VB中有三类常量:普通常量、符号常量、系统内部定义常量。1)普通常量(1)整型常量①整型(Integer):表示-32768至32767之间的整数。例如:10、110、20②长整型(Long):表示-2,147,483,648至2,147,483,647之间的整数。例如:长整型常量的书写:21&。第三章VisualBasic语言语法基础(2)实型常量①单精度实型(Single):有效数为7位。②双精度实型(Double):有效数为15位。十进制小数形式:它是由正负号(+,-)、数字(0~9)和小数点(.)或类型符号(!、#)组成,即±n.n,±n!或±n#,其中n是0~9的数字。(3)字符串常量在VB中字符串常量是用双引号“”括起的一串字符,可以是所有西文字符和汉字、标点符号等;例如“ABC”,“a”,“123”,“0”,“VB程序设计”等。第三章VisualBasic语言语法基础(4)布尔常量只有两个值True或False。将逻辑数据转换成整型时:True为-1,False为0;其它数据转换成逻辑数据时:非0为True,0为False。(5)日期常量用“#”符括起来,作为日期型数值常量。例:#01/02/10#、#January2,2010#,#2010-1-214:30:00PM#第三章VisualBasic语言语法基础2)符号常量符号常量是指在程序中用符号表示的常量。符号常量用具有含义的常量名来代替难记的一般常量,使用符号常量可增加程序代码的可读性。在程序中使用用户定义常量,应该使用Const语句先行说明。语法:Const常量名[As数据类型]=常数表达式说明:[]表示可省略的参数,表达式可以由数值、字符串等常量以及运算符组成,甚至可以用前面定义过的用户定义常量。常量名的命名规则符合标识符的命名规则。例如,以下都是将难记的常量π用用户定义常量表示:ConstPI=3.1415926ConstPIAsSingle=3.1415926PrivateConstPIAsSingle=3.1415926例如,使用用户定义常量PI定义新下用户定义常量:ConstPI2=PI*2第三章VisualBasic语言语法基础3)系统内部定义常量内部或系统定义常数是与应用程序的对象、方法和属性一起使用,由VB应用程序和控件提供的。一般以Vb为前缀,例如,要将文本框Text1的前景颜色设置为红色,可以使用下面的语句:Text1.ForeColor=vbRed这里的vbRed就是系统常量。这比直接使用16进制数来设置要直观得多。第三章VisualBasic语言语法基础3.3常量和变量3.3.2变量1)变量的命名规则①以字母或汉字开头,后可跟字母、数字或下划线组成;②变量名最长为255个字符;③VB中不区分变量名的大小写,不能使用VB中的关键字;④字符之间必须并排书写,不能出现上下标。2)变量声明(1)显式声明显式声明是在变量使用之前,用Dim、Static、Public、Private语句声明一个变量或多个变量。声明形式如下:Dim变量名[AS类型]第三章VisualBasic语言语法基础说明:用Dim语句声明变量就是定义该变量应存储的数据类型;当省略数据类型时,则默认为Variant型;同时声明多个变量时,各变量用逗号分开。如果没有声明变量的数据类型,则VB把它看作变体型(Variant)。然而,变体型可能会浪费内存空间,有时变体型还可能无效。所以,在使用变量前最好先声明变量类型。显式声明还有Static、Public、Private语句,声明变量的语法格式与Dim语句相似。第三章VisualBasic语言语法基础(2)隐式声明在VB中变量不加任何声明而直接使用,叫做隐式声明。例如,用隐式声明变量:PrivateSubCommand1_Click()'单击按钮在标签中显示你好!a$=你好!Label1.Caption=aEndSub程序分析:变量a被隐式声明为字符型,并将“你好!”赋值给a。尽管隐式声明比较方便,但如果将变量名拼错的话,就会导致难以查找的错误。声明符号数据类型含义%Integer整型&Long长整型$String字符型!Single单精度浮点型#Double双精度浮点型@Currency货币型第三章VisualBasic语言语法基础(3)强制显式声明——OptionExplicit语句两种方式:在代码窗口中各种模块的声明部分输入OptionExplicit语句。在代码编辑器从对象下拉列表中选择“通用”,从过程下拉列表选择“声明”,然后输入代码“OptionExplicit”;在“工具”菜单中选择“选项”菜单项,单击“编辑器”选项卡,选择“要求变量声明”复选框如图所示。当下次启动VB后,就在任何新模块中自动插入了OptionExplicit语句。第三章VisualBasic语言语法基础3.4运算符与表达式3.4.1算术运算符与算术表达式运算符含义举例结果优先级^幂3^3271-负号-4-3-72*乘5*4203/除25/553\整除20\364Mod取模20Mod625+加5+5106-减10-5561)算术运算符VB提供8种算术运算符^-*/\Mod+-2)算术表达式x*x+y*y(b-sqr(b*b-4*a*c))/2*a例:5+10mod10\9/3+2^2结果是:10第三章VisualBasic语言语法基础3.4运算符与表达式3.4.2字符串运算符与字符串表达式字符串运算符有:&、+。功能是将两个字符串连接起来。例如:ABCD+12345'结果为:ABCD12345“VB”&“程序设计”'结果为:VB程序设计“说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们的区别是:+(连接运算):两个操作数均应为字符串类型;若其中一个为数字字符型(“123”),另一个为数值型,则自动将数字字符型转换为数值型,然后进行算术加法运算;若其中一个为非数字字符型,另一个为数值型,则出错。&(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。第三章VisualBasic语言语法基础例如:123+123'结果为246123+123'结果为123123Abc+123'出错123&123'结果为123123123&123'结果为123123Abc&123'结果为Abc123Abc&123'结果为Abc123注意:使用运算符“&”时,变量与运算符“&”之间应加一个空格。这是因为符号“&”还是长整型的类型定义符,如果变量与符号“&”接在一起,VB系统先把它作为类型定义符处理,因而就会出现语法错误。第三章VisualBasic语言语法基础3.4运算符与表达式3.4.3关系运算符与关系表达式运算符含义举例结果大于108True小于108False=大于或等于20=10True=小于或等于10=20True不等于54True=等于5=7FalseLike字符串匹配“abc”like“abc*”True第三章VisualBasic语言语法基础关系运算的规则如下:(1)当两个操作式均为数值型,按数值大小比较。(2)字符串比较,则按字符的ASCII码值从左到右一一进行比较,直到出现不同的字符为止。例:ABCDEABRA结果为False(3)数值型与可转换为数值型的数据比较,如:29189,按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型比较,如:77sdcd,不能比较,系统出错。(5)“Like”运算符其使用格式为:str1Likestr2,str2是模式,str1与str2是否匹配,匹配结果为True,否则结果为False。在Like表达式中可以使用通配符,如表3.5所示。第三章VisualBasic语言语法基础3.4运算符与表达式3.4.4逻辑运算符与逻辑表达式逻辑运算符用于判定操作数之间的逻辑关系,结果是逻辑值。逻辑运算符有:Not、And、Or、Xor、Eqv、Imp。例如:用人单位招聘秘书:年龄小于40岁,女性,学历专科或本科。用于VB程序中应写成:年龄