460 likes | 605 Views
第3章 VB 语言基础. 3.1 数据类型 3.2 变量与常量 3.3 运算符与表达式 3.4 常用内部函数 3.5 编码规则. 结束. 3.1 数据类型. 3.1.1 标准数据类型 3.1.2 自定义数据类型. 返回首页. 3.1.1 标准数据类型 (1). 1. 数值型数据( Numeric) 数值型数据可分为两大类:整型和实型。 (1)整型 根据所表示的数的范围不同,又可以分为三种类型:字节型( Byte , 1 字节)、整型( Integer , 2 字节)、长整型( Long , 4 字节)。 十进制:默认。
E N D
第3章 VB语言基础 • 3.1 数据类型 • 3.2 变量与常量 • 3.3 运算符与表达式 • 3.4 常用内部函数 • 3.5 编码规则 结束
3.1 数据类型 • 3.1.1 标准数据类型 • 3.1.2 自定义数据类型 返回首页
3.1.1 标准数据类型(1) 1.数值型数据(Numeric) 数值型数据可分为两大类:整型和实型。 (1)整型 根据所表示的数的范围不同,又可以分为三种类型:字节型(Byte,1字节)、整型(Integer,2字节)、长整型(Long,4字节)。 十进制:默认。 八进制:前加&O;例:&O123 十六进制:前加&H;例:&HAB123
3.1.1 标准数据类型(2) (2)实型 即实数,根据所表示的数的范围和精度的不同,又可以分为三种类型: 单精度实型(Single):7位有效数字。 双精度实型(Double):15位有效数字。 货币型(Currency):15位.4位。
3.1.1 标准数据类型(3) 2.逻辑型数据(Boolean) 2字节 值:True;False 转换: 逻辑整型:True -1;False 0; 其他逻辑:非0 True;0 False
3.1.1 标准数据类型(3) 3.日期型数据(Date) 8字节浮点数。范围: 日期:公元100年1月1日~9999年12月31日 时间:0:00:00~23:59:59 表示: ① 两端用#将日期文字括起来;例如:#January 19, 2002#;#10/12/2002#; #2001-12-31 12:30:00PM# ② 用数字序列表示(小数点左侧为日期,右侧为时间,0为午夜,0.5为中午12点;负数表示1899年12月30日前)。例如:-3.0表示1899年12月27日00:00:00;1.5表示1899年12月31日12:00:00。
3.1.1 标准数据类型(4) 4.字符串型数据(String) 字符串型数据(String)是用双引号括起来的一串字符组合,引号内的字符可以是字母、各种符号和汉字。字符串分为两种类型:定长字符串和变长字符串。 5.变体型数据(Variant) 代表各种类型(定长String和用户自定义型除外),可自动转换。 可用VarType函数检测其类型。
3.1.1 标准数据类型(5) 6.对象型数据(Object) 对象型数据(Object)作为32位地址来存储,该地址可以引用当前应用程序或其他应用程序中的对象。可以用Set语句指定一个被声明为Object的变量,去引用应用程序所能识别的任何实际对象。对象型在Visual Basic6.0的较高层次的编程中使用。 Visual Basic6.0的基本数据类型总结见表3.1。
表3.1 Visual Basic6.0的基本数据类型 返回本节 返回首页
3.1.2 自定义数据类型(1) 自定义数据类型是由用户自己定义的数据类型,由若干标准数据类型组成。自定义类型数据也称记录类型数据。自定义数据类型通过Type语句来实现。 定义语句格式为: [Private|Public] Type 类型名 元素名As 数据类型 ... End Type 说明:Private|Public是两个可选项,它们表示自定义的数据类型的作用范围,如果省略,默认为Public。若在窗体模块中声明自定义类型,必须用Private。
返回本节 返回首页 3.1.2 自定义数据类型(2) 例如: Private Type Student Name As String Birth As Date Age As Integer End Type 定义了一个名为Student的数据类型,该类型有三个元素Name、Birth和Age,它们分别为字符串类型、日期型和整型。定义了Student类型之后,就可以定义该类型的变量。
3.2 变量与常量 • 3.2.1 变量 • 3.2.2 常量 返回首页
3.2.1 变量(1) 1. 变量的声明 (1)显式声明 格式如下: Public | Dim | Static | Private 变量名As 数据类型[,变量名As 数据类型…] 或者: Public | Dim | Static | Private 变量名<类型符>[,变量名<类型符>…]
3.2.1 变量(2) 例如: Dim A As Integer,B As Long 语句声明了两个变量A和B,其中A为整型,B为长整型。 Dim C! 语句声明了一个变量C,类型为单精度型。 声明变量后即可为其赋值,格式为: 变量名 = 表达式
3.2.1 变量(3) (2)隐式声明 在Visual Basic6.0中,允许对变量进行隐式声明,即不对变量进行声明而直接引,此变量将被默认为Variant数据类型。 例如,有如下事件过程: Private Sub Command1_Click() B = -12.3 Print B End Sub
3.2.1 变量(3) 上述事件过程中,变量B没有声明就使用,可以认为它就是隐式声明的变量。但是,这样容易因为写错变量名而引起麻烦。例如:在应用程序中声明了变量Student,但是在后面的程序段中误写为Studnt,系统会认为是有一个隐性声明的变量Studnt,从而造成错误。为了避免这种错误,可以在模块的声明中加入语句“Option Explicit”,强制编译器发现所有未声明的变量。例如,下面的程序段在执行时将产生图3.1所示的错误提示:
图3.1 错误提示 3.2.1 变量(4) Option Explicit Private Sub Form_Click() A = 25.8 '隐性声明变量A,在这里不允许 Print A End Sub
3.2.1 变量(5) 2. 变量的命名规则 在Visual Basic6.0中变量的命名要遵循以下的规则: (1)变量名要以字母或汉字开头,不能以数字或下划线开头。 (2)变量名一般由字母、数字、汉字和下划线组成,不得含有+、-、*、/、$、&、%、!、#、?、小数点或逗号等字符。 (3)变量名的长度不得超过255个字符。 (4)变量名不得与Visual Basic6.0中的关键字重名,如Type、Public、Sin等。
表3.2 变量的作用范围 3.2.1 变量(6) 3. 变量的作用范围和存活期 变量的作用范围又称作用域。根据变量声明的位置和声明符的不同,VB将变量分为过程级变量(或称局部变量)、模块级变量和全局变量,如表3.2所示。
3.2.1 变量(7) 除作用范围外,变量还有存活期(或称有效期),在存活期内变量能够保持它们的值。全局变量在应用程序运行期间始终有效,窗体的模块级变量在窗体卸载前一直有效。用Dim关键字声明的局部变量仅当过程被执行时才存在。当一个过程执行完毕,它的局部变量的值就已经不存在,而且变量所占据的内存也被释放。当下一次执行该过程时,它的所有局部变量将重新初始化。如果要保留局部变量的值,可在过程内部用Static关键字将局部变量声明为静态变量。
3.2.1 变量(8) 【例2.1】使用静态变量统计鼠标单击窗体的次数。步骤如下: (1)新建一个标准EXE工程。 (2)双击窗体,打开代码编辑器窗口。在对象列表中选择“Form”,在过程列表中选择“Click”。在“Form_Click()”过程模板中添加语句形成如下代码段: Private Sub Form_Click() Static countDanji As Integer '声明静态变量 countDanji = countDanji + 1 Print "已单击的次数为:"; countDanji End Sub 程序运行结果如图3.2所示。
图3.2 例2.1运行结果 返回本节 返回首页
3.2.2 常量(1) 1.普通常量 数值常量:即数学中的常数。例如:0,-7.368,&369,45E-6等都是数值常量。 字符串常量:用双引号括起来的字符序列。例如:“”,“How Are You”,“山东教育学院”等都是字符串常量。 逻辑常量:只有两个值True(真)和False(假)。 日期常量:用于表示某一具体的日期和时间。可以有多种表示形式,但必须把日期和时间用符号#括起来。例如:#2004/5/3#,#May 5,2004#,#04-5-5 15:12:40#等都是日期常量。
3.2.2 常量(2) 2.符号常量 符号常量是用一个符号来表示一个固定不变的量,它有两种来源:用户自定义和系统内部定义。 用户自定义符号常量的方法如下: Const 符号常量名 [As 数据类型] = 表达式 例如: Const PI = 3.14159'定义PI为符号常量 以后要使用3.14159的地方,可以用PI来代替。
3.2.1 常量(3) 系统内部定义的符号常量是由控件或应用程序提供的,在“对象浏览器”窗口可以查到它们。 例如如下事件过程: Private Sub Form_Click()'单击窗体使之最大化 Form1.WindowState = vbMaximized End Sub Private Sub Form_DblClick()'双击窗体 Form1.WindowState = vbMinimized '最小化 End Sub 过程中的VbMaximized(将窗口最大化)、vbMinimized(将窗口最小化)就是系统内部定义的符号常量。 返回本节 返回首页
3.3 运算符与表达式 • 3.3.1 运算符 • 3.3.2 表达式 返回首页
3.3.1 运算符 (1) 1.算术运算符 算术运算符包括:+(加)、-(减)、*(乘)、/(除)、\(整除)、Mod(取余)、-(负号)、^(指数)。 VB6.0中有两种特殊的除法运算:\(整除)和Mod(取余)。若参与运算的两个数中有实数,则先将实数的小数部分进行四舍五入,再进行运算。例如:6.8\3的结果为2,6.8 Mod 3的结果为1。 ^(指数)对数据进行指数运算。例如:3^2的结果为9,8^(1/3)的结果为2。
3.3.1 运算符 (2) 2.关系运算符
3.3.1 运算符 (3) 2.逻辑运算符
3.3.1 运算符 (4) 4.字符串运算符 &、+连接字符串(&若在变量后应加空格) (1)& 连接字符串,连接前将两侧均转换为字符串型 (2)+ 算术加;两侧操作数均为数值型;数字字符+数值型 字符串连接:两侧操作数均为字符串型 出错:非数字字符+数值型(类型不匹配) 返回本节 返回首页
3.3.2 表达式 (1) 1.表达式 由常量、变量、函数、运算符以及括号连接起来的有意义的式子称为表达式。要注意的是:常用的一些数学表达式要写为Visual Basic 6.0的表达式形式。例如:数学表达式38ab+lnx的VB表达式为: 38 * a * b + Log(x)
3.3.2 表达式 (2) 2.类型转换 在表达式中经常会出现不同类型数据混合运算的情形。此时,需要按一定的规则进行类型转换。转换的方法有两种:系统自动转换;使用转换函数转换。 对于算术运算,当参与运算的数据具有不同的精度时,系统将自动进行类型转换。系统规定运算结果的数据类型以精度高的类型为准。 3.运算符的优先级 运算符的优先级如表3.4所示。
表3.4 运算符的优先级 返回本节 返回首页
3.4 常用内部函数 • 3.4.1 数学函数 • 3.4.2 转换函数 • 3.4.3 字符串函数 • 3.4.4 时间/日期函数 • 3.4.5 格式输出函数Format 返回首页
3.4.1 数学函数 返回本节 返回首页
3.4.2 转换函数 返回本节 返回首页
3.4.3 字符串函数(2) 返回本节 返回首页
3.4.4 时间/日期函数 返回本节 返回首页
3.4.5 格式输出函数Format (1) 格式:Format(<表达式>,<格式字符串>) 功能:按格式字符串指定的格式输出表达式的值。 说明:表达式可以是数值型、字符串型、日期型数据。格式字符串中的常用格式说明符见表3.5。 下面是Format函数的示例,运行结果如图3.3所示。
3.4.5 格式输出函数Format (2) Private Sub Form_Click() Print Format(2.71828, "#####.##") Print Format(2.71828, "00000.00") Print Format(271828, "$##,###,###.##") Print Format(0.18, "###.##%") Print Format(0.18, "0.000E+00") Print Format(Time, "ttttt") Print Format(Date, "dddddd") End Sub
表3.5 常用格式说明符 返回本节 返回首页
3.5 编码规则 (1) 1. VB代码不区分字母的大小写 VB系统对用户输入的程序代码进行自动转换,转换规则如下: (1)代码中输入的关键字,首字母总被转换成大写,其余字母被转换成小写。 (2)若关键字由多个英文单词组成,则将每个英文单词的首字母转换成大写。 (3)对于用户自己定义的变量、过程名,VB以第一次定义的为准,以后输入的相同的变量、过程名向第一次输入的形式转换。
3.5 编码规则 (2) 2. 语句书写自由 (1)在同一语句行上,可以书写多个语句,语句之间用冒号“:”分隔。 (2)一个单行语句可以分为若干行书写,书写时在本行后面加上续行符,即加上空格和下划线“ _”。 (3)一行最多允许书写255个字符。 3. 可以在语句中给出注释 (1)注释以Rem开头。如:Rem 例子一。“例子一”为注释内容,用Rem引出。 (2)以单引号“'”引导注释内容。“'”引导的注释内容可以放在语句的后面。
3.5 编码规则 (3) 4. 使用缩排格式 5. 语句可以使用行号与标号 行号由数字组成,标号是以字母开始,以冒号结束的字符串。它们一般用在转向语句中,但对结构化程序设计语言,转向语句应限制使用。 6. 显式声明变量 为了避免写错变量名引起麻烦,导致出现难以查找的错误,应养成对变量进行显式声明的良好习惯。 返回本节 返回首页 结束