VB程序设计基础教程第2章_第1页
VB程序设计基础教程第2章_第2页
VB程序设计基础教程第2章_第3页
VB程序设计基础教程第2章_第4页
VB程序设计基础教程第2章_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 Visual Basic程序设计基础,2.1 常量与变量,一般常量,2.1.1 常量,字符常量,日期常量,数值常量,逻辑常量,符号常量,符号常量是在程序中用符号表示的常量。使用符号常量可以增加代码的可读性,因为程序中多次使用一些常量值,这些数字很难记住,符号常量可以使用具有相关含义的名字来代替不变的数据。在代码中使用符号常量来引用常数使程序清楚简洁。当然,程序中不能对符号常量赋以新值。,定义常量,Const常数名As 数据类型=Value Const语句可表示数量、日期以及字符串,例如: Const Length As Integer=10 /表示数值 Const Data=#16/0

2、3/2006# /表示日期 Const Strings = wangjiang /表示字符串 若要在一行中定义多个常量,需使用逗号隔开,例如: Const Length1=10,Length2=30,常量的域,所谓常量的域是指常量的使用范围。通常用关键字Public或Private来定义常量的使用范围。此时定义常量的语法规则为: Public | Private Const常数名As数据类型= 表达式 其中,Public表示该常量为各个模块之间所共有;而Private则表示该常量仅在此模块内部有效。例如: Public Const Pi=3.1415926 Public Const R=4 P

3、rivate Const S=Pi*R,定义变量,2.1.2 变量,(1)显式定义 Dim 变量名As 数据类型 Dim Count As Single Dim June As Data Dim 变量名As 数据类型,变量名As 数据类型 Dim a,b,c As Integer Dim Name As String,Age As Integer Static、Public、Private语句定义变量与Dim语句相似,语法格式: Public 变量名 As数据类型,变量名As数据类型 Private 变量名 As数据类型,变量名As数据类型 Static 变量名 As数据类型,变量名As数据类

4、型,(2)隐式定义 Dim Name,Age Name=“李六” Age=18 其中,第一句先定义了两个变量,第二句表示Name是字符型变量,第三句表示Age是整型变量。 另外,通过使用Deftype语句也可以定义变量,例如: DefStr ag 表示所有的a、b、c、d、e、f、g开头的变量都是字符型变量。,变量的作用域,(1)局部变量 Private Sub Form1_Click () Dim Count2 As Integer End Sub Private Sub Command2_Click () Dim Count2 As Integer Static Sum1 As Singl

5、e End Sub 在Form1_Click过程中定义了局部变量Count2,在Command2_Click过程中定义了Sum1和Count2,两个同名变量Count2没有任何关系。,(2)全局变量 Global 变量名 As 数据类型 Public 变量名 As 数据类型 例如: Global Width As Single Public b As Integer,(3)窗体变量,图2-1 通用与声明,在窗体Form1中声明如下变量:Public b As Integer,2.2 数据类型,2.2.1 基本数据类型,表2-1 Visual Basic的基本数据类型,数字型数据,字符串型数据,

6、日期型数据,逻辑型数据,变体型数据,数据 类型,数字型数据,2.2.2 自定义类型,Type (下标) As (下标) As End Type 说明: 元素名表示用户自定义的一个数据类型; 下标表示定义数组; 类型名表示标准类型。,2.3 运算符和表达式,表2-2 Visual Basic算术运算符,2.3.1 算术运算符及表达式,2.3.2 关系运算符及表达式,表2-3 Visual Basic的关系运算符,2.3.3 逻辑运算符及表达式,表2-4 Visual Basic逻辑运算符,表2-5 逻辑运算真值表,2.3.4 字符串连接运算表达式,字符串运算符是用来合并字符串的运算符,包括&和。

7、&和运算符是用来强制两个表达式作字符串连接。 字符串表达式是用字符串运算符将两个表达式连接起来的式子。 例如: MyStr=Hello&How do you do /返回Hello How do you do/ 注意:在使用“+”运算符时,有可能无法确定是做加法还是做字符串连接。为避免混淆,可以使用“&”运算符进行连接。,2.4 基本语句,为变量赋值,2.4.1 赋值语句,=,其语法规则是: 变量表达式 例如: Dim A As Integer A = 100 Dim A As Double Dim B As Single,C As Single B=123.5 C=1254.1 A=B+C,

8、为对象的属性赋值,在Visual Basic中可以在程序中利用赋值语句为对象的属性设置属性值,其一般格式为: 对象.属性 =属性值 例如,为命令按钮cmdDisplay的Caption属性设置值: CmdDisplay.Caption = 显示,为自定义类型声明的变量的各元素赋值,变量名.元素名 =表达式 例如: Type Stud Name As String*20 Age As Integer Address As String*20 End Type Dim Student As Stud Student .Name = 张三 Student .Age = 22 Student .Add

9、ress = 四川成都,IfThen语句,2.4.2 选择结构语句,If 条件 Then语句 If 条件 Then 语句序列 End If If I B Then I = B /单行语法 If I B Then /多行语句块语法 I = B End If,例如: If I B Then I = B Print I End If,IfThenElse语句,If 条件1 Then 语句序列1 Else If 条件2 Then 语句序列2 Else 语句序列n End If,例如: If (I-J) 0 Then Print IJ Else Print I,J不能比较 End If,Select C

10、ase语句,(1)不带Case Else子句 Select Case变量 Case 表达式1 语句1 Case 表达式2 语句2 Case 表达式n 语句n End Select,(2)带Case Else子句 Select Case变量 Case 表达式1 语句1 Case 表达式2 语句2 Case 表达式n-1 语句n-1 Case Else 语句n End Select,一个表达式或用逗号隔开的若干表达式,如: Select Case val(t1.Text) Case 1,3,5 L1.Caption=这是奇数 End Select 表达式1 To 表达式2,如: Select Ca

11、se t1.Text Case 1 To 9 L1.Caption = 此数是在1到10的范围内 End Select Is关系运算符表达式,如: Select Case val(t1.Text) Case Is=30 L1.Caption =大于30 End Select,ForNext循环语句,2.4.3 循环结构语句,For循环语句的一般格式为: For 循环变量= 循环变量初值 To 循环变量终值 Step 步长 循环体 Exit For Next 循环变量,例如: For i = 1 To 10 Step 1 Print i Next I 其中,For语句的作用是控制循环的次数。例如

12、,上例中循环变量“i”的值在循环过程中是不断变化的,它的初值为“1”,终值为“10”,每执行完一次循环体后增值为“1”。 运行以上程序,结果如下: 1 2 3 4 5 6 7 8 9 10,图2-2 For循环语句的执行过程,WhileEnd While循环语句,While循环语句的格式如下: While 条件 循环体 End While,图2-3 While循环的执行过程,例如,计算整数110的和。 Dim S As Integer Dim I As Integer S=0 I=1 While I=10 S=S+I I=I+1 End While Print S=,S 程序运行结果为: S=

13、55,DoLoop循环语句,(1) Do 循环体 Loop (2) Do While 条件 循环体 Loop (3) Do Until 条件 循环体 Loop (4) Do 循环体 Loop While 条件 (5) Do 循环体 Loop Until 条件,2.4.4 循环嵌套,多重循环的执行过程是:外层循环每执行一次,内层循环就从头开始执行一轮。 例如: For i=1 To 8 For j=1 To 8 Print i*j Next j Next i,2.5 数组,数组元素,2.5.1 数组的概念,(1)表示方法 数组名(P1,P2,) 其中,P1、P2表示元素在数组中的排列位置,称为“

14、下标”。 如:A(3,5)代表二维数组A中第3行第5列上的那个元素。 (2)数组维数 由数组元素中下标的个数决定,一个下标表示一维数组,两 个下标表示二维数组。Visual Basic中有一维数组、二维数 组、最多60维数组。,下标,下标表示顺序号,每个数组有一个唯一的顺序号,下标不能超过数组声明时的上、下界范围。下标可以是整型的常数、变量、表达式,甚至又是一个数组元素。下标的取值范围是:下界 To 上界,默认下界时,系统默认取0。,2.5.2 数组声明,数组必须先声明后使用。声明数组就是让系统在内存中分配一个连续的区域,用来存储数组元素。 声明内容:数组名、类型、维数、数组大小。 一般情况下

15、,数组中各元素类型必须相同,但若数组为Variant时,可包含不同类型的数据。,一维数组,2.5.3 静态数组,静态一维数组的声明形式如下: Dim 数组名(下标) As 类型 说明: 下标必须为常数,不能为表达式或变量; 下标下界最小为-32768,最大上界为32767;省略下界,其默 认值为0,一维数组的元素个数为“上界下界+1”。 如果省略类型,则为变体型。,多维数组,静态多维数组的声明形式如下: Dim 数组名(下标1,下标2) As 类型 说明: 下标个数决定数组的维数,最多60维。 每一维的大小等于“上界下界+1”;数组的大小等于每一维大小的乘积。 例如,Dim Stud (3,4

16、) As Integer,同样也可用关键字To定义下界,如: Dim Stud (1 To 3,1 To 4) As Integer。,2.5.4 动态数组,其语法规则是: ReDim 数组名(下标1,下标2) As 类型 其中,下标可以是常量,也可以是确定值的变量,类型可以省略,若不省略,必须与Dim中的声明语句保持一致。 注意: 在过程中可以多次使用ReDim来改变数组的大小,也可改变数组的维数。 每次使用ReDim语句都会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几维大小不能改变。,数组的引用,

17、2.5.5 数组的基本操作,对数组的引用,就是对其元素的引用。数组元素的引用方法是在数组名后面的括号中指定其下标,例如: Dim abc(100) As Integer abc(100) = 123 在上面的例子中有两个abc(100),其中Dim语句中的abc(100)是指数组声明,表示数组abc中元素的最大下标是100,其类型为数值型;而abc(100) = 123中的abc(100)是数组abc中下标为100的元素,其值为123。,数组的初始化,Dim 数组名() As 类型=数组元素值 例如: Dim SSS() As Integer = 100,45,66 Dim Days() As

18、 Integer = Sun,Mon,Tue,Wed,Thu,Fri,Sat,基本概念,2.5.6 控件数组,控件数组是由一组相同类型的控件组成的,它们共用一个控件名,具有相同的属性设置。数组中每个控件都有唯一的索引号(Index Number),即下标,其所有元素的Name属性必须相同。控件数组适用于若干个控件执行的操作相似的场合,控件数组共享同样的事件过程。控件数组通过索引号(属性中的Index)来标识各控件,第一个下标是0。例如:Text1(0)、Text1(1)、Text1(2)、Text1(3),控件数组的建立,(1)在设计时建立 其步骤如下: 在窗体上画出某控件,并进行属性设置。 选中该控件进行“复制”和“粘贴”操作,系统提示“是否建立控件数组”,选择“是”即可。多次粘贴就可以创建多个控件元素。 进行事件过程的编程。 (

温馨提示

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

评论

0/150

提交评论