VB第三章VisualBasic程序设计基础.ppt
《VB第三章VisualBasic程序设计基础.ppt》由会员分享,可在线阅读,更多相关《VB第三章VisualBasic程序设计基础.ppt(135页珍藏版)》请在三一办公上搜索。
1、第三章 Visual Basic程序设计基础,主要内容,3.1 标识符、程序的书写规则3.2 数据类型 3.3 常量 3.4 变量 3.5 运算符 3.6 数组 3.7 基本控制结构 3.8 常用内部函数 3.9 Visual Basic中的过程,3.1 标识符、程序的书写规则,一、标识符 标识符是为程序中的变量、常量、数据类型、过程、函数和类等定义的名字,利用标识符实现对上述对象的引用。VisualBasic中标识符的命名规则如下:1.标识符必须以字母开头,后面可以是字母、数字、下划线。例如:ab_c、Mybutton、b77是合法的标识符,而$hyx、3abc就是非法的标识符。2.标识符的
2、长度不能超过255个字符。3.自定义的标识符不能和VisualBasic中已有运算符、语句、函数和过程名等关键字同名。也不能与系统的方法和属性同名。4.关键字是VisualBasic保留下来的作为程序中有固定含义的标识符,不能被重新定义。,3.1 标识符、程序的书写规则,VisualBasic中的关键字如表3.1所示。表3.1 VisualBasic中的关键字,3.1 标识符、程序的书写规则,二、程序的书写规则 VisualBasic作为一种程序设计语言有自己的程序书写规则。其主要规则如下:1.程序注释 若要为程序代码添加注释,可使用单引号“”或“Rem”作为注释内容的开头,VisualBas
3、ic将在编译时忽略注释部分内容。例如:Form1.Width=300 将窗体的宽度设置为300 Temp=Form1.Width 将窗体的宽度赋值给变量Temp Form1.Caption=”你好!”修改窗体的标题文字 Temp=Temp+20 Rem 变量Temp赋值为自己的原值加20,3.1 标识符、程序的书写规则,2将一行语句写成多行 使用续行符“_”(一个空格紧跟一条下划线)将长语句分成多行。,strTemp=“问君归期未有期,”&_“巴山夜雨涨秋池,”&_“何当共剪西窗烛,”&_“却话巴山夜雨时,”,注意:在同一行内,续行符后面不能加注释。,3将多行语句写成一行,在一行中写下多条语句
4、,可以使用“:”作为分隔符号。例:Form1.width=300:temp=Form1.width:Form1.Caption=“你好”,3.1 标识符、程序的书写规则,4VisualBasic代码不区分字母大小写(1)VisualBasic的关键字,首字母总被转换成大写,其余字母被转换成小写。(2)如果关键字有多个英文单词组成,VisualBasic将每个单词首字母转换成大写。(3)VisualBasic中用户自定义的变量、过程名等,输入时以定义为准,自动向定义形式转换。,3.2 数据类型,VisualBasic中可以使用的数据类型有如下几种:一、数值型数据类型 1.常规整型(Interge
5、r)常规整型简称为整型,表示不带小数点和指数符号的数,其内部存储空间和范围如表3.2所示。十进制整数只能包含数字09、正负号。十进制整型数的范围为-32768+32767。例如:10,2566,-38,0。八进制数由数字07组成,并以&o引导,其后面的数据位数6位,其范围为&o0&o177777。十六进数由数字09、AF或af组成,并以&H引导,其后面的数据位数4位,其范围为&H0&HFFFF。,3.2 数据类型,2.长整型(Long)长整型数的数字组成与整数相同,正号可以省略,并且在数值中不能出现逗号。长整型数内部存储空间和范围如表3.2所示。十进制长整数的范围为-2147483648+21
6、47483647。例如:32768,-2567898,10。十六进制长整数以&H开头,以&结尾,其范围为&H0&HFFFFFFFF&。八进制数长整数以&o或&开头,以&结尾,其范围为&o0&o37777777777&。,3.2 数据类型,3.单精度(Single)单精度数内部存储空间和范围如表3.2所示。可表示最多7位有效数字的数,小数点可以位于这些数字的任何位置,正号可以省略。单精度数可以有定点形式和浮点形式来表示。单精度数的定点形式是在该范围内含有小数的数。例如:-3.4120.0+1.234.00069-31.24683 单精度数的浮点形式是用科学计数法,即以10的整数次幂表示的数,以“
7、E”来表示底数10。例如-3.4105,120.010-5,1.2341012,0.0007810-23分别表示为:-3.4E5120.0E-51.234E+12.00078E-23,3.2 数据类型,4.双精度数(Double)双精度数内部存储空间和范围如表3.2所示。可表示最多15位有效数字的数,小数点可以位于这些数字的任何位置,正号可以省略。双精度数也有定点和浮点两种形式。双精度数的定点形式是在该范围内含有小数的数。例如:双精度数的浮点形式是用科学计数法,以“D”来代表指数的底的数。例如:-3.1234567D52120.1234568D-45 0.23456789D+10,3.2 数据
8、类型,5.货币型(Currency)货币型数的内部存储空间和范围如表3.2所示。Currency数据类型支持小数点右面4位和小数点左面15位,它是一个精确的定点数据类型,适用于货币计算。浮点(Single和Double)数比Currency的有效范围大得多,但有可能产生小的进位误差。,6.字节型(Byte)字节型表示无符号的整数,范围为0255。除一元减法外,所有可对整数进行操作的运算符均可操作Byte数据类型。因为Byte是从0255的无符号类型,所以不能表示负数。因此,在进行一元减法运算时,VisualBasic先将Byte转换为符号整数。,3.2 数据类型,二、布尔型数据类型(Boole
9、an),布尔型主要用来进行逻辑判断,如果数据的取值只是True或False、Yes或No、On或Off,则可用Boolean型表示。当转换其他的数值类型为Boolean值时,O会转成False,而其他的值则变成True。当转换Boolean值为其他的数据类型时,False成为O,而True成为-1。,3.2 数据类型,三、日期型数据类型(Date)日期型用于存储日期和时间,其可以表示的日期范围从公元100年1月1日到公元9999年12月31日,而时间可以从0:00:00到23:59:59。日期型数据必须使用一对“#”号括起来,否则VisualBasic将不能正确的识别日期:Dim Mydate
10、 as date Mydate=#12/5/96#Mydate=#1996-12-5 12:30:00 pm#,3.2 数据类型,四、字符型数据类型(String)字符型用于存放字符串,字符串是用双引号括起来的一串字符,如:”你好!”。使用String类型可以声明两种字符串:可变长度与固定长度的字符串。字符型变量或参数是一个可变长度的字符串,随着对字符串赋予新数据,它的长度可增可减。如果变量总是包含字符串而较少包含数值,就可将其声明为String类型。Dim MyStr As String MyStr=VisualBasic程序设计!,3.2 数据类型,五、对象型数据类型(Object)对象型
11、用于表示任何类型的对象,可以引用程序中对象。在引用对象时,必须利用Set语句为对象引用赋值。初学者最容易犯的一个错误就是对Object类型的变量直接赋值,例如:将窗体对象Form1赋值给Object类型变量temp。错误写法:,错误写法:Sub Form_Click()Dim temp as Object temp=Form1End Sub,正确写法:Sub Form_Click()Dim temp as Object Set temp=Form1End Sub,3.2 数据类型,六、变体型数据类型(Variant)Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,
12、可以包含任何数据类型的数据。当没有说明数据类型时,则变量自动为Variant型,只是Variant型数据占用的内存比其它数据类型多。我们可以使用VarType函数或TypeName函数来决定如何处理Variant中的数据。,3.2 数据类型,在程序代码中,可以用Variant数据类型来替换任何数据类型,这样会更有适应性。如果Variant变量内容是数字,它可以用字符串来表示数字或是用它实际的值来表示,这将由上下文来决定,例如在下面的程序中;Dim Myvar Myvar=3716 Myvar=testvar+1 此时等号左边的Myvar为实 际的值3717 Myvar=Myvar&“how D
13、oyouDo?”此时等号 右边的Myvar为字符串表示的数字“3717”,3.2 数据类型,Variant变量也可包含Empty、Error及Null等特殊值。,1.Empty值 Empty值用来标记尚未初始化(给定初始值)的Variant变量。在赋值之前,Variant变量具有值Empty。值Empty是异于0零长度字符串(”)或Null值的特定值。程序员可以使用 IsEmpty函数来测试一个变量是否具有Empty值:If IsEmpty(z)Then z=0。当Variant变量包含Empty值时,可在表达式中使用它;内含 Empty的Variant在数值的上下文中表示0,如果是用在字符串
14、的 上下文中则表示零长度的字符串(”)。,3.2 数据类型,2.Null值 Variant数值类型还可包含一特定值:Null。Null通常用于数据库应用程序,表示未知数据或丢失的数据。Null具有某些唯一的特性:(1)对包含Null的表达式,计算结果总是Null。(2)将Null值、含Null的Variant变量或计算结果为Null的表达式作为参数传递给大多数函数,将会使函数返回Null。测试Variant变量是否包含Null值,可以使用IsNull函数。3.Error值 在Variant数据类型中,error是用来指示在过程中出现错误 时的特殊值。用CVErr函数将实数转换为错误值来产生er
15、ror值。,3.2 数据类型,七、数据类型之间的转换,表3.3 VisualBasic中的类型转换函数,3.3 常量,VisualBasic用常量表示在整个程序中事先设置的和不会改变数值的数据。在整个应用程序执行过程中,值保持不变的量就是常量。常量可分为一般常量和符号常量。,一、一般常量包括:数值常量、字符常量、布尔常量和日期常量。,1.字符串常量 字符串常量就是用双引号括起来的一串字符。例如:hello!、你好!、欢迎!、等。其中,双引号中无任何字符,也不含空格,称其为空字符串。,3.3 常量,2.数值常量 数值常量由正负号、数字和小数点组成。VisualBasic的数值常量包括:整数、长整
16、数、定点数、浮点数和字节数。,3.布尔常量 布尔常量只有True(真)和False(假)两个值。4.日期常量 用两个“#”符号把表示日期和时间的值括起来表示日期常量。例如:#12/18/2000#。,3.3 常量,二、符号常量 符号常量是指在程序中用符号表示的常量。符号常 量又分为用户定义常量和系统内部定义常量。,1.系统内部定义常量 系统内部定义常量可与应用程序的对象、方法和属性一起使用,一般以vb为前缀。例如:如vbNormal(正常)、vbMaximized(最大化)、vbMinimized(最小化)等。2.用户定义常量 用户定义常量使用Const语句来给常量分配名字、值和类型。,3.3
17、 常量,声明常量的语法为:Public|Private Const As=表达式 说明:表示可以省略的参数,|表示可以选择的参数。常量名的命名规则与建立变量名的规则一样。表达式由数值常量、字符串等常量及运算符组成,可以包含前面定义过的常量,但不能使用函数调用。例如,以下都是正确的用户定义常量:Const PI as Single=3.1415926Private Const PI as Single=3.1415926,3.4 变量,在程序运行过程中,需要用变量来临时存储数据,并且变量中存储的这些数据是可以改变的。每个变量有惟一的名字和相应的数据类型,编程时通过变量名来引用其中存储的数据。,一
18、、声明变量 声明变量即通知程序以后在程序中可以使用此变量。有隐式声明和显示声明:隐式声明:不加任何声明而直接使用 显示声明:每个变量必须事先做声明,才能使用。,3.4 变量,设置强制显式声明变量的方法有以下两种:1.在模块的声明部分中添加如下语句:Option Explicit 2.选择“工具”菜单|“选项”命令,在弹出的对话框中选择“编辑器”选项卡,将“要求变量声明”选项前的复选标记选中即可,如图3.1所示。,图3.1“工具”菜单的“选项对话框”,3.4 变量,二、变量的作用范围 变量的作用范围确定了能够识别并使用变量的那部分代码。按作用域不同,可分为局部变量和全局变量。不同作用范围的变量声
19、明方式:1.普通局部变量:只能在声明它的过程中使用,即不能在一个过程中访问另一个过程中的普通局部变量。声明此类变量的格式如下:Dim 变量名 As 数据类型名,3.4 变量,2.静态局部变量:这种变量也只能在声明它的过程中使用,属于局部变量。但是与普通局部变量的差别在于:静态局部变量在整个程序运行期间均有效,并且过程执行结束后,只要程序还没有结束,该变量的值就仍然存在,该变量占有的空间不被释放。声明此类变量的格式如下:Static 变量名 As 数据类型名,3.模块变量:这种变量必须在某个模块的声明部分进行预声明,可以适用于该模块内的所有过程,但对其他模块内的过不能使用。一般在声明此类变量时,
20、使用如下格式:Private 变量名 As 数据类型名,3.4 变量,4.全局变量:这种变量也必须在某个模块的声明部分进行预先声明,可以适用于该模块及其他模块内的所有过程,也即在整个程序内有效。一般在声明此类变量时,使用如下格式:Public 变量名 As 数据类型名,表3.4 不同作用范围的3种变量声明方式,3.4 变量,三、变量赋值 变量赋值的格式如下:变量名=表达式 可以使用一个表达式的数值来给某个变量赋值。一个普通的常量、变量均属于简单的表达式。例如,给一个变量Temp赋值,可以使用如下几种方式:Temp=7 Temp=Var1 Temp=Var2+1,3.5 运算符,VisualBa
21、sic中的运算符包括赋值运算符、数学运算符、位运算符、关系运算符和逻辑运算符。一、赋值运算符 VisualBasic中的赋值运算符是“=”号,其一般格式如下:变量=值 其中“变量”可以是变量、数组的元素或对象属性。“值”可以是常量、变量、表达式或函数返回值。赋值运算符左边必须是变量或对象的属性,不能是数值、常量和表达式。,3.5 运算符,二、算术运算符,表3.5 算术运算符,3.5 运算符,三、关系运算符 关系运算就是确定两个表达式之间的关系。其优先级低于数学运算符,各个关系运算符的优先级是相同的,结合顺序从左到右。关系运算符与运算数构成关系表达式,关系表达式最后结果为布尔值True和Fals
22、e,如果比较的双方有任何一个是NULL,结果是NULL。表3.6列出了VisualBasic中主要的关系运算符。,3.5 运算符,3.5 运算符,四、连接运算符 连接运算就是将两个表达式连接一起。用来进行连接运算的运算符有两个“&”和“+”。“&”运算符用来强制两个表达式字符串连接,而“+”运算则有些不同,如果两个表达式都为字符串,则将两个字符串连接;如果一个是字符串而另一个是数字则进行相加操作。,3.5 运算符,五、逻辑运算符 逻辑运算符通常用来表示比较复杂的关系。VisualBasic中的逻辑运算符如表3.8所示。,3.5 运算符,六、日期运算符 日期型数据是一种特殊的数值型数据,日期型数
23、据之间可以进行加“+”和减“-”运算。1.两个日期型数据相减,结果是一个数值型数据,即两个日期相差的天数。例:#10/17/2005#-#10/1/2005#,结果为16。2.一个日期型数据与一个数值型数据n相加,结果为当前日期型数据n天以后的日期值。例如:#11/1/2005#+16,结果为#11/17/2005#。3.一个日期型数据与一个数值型数据n相减,结果为当前日期型数据n天以前的日期值。例如:#11/27/2005#-10,结果为#11/17/2005#。,3.5 运算符,七、运算符的优先顺序 所有关系运算符的优先顺序都相同,而算术运算符号和逻辑运算符则必须按照下列优先顺序进行处理:
24、指数运算()负号(-)乘法和除法(*、/)整数除法()求模运算(Mod)加法和减法(+、-)字符串连接(&)关系运算符(=、=)逻辑运算(Not、And、Or),3.6 数组,一、数组的概念 数组是具有相同的内部数据类型的顺序索引元素的集合,数组中的每个元素都具有唯一的索引标识号。一个数组中的所有元素具有相同的数据类型。当数据类型为 Variant 时,各个元素能够包含不同类型的数据(对象、字符串、数值等)。在 Visual Basic 中有两种类型的数组:静态数组(总是保持同样的大小)和动态数组(在运行时大小可以改变的数组)。,3.6 数组,一、静态数组 1声明静态数组 有三种方法声明静态数
25、组,用哪一种方法取决于数组应有的有效范围:,(1)建立全局数组,在模块的声明段用 Public 语句声明数组。(2)建立模块级数组,在模块的声明段用 Private或Dim语句声明数组。(3)建立局部数组,在过程中用Dim语句声明数组。,3.6 数组,2语法Public/Private/Dim 数组名(维数定义)As 数据类型,说明:(1)数组名:必需的,遵循标准的变量命名约定。(2)维数定义:可选的。数组变量的维数,最多可以定义 60 维的多维数组。“维数定义”参数使用下面的语法:To,.如果不显式指定“下界”,则数组的下界由 Option Base 语句控制。如果没有 Option Bas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 第三 VisualBasic 程序设计 基础
链接地址:https://www.31ppt.com/p-5451981.html