《江苏省计算机二级vb基本知识点总结.doc》由会员分享,可在线阅读,更多相关《江苏省计算机二级vb基本知识点总结.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流一、二、三、四、五、六、七、八、九、十、 江苏省计算机二级vb基本知识点总结【精品文档】第 5 页十一、 常量 常量(也称常数),是在程序运行期间其值始终保持不变的量。注意不是常量。 定义常量的语法格式:Public|PrivateConst 常量名As数据类型 = 表达式 Const前不能使用Dim 在窗体的通用声明处不能使用Public定义常量、定长字符串、数组 定义常量的语句可以在过程内部,也可以在通用声明处 = 后边的表达式不能是函数十二、 变量 定义变量的语法格式:Dim|Private|Static|Public 变量名As数据类型,变量名A
2、s数据类型 使用Dim|Private|Static|Public定义变量后会将变量进行初始化 使用Dim定义变量的语句可以在过程内,也可以在通用声明处;使用static定义变量的语句只能在过程内;使用public、private定义变量的语句只能在通用声明处 在过程内部使用dim定义的变量是局部的过程级的变量,即该变量的生命周期和作用域很小。其作用域为本过程,即只在本过程中能用,出了本过程就不能使用其值。其生命周期为从该变量定义的位置开始变量在内存中存在,它所在的过程结束(遇到End Sub)该变量就从内存消失 在通用声明处用Dim定义的变量是模块级的变量;其作用域为本模块,即在本窗体或模块
3、的所有过程中都能使用该变量,在其他窗体或模块中不能使用该变量的值;其生命周期为从该变量定义的位置开始变量在内存中存在,整个程序结束(点击结束按钮或点击窗体上的关闭按钮)该变量才从内存消失 使用static定义的变量是局部的静态变量。其作用域为本过程(同局部的dim定义的变量);其生命周期为从该变量定义的位置开始变量在内存中存在,整个程序结束(点击结束按钮或点击窗体上的关闭按钮)该变量才从内存消失 使用private定义的变量是模块级的变量,其作用域和生命周期同模块级的dim定义的变量 使用public定义的变量是全局变量,其作用域为整个程序,即在整个程序的所有窗体或模块的所有过程中都可以使用此
4、变量(但是注意,如果是在窗体的通用声明处定义的public类型的变量,则在其他窗体或模块使用该变量时需加上窗体的名字);其生命周期为从该变量定义的位置开始变量在内存中存在,整个程序结束(点击结束按钮或点击窗体上的关闭按钮)该变量才从内存消失十三、 数组数组是一组按一定顺序排列的数据的集合,数据的类型可以不相同,数组的维数不得超过60维1. 静态数组 定义静态数组的语法格式:public|private|static|Dim 数组名(下界 To 上界) As数据类型 若省略下界时,表示下标的取值是从0开始,等价于“0 To上界” 可以使用Dim 或 public 或 private 或 stat
5、ic 定义 分别使用这4个关键字进行定义数组的语句可以出现的位置不同(同变量的定义)、数组的生命周期和作用域不同(同变量的作用域和生命周期) 定义静态数组时小括号内的下标不能使用变量 在同一个作用域内不能定义同名的静态数组(即:在同一个作用域内不能多次定义同一个数组),在不同的作用域内可以定义同名的静态数组(同名数组的使用和同名变量的使用相同) 数组的定义语句中的下界和上界可以是常量或表达式(即:可以是整数、实数、正数、负数),下界不必须是0或1 静态数组定义的同时将被初始化 静态数组一旦定义后,数组名、数组大小、数组的类型就确定了 在程序的窗体模块或标准模块的通用声明处用Option Bas
6、e n语句可重新设定数组的下界。此语句的含义是:在定义数组时,如果省略了下界则默认的下界是n,在定义数组时如果未省略下界则该数组的下界就是其自己定义的下界值(此时忽略Option Base n指明的下界n) 在窗体的通用声明处不能用public定义常量、定长字符串、数组2. 动态数组 定义动态数组的语法格式:public|private|static|Dim 数组名()As数据类型ReDim Preserve 数组名(下标) As数据类型 可以使用Redim定义一个新数组(即可以不需要用dim定义数组而直接用redim定义一个新数组) Redim只能出现在过程中,不能出现在通用声明处 Redi
7、m可以多次重定义同一个数组的大小(可以将数组变大,也可以将数组变小) 使用Redim重定义数组时不能改变原有数组的数据类型 使用Redim重定义数组时下标可以用变量 使用Redim重定义数组的同时也会将数组初始化。未加preserve的Redim语句将数组元素全部初始化(即原有数组元素的值不被保留),加了preserve的Redim语句会保留原有数组的值 未加preserve的Redim语句可以任意改变数组的维数和大小,加了preserve的Redim语句只能改变数组最后一维的维上界 Erase数组刷新语句,对于静态数组使用Erase刷新的结果是将数组元素初始化,对于动态数组使用Erase刷新
8、的结果是清除动态数组占用的空间3. 形参数组 数组可以作为形参或实参进行参数传递 当形参是数组时,形参数组前不能用Byval,但可以用Byref,即数组都是传地址的 当形参是数组时,形参数组名后的小括号内不能有任何内容 当形参是数组时,实参也必须是数组并且类型要相同。若形参数组是定长字符串类型的,实参也必须是定长字符串类型但长度可以不相同 当形参是数组时,在过程中不能用Dim定义该形参数组 当形参是数组并且是动态数组时,在过程中可以用Redim改变数组的大小十四、 过程1. Function函数过程 Function函数过程定义的语法格式 Function函数内部不能再定义其他Function
9、或Sub Function内部可以用多个Exit Function 函数可以有返回值,在函数体内可以给函数名赋值 使用static定义的function函数,指明该函数过程中所有的局部变量是静态的 使用private定义的function函数,指明该函数过程是私有的过程,在本窗体的其他过程中可以调用本过程,但是在其他窗体中不能调用本过程 使用public定义的function函数,指明该函数过程是公有的过程,在程序中所有的窗体中均可调用本过程,但是要加上窗体的名字 Function函数可以通过函数名返回一个值,也可以使用传地址的形参返回多个值 使用不带call的调用语句调用funciton函数
10、且实参未加括号时,不能单独的作为一个语句使用2. Sub子程序过程 Sub过程过程定义的语法格式 Sub过程内部不能再定义其他Sub或Function Sub内部可以用多个Exit Sub Sub子程序过程没有返回值,在过程体内不能给过程名赋值 使用static定义的sub过程,指明该过程过程中所有的局部变量是静态的 使用private定义的sub过程,指明该过程过程是私有的过程,在本窗体的其他过程中可以调用本过程,但是在其他窗体中不能调用本过程 使用public定义的sub过程,指明该过程过程是公有的过程,在程序中所有的窗体中均可调用本过程,但是要加上窗体的名字 Sub子程序过程要想有返回值
11、,只能通过传地址的形参返回 调用Sub子程序时,需单独的作为一条语句使用3. 参数传递 形参:是在过程的定义中出现的变量或数组;实参:是在调用过程的语句中出现的变量、常量、表达式或数组、数组元素 形参不能是常量、表达式、数组元素,只能是变量或数组名 当形参是变量时,实参可以是变量、常量、表达式或数组元素 当形参是数组时,实参必须是数组 形参不能是定长字符串变量,但可以是定长字符串数组 实参和形参必须在个数、类型上一一对应 进行参数传递时要求实参和形参的类型相符(或相容):l 形参前如果有Byval:要求实参能够进行正确自动类型转换成形参l 形参前如果有Byref或没有任何关键字: 若实参是变量
12、:要求实参的类型必须和形参的类型完全相同 若实参是常量或表达式,要求实参能够进行正确自动类型转换成形参,此时实际上是进行值传递 值传递:形参前有关键字ByVal,形参的改变不会影响实参的值 地址传递:形参前有关键字ByRef或无关键字,形参的改变会影响实参的值 若实参是常量或表达式,则无论形参表前是否有关键字ByRef,都只能按值传递4. 同名变量 在同一个作用域中,不允许变量名同名。但是在不同作用域中,变量的名字可以相同。 系统遇到不同作用域中的同名变量时,在声明了同名变量的模块或过程中,隐藏作用范围大的变量,优先访问作用范围小的变量;在未声明同名变量的模块或过程中,优先访问作用范围大的变量
13、。十五、 数据类型1. 数值型: 整形:Integer、长整形:Long、单精度:Single、双精度:Double 类型符: % & ! # 存储空间:2 4 4 8 整形取值范围:-3276832767 Single和Double型可以用科学记数法的形式表示,E和D是指数符号,只能出现在数的中间2. 其他类型: 字符型:String (类型符为 $)、日期型:Date、布尔型:Boolean3. 数据类型转换 强制转换:l 转换函数:Val()、Str()、cstr()、Asc()、Chr()、Cint() 自动转换:l 数值型间的转换:数值间可以自由转换,注意不要超出范围l 数值与字符串
14、的转换:纯数字字符串能自动转换为Double型的数值,数值可以自由转换为字符串l 数值与布尔型的转换:0转换为false,非0转换为true;true转换为-1,false转换为0l 字符串与布尔型的转换:字符串先转换为数值再由数值转换为布尔型十六、 VB内部函数 数学函数:l Sin() Cos() Tan() Atn() Sqr() Exp() Log() Fix() Int() Sgn() Abs()l Sgn()函数的返回值为Integer,其他均为Double型 字符串函数:l Instr() Len() Mid() Left() Right() Lcase() Ucase() St
15、ring() Space() Ltrim() Rtrim() Trim()l 每个函数的参数个数、参数类型、参数含义l Instr、Len返回值为Integer型,其余均为String型 转换函数:l Val()、Str()、cstr()、Asc()、Chr()、Cint()l Cint()函数的返回值为Integer型 随机函数:Rnd 格式输出函数:Format Inputbox()、Msgbox():参数个数、含义十七、 运算符1. 数学运算符 - * / mod + - 各种运算符的含义 优先级 运算规则:l “奇进偶不进”的四舍五入l 乘方 的结果类型是Doublel 除法 / 的结果类型是Doublel 整除 的结果类型是Integer或Longl 求余 mod的结果类型是Integer或Longl *、+、- 的结果类型是占用存储空间较大的那个的类型l 进行算术运算的操作数都应是数值型的,否则将自动类型转换为数值型再进行算术运算2. 字符串连接运算符 &:总是将两个操作数均变成字符串进行字符串相连 +:当左右两边都是字符串时进行字符串相连,否则只要有一边是数值就是进行算术加操作3. 关系运算符 运算规则4. 逻辑运算符 Not、And、Or、Xor 运算规则
限制150内