《《VB程序设计语句》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《VB程序设计语句》PPT课件.ppt(53页珍藏版)》请在金锄头文库上搜索。
1、第5章VB程序设计语句 5 1赋值语句赋值语句是任何程序设计语言中最基本的语句 格式 LET 变量名 表达式功能 它的作用是把右边表达式的值赋给左边的变量 说明 1 LET表示赋值 通常可以省略 2 表达式的类型应与变量的类型一致 即同时为数值型或同时为字符型 当是数值型且有不同精度时 强制转换成左边的精度 5 1赋值语句 例如 A 6 3 A为整型变量A中的结果为6在VB中 赋值语句通常是给变量赋值和设置对象属性值 1 给变量赋值例如 DimAAsIntegerDimBAsString 10A 100B 我是中国人 可以将一个表达式的值赋给一个变量 所以下面的赋值语句是合法的 DimSAsI
2、ntegerDimPAsSingleS 600 1000P 3 14 S 200 500 5 1赋值语句 2 为对象设置属性值在程序中可以用赋值语句为对象的属性设置属性值 格式 对象 属性 属性值例如 为命令按钮Command1的Caption属性设置值 Command1 Caption 显示文本 为文本框Text1的FontName及FontSize属性设置值 Text1 FontName 隶书 Text1 FontSize 32 5 2条件语句 VB提供了多种形式的条件语句来实现选择结构 对条件进行判断 根据判断结果 选择执行不同的分支 5 2 1分支结构 1 单分支结构 If Then语
3、句 格式 1 If 条件 Then 语句块 EndIf 2 If 条件 Then 语句 功能 1 如果 条件 为真 执行Then后面的 语句块 如果条件为假 不执行Then后面的语句块 而执行EndIf后的语句 如图5 1所示 2 如果 条件 为真 执行Then后面的 语句 如果条件为假 不执行Then后面的 语句 5 2 1分支结构 2 双分支结构 If Then Else语句 格式 If 条件 Then 语句块1 Else 语句块2 EndIf功能 如果 条件 为真 执行Then后面的 语句块1 如果 条件 为假 执行Else后面的 语句块2 例5 1 计算分段函数 用双分支结构实现 y
4、sinx x 2 1 x 0y cos x 3 3xx 0Ifx0Theny sin x x x 1 Elsey cos x x 3 3 xEndIf 5 2 1分支结构 3 IIf函数IIf函数可用来执行简单的条件判断操作 它是 If Then Else 结构的简写版本 格式 result IIf 条件 True部分 False部分 功能 当 条件 为真时 IIf函数返回 True部分 而当 条件 为假时 IIf函数返回 False部分 说明 result函数的返回值 True部分 False部分 及结果变量的类型要一致 IIf函数 例如 Ifx 10Thenr 1Elser 2EndIf而
5、用IIf函数来代替 可以使程序大大简化 r IIf x 10 1 2 例5 2 某大学实行按学分收费 如果不超过12学分 应缴纳学费为4000元 如果超过12学分 每超过1学分 加收500元学费 输入学分U 输出学分U和应缴纳的学费T 例5 3 设计一个对输入整数求和的程序 输入0时程序结束运行 5 2 1分支结构 4 多分支结构 If Then ElseIf语句 格式 If 条件1 Then 语句块1 ElseIf 条件2 Then 语句块2 Else 语句块n 1 EndIf功能 这种结构称为多分支结构 先测试 条件1 如果 条件1 为真 执行Then后面的 语句块1 如果 条件1 为假继
6、续 条件2 如果 条件2 为真 执行后面 语句块2 如此测试下去 如果所有条件都为假 则执行Else后面的 语句块n 1 例5 4 在文本框中 输入学生成绩 判断其等级 在窗体中输出 5 2 2情况语句 情况语句 SelectCase 的一般格式 SelectCase 测试表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case 表达式列表n 语句块n CaseElse 语句块n 1 EndSelect 例5 5 用户在文本框Text1中分别输入 Dot Line Box Circle 在窗体上分别画一个点 一条线 一个矩形 或一个圆等图形 然后在EndSelect
7、语句出口 5 3循环语句 5 3 1For循环格式 For 循环变量 初值 To 终值 Step步长 循环体 ExitFor Next 循环变量 功能 当循环变量的值在初值到终值范围内时 执行一次循环体中的语句块 并使初值增加一个步长 当循环变量的值不在初值到终值范围内时 就退出循环 执行Next后面的语句 For循环语句执行的流程图如图5 5所示 5 3 1For循环 例5 6 计算S 1 2 3 10的和 计算机执行一个For循环的过程是 1 执行For语句 把初值1赋给循环变量P即P 1 把终值10和步长1保存起来 2 按顺序执行循环体中的语句S S 1 即S 1 3 执行Next语句
8、把循环变量P增加一个步长1 P P 1 即P 2 P不大于10 继续执行循环体S S P 4 接着执行Next语句 如果P不大于10 就继续执行循环体 如果P大于10 就不再执行循环体 转向到Next语句后面的语句去执行 5 3 2Do循环 Do循环语句用于控制循环次数未知的循环结构 此种语句有两种语法形式 格式1 Do While Until 条件 语句块 ExitDo 语句块Loop格式2 Do语句块 ExitDo 语句块Loop While Until 条件 功能 当指定的关键字While用于指明 条件 为真 True 时 执行循环体 5 3 2Do循环 说明 1 格式1为先判断后执行
9、有可能一次也不执行 格式2为先执行后判断 至少执行一次循环体 两种格式的While的流程图分别如图5 6 a 和5 6 b 所示 2 关键字Until用于指明 条件 为假 False 时 执行循环体 3 ExitDo 当执行该语句时 退出循环 执行Loop的下一句 ExitDo一般放在If Then EndIf语句中 5 3 2Do循环 下面是最简单的形式 While子句的作用是当给定的条件为真时继续执行循环体 当条件为假时终止循环 DoWhile 条件 循环体 Loop 例5 7 用DoWhile语句编写计算S 1 2 3 10的和的程序 5 3 3多重循环 在循环体内又包含了一个完整的循环
10、结构 称为循环的嵌套 循环嵌套对For循环语句和Do Loop语句均适用 例5 8 打印九九表 程序运行结果如图5 7所示 5 3 4GoTo语句 格式 GoTo 标号 行号 功能 该语句的作用是无条件地转移到标号或行号指定的那行语句 例5 9 求100以内的素数 判断某数m是否为素数的方法很多 最简单的方法是从素数的定义来求解 其算法思想是 对于m从i 2 3 m 1判别m能否被i整除 只要有一个数能整除 m不是素数 否则m是素数 5 3 5End语句 格式 End功能 结束程序的运行 它可放在任何一个事件过程中 5 3 6应用举例 例5 10 求S 1 3 5 99之和 例5 11 求S
11、1 2 3 10之积 例5 12 二重循环的运行结果 例5 13 运行下列程序 例5 14 编写在窗口上显示如图5 8图案的程序 例5 15 设计一个计算1 2 3 之和直到累加结果超过30000的程序 例5 16 用DoWhile循环 求S 1 2 3 100之和 例5 17 用DoWhile循环 求S 5 4 3 2 1之积 例5 18 产生若干个随机数 直到有一个随机数大于0 9为止的程序 例5 19 产生50个两位随机整数的程序 例5 20 产生12个30 100随机整数的程序 例5 21 输出1 50之间 能被3整除的数 并累加这些数的和 5 4数组 5 4 1数组的概念S 0 0
12、S 0 1 S 0 2 S 0 3 S 0 4 S 1 0 S 1 1 S 1 2 S 1 3 S 1 4 S 2 0 S 2 1 S 2 2 S 2 3 S 2 4 S 6 0 S 6 1 S 6 2 S 6 3 S 6 4 在VB中如果没有特别的说明 数组元素的下标是从0开始的 即第一元素的下标为0 数组分静态数和动态数组 在定义数组时已确定了数组的大小 称为静态数组 在定义数组时未给出数组的大小 省略了括号中的下标 称动态数组 5 4 2静态数组的定义 在VB中 可以用4个语句来定义数组 4个语句格式相同 但适应范围不一样 Dim用在窗体模块或标准模块中 定义窗体或标准模块数组 也可在过
13、程中用 ReDim用在过程中 Static用在过程中 Public用在标准模块中 定义全局数组 格式 Dim 数组名 下标 As类型 Dim 数组名 下界TO 上界 下界To 上界 As类型 5 4 2静态数组的定义 功能 定义一个数组各维的大小 并分配相应的存储空间 说明 1 格式中的数组名与简单变量的命名规则相同 2 下标是数组的维数 可以用来定义多维数组 在一般情况下 若缺省 上界 则数组元素下标的下界为0 当使用 下界To上界 时 下标的范围可以为 32768 32767 一维数组的大小为 上界 下界 1 下界都必须小于上界 如果希望下标从1开始 可以通过OptionBase语句来实现
14、 格式 OptionBaseN功能 指定数组下标的缺省下界为1 说明 如果不使用该语句 程序默认数组的下标下界为0 OptionBase语句在程序中只能使用一次 使用时必须把它放在数组定义之前才起作用 5 4 2静态数组的定义 3 As数据类型 项 用来说明数组的类型 类型可以是 整型Integer长整型Long单精度Single双精度Double字符串型String用户定义型 4 DIM语句中的下标可以是常数 变量或表达式 下标全为常数称为静态数组 即数组大小在编译时是确定的 下标中有变量则称为动态数组 数组的大小是可变的 只有在程序运行时 变量有确定的值后 数组的大小才确定 5 数组必须先
15、定义 后使用 6 当用Dim语句定义数组时 该语句把数值数组中的全部数组元素都初始化为0 而把字符串数组中的全部元素都初始化为空字符串 5 4 2静态数组的定义 例如 DimA 4 AsString定义了类型为字符型的一维数组A 共有5个元素 A 0 A 1 A 2 A 3 A 4 DimB 1 3To5 AsInteger定义了一个整型的二维数组 共有6个元素 B 0 3 B 0 4 B 0 5 B 1 3 B 1 4 和B 1 5 DimS 5To5 2To10 AsString 20定义S是一个定长字符串组成的二维数组 下标范围是5 5 2 10 每个数组元素的字符串长度是20 DimX
16、 10 AsInteger定义了数组X 有11个元素X 10 100对X 10 这个数组元素赋值为100 5 4 3数组下标界的测试函数 有时需要知道数组的上界值和下界值 这可以通过LBound和UBound函数来测试 格式 LBound 数组名 维 格式 UBound 数组名 维 功能 LBound函数返回一个数组中指定维的下界 UBound函数返回一个数组中指定维的上界 例5 22 测试三维数组的每维的下界和上界的大小 5 4 4动态数组的定义 格式 ReDim 数组名 下标 As 类型 功能 改变动态数组的大小和存储空间 说明 例如 DimA 20 20 20 ReDimA 10 10 10 重新定义动态数组A的空间 ReDimA 5 5 5 再重新定义动态数组A的空间此程序是采用动态数组 能根据应用的情况确定数组的大小 因此编写的程序有更强的实用性和通用性 5 4 5数组的清除和重新定义 在一个程序中 同一数组只能用Dim语句定义一次 但有时可能需要清除数组的内容或对数组重新定义 这可以用Erase语句来实现 格式 Erase 数组名 数组名 功能 用于重新初始化静态数组的元素