导图社区 程序结构
学习VB程序结构这一章节时,自己总结的上课知识点,希望以这种方式鼓励自己及时复习,希望对大家也有所帮助。
编辑于2022-04-14 16:26:16中心主题 程序结构
4.1顺序结构
赋值语句
赋值语句具有运算功能
变量名=表达式
[对象名.]属性=表达式
(若省略对象名,则默认对象为当前窗体)
Set 对象变量名=表达式
赋值语句的几点说明(按左侧)
赋值运算符两侧皆为数值型但精度不同,按左侧变量或属性的精度转换
数值型=数字字符串,则转换成数值型再赋值 (若表达式为空串或含有非数字字符,则出现错误)
字符型=非字符表达式,则转换成字符型再赋值
逻辑型=数值型,0转换成false,非0转换成true
数值型=逻辑型,False转换成0,True转换成-1
日期型=数值型, Dim a As date a=5,则结果为#1900-1-4# (1899年12月30号为0)
溢出情况(整型的范围为-32768-32767),如 Dim a As Integer a=123456789,会出现错误
Print方法
输出格式;[对象名.]Print[输出项列表][{;|,}]
分号:各输出连续输出,中间无空格
逗号:按分区格式输出,即将一个输出行以14个字符的宽度为单位分成若干个区段(称为“打印区”),每个区段输出一个表达式的值
如果调用Print方法的语句以分号或逗号结束,则下一次执行Print方法时将在同一行输出,否则,每执行一次Print方法即自动换行
Print方法在Form_Load事件过程中不起作用。如果想要在该事件中显示数据,方法有两种:
在代码过程中加入Form.show方法
把窗体的AutoRedraw属性设置为True
与Print方法有关的函数
Spc(n)函数:用于插入n个空格
Tab[(n)]函数:用于将输出位置定位于第n列。
若省略参数n,则将插入点移动到下一个打印区的起点
如果n小于当前显示位置,则将输出位置移到下一行第n列
一个汉字占2个Tab键
with结构
结构:
功能:改变一个对象的多个属性
4.2选择结构
if语句
if...Then结构
如果条件满足就执行Then后边的语句
结构形式
单行形式 If 条件 Then 语句
单行形式不用End If语句,整个语句必须写在一行上
单行形式执行多条语句: If 条件 Then 语句1:语句2:语句3(不建议使用)
块(多行)形式
执行多条语句的时候建议使用此形式
“条件”可以是逻辑的表达式(True,或False);“条件”还可以是数值的表达式(0为False,非0为True)
限制用户输入合法的数据(比如只能输入数字)
KeyPress事件有一个KeyAscii参数,用于传送或改变用户按键的ASCII码。在KeyPress事件中,将KeyAscii的值设置为0,即可取消按键。
IsNumberic是VB内部函数,用于判断参数是否为数字。
“8”是回删键Backspace的ASCII码
if...Then...Else语句(单一条件)
结构
单行形式:If 条件 Then 语句1 Else 语句2
多行形式:
if...Then...Elseif语句(多条件)
If 条件1 Then 语句块1 ElseIf 条件2 Then 语句块2 ElseIf 条件3 Then 语句块3 ...... ElseIf 条件n Then 语句块n Else 语句块n+1 End If
if语句的嵌套
内嵌的If语句可以出现在关键字Then或者Else之后
在关键字Then之后
If 条件1 Then If 条件2 Then ...... End If .... End If
在关键字Else之后(注意区别If...Then ...ElseIf结构)
If 条件1 Then 语句1 Else If 条件2 Then 语句2 Else 语句3 End If End If
Select Case语句
Select Case 测试表达式 Case1 值表1 语句1 Case2 值表2 语句2 ..... Case n 值表n 语句n Case Else 语句n+1 End Select
测试表达式可以是数值表达式或者字符串表达式
“值表”与“测试表达式”的类型必须相同
“值表”的几种形式(或者说是测试表达式的形式)
1.表达式 Case 100+a 数值或者字符串表达式 2.一组用逗号分割的枚举值 Case 2,4,6 测试表达式的值等于2,4,6 之一 3.表达式1 to 表达式2 Case10 To 20 10<=测试表达式的值<=20 4.Is关系运算符表达式 Case Is >20 测试表达式的值>20
条件函数
IIf函数
Immediate If的缩写
格式: IIf(条件,True值,False值)
是If...Then...Else的简化
Choose函数
格式:Choose(整数表达式,选项列表) 整数表达式的范围[1,选项列表总数]
例如:strColor=Choose(iIndex,"红“,”黄“,”蓝“)整数表达式iIndex的值为1,则为”红“,以此类推
部分代替Select Case语句
Switch函数
4.3循环结构
For...Next循环
用于已知循环次数的情况
格式:
For 循环变量=初值 To 终值【Step 步长】 [循环体] Next[循环变量]
循环变量:必须为数值型。每执行一次循环后,循环变量的值会自动增加或减少
初值和终值:均为数值型,可以是数值表达式
步长:数值型。默认值为1。
步长为正数,应设初值<=终值
步长为负数,应设初值>=终值
步长为0,会陷入死循环
循环体:循环体中午语句,则为空循环。在循环体中加入Exit for 语句,会强制退出循环。
Do...Loop循环
用于不知道循环次数的情况
结构:
1.前测型(先判断,后执行) Do [While或者Until 条件] [循环体] Loop 2.后测型(先执行,后判断) Do [循环体] Loop [While或者Until 条件] 注意:关键字While在条件为真时执行循环体,关键字Until在条件为假时执行循环体
如果省略While|Until 条件,则为无条件循环,此时应在循环体中加入Exit Do语句,否则会陷入死循环
While...Wend循环
While 条件 语句块 Wend
循环的嵌套(多上机练题)
外循环为行,内循环为列
每一个数字都有前导空格和后导空格,前导空格叫“符号位”。每一个数字都占3个Tab键。
字符没有前导空格和后导空格,输出时字符之间是没有任何间隙的