2022年VB期末考试复习--书本重点总结讲解学习 .pdf
复习编码基础VB 代码不区分字母的大小写一行可书写几句语句,之间用冒号分隔; 一句语句可分若干行书写,用续行符(空格下划线)连接Rem 开始或 单撇VB 常用数据类型变量和常量的 命名规则变量:在程序运行中其存储的值可以改变。常量:在程序运行中其值不可以改变。以字母或汉字开头,后可跟字母、数字或下划线组成,长度小于等于40 个字符;不能使用 VB 中的关键字;VB 中不区分变量名的大小写例如: 1)a bc 2)print_65 3)12bc 4)x-y 5)x%y 6)abs 7)mn% 8)int 变量声明Dim 变量名AS 类型 Dim iMark As integer , sTotal As single Dim iItem% 注意 : 在通用声明处加Option Explicit 语句来强制显式声明变量常量声明Const 常量名AS 类型 = 表达式例 Const MAX=100 Const MIN As Integer =&H13A 算术运算符例:求表达式5+10 mod 10 9 / 3 +2 2 值字符串运算符 、+ 字符串连接 123 + 456 结果 123456 123 & 456 结果 123456 区别: + 两边必须是字符串,& 不一定abcdef & 12345 结果为abcdef12345 abcdef + 12345 出错123 & 456 结果为 123456 “ 123” + 456 结果为579 注意:123 + True 结果为122 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 11 页 - - - - - - - - - - 关系运算符将两个操作数进行大小比较,结果为逻辑量。字符串比较 ,则按字符的ASCII 码值从左到右一一比较,直到出现不同的字符为止.。例: ABCDE ABRA 结果为False 逻辑运算符将操作数进行逻辑运算,结果是逻辑值表达式?组成 :变量、常量、函数、运算符和圆括号?书写规则运算符不能相邻。例a+ -b 是错误的。乘号不能省略。例x 乘以 y 应写成: x*y 。括号必须成对出现,均使用圆括号。表达式从左到右在同一基准上书写,无高低、大小。表达式书写举例a*b*c*d/e/f/g 或a*b *c*d/ (e*f*g )sin(45*3.14/180)+(exp(10)+log(10)/sqr(x+y+1) 3=x And x =7 常用内部函数1. 数学函数Rnd 函数返回 0 和 1(不包括0 和 1)之间的双精度随机数. 产生 nm 的随机整数 : Int(Rnd *(m-n+1)+n 取整函数:Int Fix Round 符号函数: Sgn 2. 转换函数Chr$(Asc (G) G Ucase$(abcdefg) ABCDEFG “Asc $(Chr(65) 65 Str Val 3. 字符串操作函数Left$(ABCDEFG,3) ABC Mid$(ABCDEFG,2,3) BCD Right$(ABCDEFG,3) EFG Len$(ABCDEFG) 7 InStr(2, ABCDEFG, EF) 5 efgabcd110e4510yxlnsin73x精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 11 页 - - - - - - - - - - 赋值语句形式:变量名表达式作用:将表达式的值赋值给变量名。一般用于给变量赋值或对控件设定属性值。注意:?赋值号左边只能是变量,不能是常量或表达式?不能在一个语句中同时给多个变量赋值数据输入函数InputBoxInputBox( 提示信息 ,窗口标题 ) 通常用于赋值语句。产生一个对话框,供用户输入信息,并返回一个字符型的值,赋给一个变量。MsgBox 函数和 MsgBox 过程函数形式:变量% = MsgBox( 提示 ,按钮 ,标题 ) 过程形式: MsgBox 提示 ,按钮 ,标题 选择结构1. If Then语句 (单分支结构 ) If Then 语句块End If 或 If Then ?例:已知两个数x和 y,比较它们的大小,使得x 大于 y. 2. If ThenElse 语句 (双分支结构 ) If Then Else End If 或 If Then Else ?例:已知两个数x和 y,求两个数中的大者. 3. If ThenElseIf 语句 (多分支结构 ) If Then ElseIf Then Else 语句块n+1 End If 不管有几个分支,当某条件满足 ,执行相应的语句块,其余分支不再执行. 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 11 页 - - - - - - - - - - 4. Select Case语句 (情况语句 ) Select Case 变量或表达式Case 表达式列表1 语句块 1 Case 表达式列表2 语句块 2 Case Else 语句块 n+1 End Select 5. 条件函数( IIf 函数)IIf ( 条件 , 表达式 1,表达式 2) 先求出两个表达式的值。当条件成立时, 函数值为表达式1 的值;条件不成立时,函数值为表达式2 的值。?例:求 x,y 中大的数,放入Tmax 变量中循环结构1. For 循环语句(一般用于循环次数已知) For 循环变量初值to 终值 Step 步长 语句块Exit For 步长0 初值 终值语句块=1 时,可省略Next 循环变量终值=0 死循环循环次数 =Int( 终值 -初值 )/步长 +1)执行循环结构For i=30 To 10 Step 3 Print a Next i 将输出 _个 a。计算的近似值公式为其中 n 值由文本框读入。阅读程序并填空,Result 是标签框的名称。Private Sub Command1_Click() Dim sum As Double, pi As Double Dim i As Integer, n As Integer n = Val(Text1.Text) For i = 1 To n sum = sum + _ (1)_ Next i pi = _ (2)_ Result.Caption= pi近似值为 : & Str(pi) End Sub 2222213121116n精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 11 页 - - - - - - - - - - 2. Do Loop 循环语句 (用于控制循环次数未知) 形式 1:形式 2:Do While|Until Do 语句块语句块Exit Do Exit Do 语句块语句块Loop Loop While|Until 3. 循环的嵌套一个循环体内又包含了一个完整的循环结构称为循环的嵌套. 例:打印九九乘法表For i = 1 To 9 For j = 1 To 9 se = i & & j & = & i * j Picture1.Print Tab(j - 1) * 9 + 1); se; Next j Picture1.Print Next i 对于循环的嵌套,要注意以下事项:?内循环变量与外循环变量不能同名;?外循环必须完全包含内循环,不能交叉;?不能从循环体外转向循环体内,反之则可以。Private Sub Command1_Click() Dim sum As Double, x As Double sum = 0: n = 0 For i = 1 To 5 x = n / i: n = n + 1: sum = sum + x Next End Sub 数组一. 静态数组及声明形式 : Dim 数组名 (下标 1,下标 2) As 类型 声明了数组的维数、大小、类型维数:几个下标为几维数组下标 : 下界To 上界;省略下界为0 ,必须为常数每一维大小 : 上界下界 +1 数组大小 : 每一维大小的乘积例: Dim mark(1 to 100) As Integer Dim a( 0 To 3 , 0 To 4) As Long 共有45 个元素等价于 : Dim a(3 , 4) As Long 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 11 页 - - - - - - - - - - 注意:1. 下界缺省为0 ,也可在重新定义数组的下界。例如:Option Base 1 2. 在数组声明中的下标说明了数组的整体,即每一维的大小;而在程序其他地方出现的下标表示数组中的一个元素。两者写法形式相同,但意义不同。例如:Dim x(10) As Integer 声明了 x 数组有 11 个元素x(10)=100 对 x(10)这个数组元素赋值动态数组及声明在程序执行时分配存储空间。方法:(1)在过程外使用Dim 、Private 或 Public 语句声明括号内为空的数组(2)在过程中用ReDim 语句指明该数组的大小Dim sArray( ) As Single Sub Form_Load( )ReDim sArray(4 ,8)End Sub 注意:(1)ReDim 中的下标可以是常量,也可以是有确定值的变量. (2)在过程中可多次使用ReDim 改变数组的大小,或维数. (3)每次用 ReDim 会使原数组的值丢失,可以在 ReDim 语句后加Preserve 参数来保留数组中的数据 . 数组元素的输入、输出(1)用循环For i = 1 To 10 iA(i)=0 :Print iA(i); ; Next i (2) Array 函数Dim ib As Variant ib = Array(abc, def, 67) For i = 0 To UBound(ib) Print ib(i); ; Next i 注意 :?利用 Array 对数组各元素赋值,声明的数组是可调数组或连圆括号都可省,并且其类型只能是Variant 。?数组的下阶为零,上界由Array函数括号内的参数个数可决定,也可通过函数Ubound 获得。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 11 页 - - - - - - - - - - 数组的应用求最大值最小值数组的查找、插入和删除排序:冒泡排序和选择排序过程?三种自定义过程子过程( Sub Procedure )Sub 过程没有返回值函数过程( Function Procedure)Function 过程返回一个值属性过程( Property Procedure)自定义函数过程定义Function 函数名(参数列表 ) As 数据类型 函数名 =表达式End Function 特点:函数名有值,有类型,在过程体内至少赋值一次。Function 过程调用函数名(实际参数列表)注意:函数在定义和使用时,无论是否有参数,圆括号一定不能省。特点:不能独立存在,必须参加表达式的运算自定义子过程的定义格式:Sub 子过程名 (形式参数表 ) 过程体End Sub 特点:子过程名无值,无类型自定义子过程的调用格式 1 子过程名实际参数列表 格式 2 Call 子过程名 (实际参数列表 ) 特点:一句独立的语句注意:格式1 中的实际参数列表无需圆括号注意:(1)参数列表称为实参或实元,它必须与形参保持个数相同,位置与类型一一对应。(2)当参数是数组时,形参与实参在参数声明时应省略其维数,但括号不能省。(3)调用子过程的形式有两种,用Call 关键字时,实参必须加圆括号括起,反之则全无。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 11 页 - - - - - - - - - - 参数传递?指主调过程的实参传递给被调过程的形参。?传址:形参得到的是实参的地址,当形参值的改变同时也改变实参的值。其形式参数前加 ByRef 关键字界定或缺省。?传值:形参得到的是实参的值,形参值的改变不会影响实参的值。其形式参数前加ByVal 关键字界定?实参为数组时为传址,实参为表达式时为传值。Sub Add(x%, y%) x = x + 2 y = y + 3 Print x=; x, y=; y End Sub Private Sub Command1_Click() a% = 10: b% = 20 Call Add(a + 1, b) Print a=; a, b=; b End Sub 1.递归的概念用自身的结构来描述自身就称为“递归”。例如对阶乘的定义:2. 递归过程过程在自身定义的内部调用自己。编 fac(n)=n ! 的递归函数Function fac(n As Integer) As Integer If n = 1 Then fac = 1 Else fac = n * fac(n - 1) End If End Function 控件基本的属性?Name 名称: 所有控件对象都具有的属性?Enabled:控件是否可操作. 当设置为false 时 ,呈暗淡色 ,禁止用户进行操作. ?Visible 属性:)!2()1()!1()!1(!nnnnnn11)fac(*11)fac(nnnnn精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 11 页 - - - - - - - - - - 控件是否可见 .当设置为 false 时, 用户看不到,但控件本身存在?Height、Width 、Top 和 Left 属性?Caption 标题属性该属性决定了控件上显示的内容常用控件标签 Label 用于显示文本 (输出 )信息,不能作为输入信息的界面。标签是没有焦点的。文本框TextBox 是一个文本编辑区域,可在该区域输入,编辑和显示正文内容。命令按钮 CommandButton 接受用户输入的命令文本框( TextBox)基本属性:Text : 正文内容Maxlength: 设置正文的最多字符个数MultiLine: 是否为多行 ,默认一行 . FALSE ScrollBars: 当 MultiLine为 True 时,该属性才有效 ,表示滚动条的形式PassWord :口令字符;Text 属性返回输入的数据,屏幕显示该字符SelStart,SelLength,SelText : 选中文本的起始、长度、内容Locked:指定文本控件是否可被编辑常用事件Change : 当改变文本框的Text 属性时会引发该事件. KeyPress(KeyAscii As Integer): 文本框的按键事件,常用于判断是否按了回车键( KeyAscii 为 13,按回车键)常用方法对象.SetFocus: 是把光标移到指定的文本框对象中. Left Top Height Width 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 11 页 - - - - - - - - - - 文件及其种类文件是记录的集合VB 按读写方式的三类文件:顺序文件随机文件二进制文件顺序文件从第一条到最后一条记录顺序读写文本文件每一行为一条记录写文件的三步骤:打开写入 关闭读文件的三步骤:打开读出 关闭打开文件Open “ 文件名 ” For 模式As #文件号Len= 记录长度 说明:(1) 三种 “ 模式 ” :Output 重写Append 追加记录Input 读 (外存内存)(2) 文件号是 1511 之间的整数写文件格式 1 Print #文件号,输出列表格式 2 Write # 文件号,输出列表Write 为紧凑格式,数据项间自动加“ ,” ,字符串加双引号读文件格式 1 Input #文件号,变量列表读取Write 格式的文件数据,并将数据按序赋值给指定变量格式 2 Line Input #文件号,字符串变量读取文件中的一行数据并将其赋值给一个字符串变量格式 3 Input$( 读取字符数,#文件号 ) 读取指定数目的字符关闭文件Close #文件号, #文件号与读文件有关的两个函数LOF (文件号)返回文件的字节数,即文件长度。若值为0,说明是空文件EOF (文件号)返回逻辑值,表示文件指针是否达到文件末尾精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 11 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 11 页 - - - - - - - - - -