Visual Basic程序设计 教学课件 ppt 作者 刘瑞新 VB5

上传人:E**** 文档编号:89183848 上传时间:2019-05-20 格式:PPT 页数:29 大小:216KB
返回 下载 相关 举报
Visual Basic程序设计 教学课件 ppt 作者 刘瑞新 VB5_第1页
第1页 / 共29页
Visual Basic程序设计 教学课件 ppt 作者 刘瑞新 VB5_第2页
第2页 / 共29页
Visual Basic程序设计 教学课件 ppt 作者 刘瑞新 VB5_第3页
第3页 / 共29页
Visual Basic程序设计 教学课件 ppt 作者 刘瑞新 VB5_第4页
第4页 / 共29页
Visual Basic程序设计 教学课件 ppt 作者 刘瑞新 VB5_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Visual Basic程序设计 教学课件 ppt 作者 刘瑞新 VB5》由会员分享,可在线阅读,更多相关《Visual Basic程序设计 教学课件 ppt 作者 刘瑞新 VB5(29页珍藏版)》请在金锄头文库上搜索。

1、本章主要内容: 条件表达式 单条件选择语句 多条件选择语句 计时器控件 单选钮和复选框控件,第5章 选择结构设计,5.1 条件表达式 在条件语句中作为判断依据的表达式称为“条件表达式”,条件表达式的取值为布尔值:真(True)或假(False)。在VB表达式中,True的值等于1,False的值等于0。 根据“条件”的简单或复杂程度,条件表达式可以分为两类:关系表达式与布尔表达式。 5.1.1 关系运算符与关系表达式 1. 关系运算符 关系运算符的作用是对两个表达式的值进行比较,若关系成立,则返回True,否则返回False。VB提供了6种关系运算符,见表5-1。,表5-1 关系运算符,说明:

2、 关系运算符两侧可以是数值表达式、字符型表达式或日期型表达式,也可以是作为表达式特例的常量、变量或函数。但其两侧的数据类型必须完全一致。 关系运算符的运算级别相同。,2. 关系表达式 关系表达式是指用关系运算符将两个表达式连接起来的式子(例如2 * 3 2 + 3),关系表达式的格式为: 表达式1 关系运算符 表达式2 说明: 关系表达式的运算次序为:先分别求出关系运算符两侧表达式的值,然后再把二者进行比较,二者的关系若与关系运算符指示的一样,则关系运算的结果为真True,否则为假False。 数值型数据按其数值大小进行比较。 日期型数据将日期看成“yyyymmdd”的8位整数,按数值大小比较

3、。, 字符型数据按其ASCII码值进行比较。在比较两个字符串时,首先比较两个字符串的第一个字符,其中ASCII码值较大的字符所在的字符串大。如果第一个字符相同,则比较第二个,依此类推。 常见字符值的大小如下: “空格“ “0“ “9“ “A“ “Z“ “a“ “z“ “任何汉字“ 不要对单精度数或双精度数进行等于“=”比较,例如:1.0/3.0*3.0=1.0 在数学上该表达式为恒等式。但由于计算机运算时的浮点误差,将造成不相等。 数学不等式2x3,在VB中不能写成2=x=3。,5.1.2 布尔运算符与布尔表达式 布尔表达式是指用布尔运算符连接若干关系表达式或布尔值而组成的式子。如不等式2x3

4、可以表示为2 = x And x = 3。布尔表达式的值也是一个布尔值。 常用的布尔运算符有:And、Or、Not等3种,见表5-2。 表5-2 布尔运算符,说明: 布尔运算符两侧若有数值数据出现,则将数值数据转换为二进制数(补码形式)进行按位运算。此时,1为真,0为假。 布尔运算真值表见表5-3。,表5-3 布尔运算真值表,例如: 1 +2 4 And 6 = 2 Or 3 * 2 5 结果为:True 关系表达式绝不能比较布尔型数据!例如,假设Yn为布尔型变量,下面写法是错误的: Yn = True,5.1.3 运算符的优先顺序 在一个表达式中进行多种操作时,VB会按一定的顺序进行求值,称

5、这个顺序为运算符的优先顺序。 运算符的优先顺序见表5-4。,说明: 同级运算按照从左到右出现的顺序进行计算。 可以用括号改变优先顺序,强制表达式的某些部分优先运行。 括号内的运算总是优先于括号外的运算,在括号之内,运算符的优先顺序不变。,表5-4 运算符的优先顺序,【例5-1】写出VB表达式2 + 3 1 + 4 And Not 6 5 And Not 6 8 关系运算: False And Not True 非运算: False And False 结果: False,【例5-2】根据下列所给条件,写出VB布尔表达式: 一元二次方程ax2 + bx + c = 0有实根的条件为:a 0,并且

6、b2 - 4ac 0。 闰年的条件是:年号(year)能被4整除,但不能被100整除;或者能被400整除。 分析: 一元二次方程ax2 + bx + c = 0有实根的条件有两个,即a 0和b2 - 4ac 0。 a 0用VB表达式表示为a 0;b2 - 4ac 0用VB表达式表示为b2 4 * a * c = 0。 两者是逻辑与And的关系,用And连接上面的两个式子,结果为: a 0 And b2 4 * a * c = 0 设变量y表示年份,被某个数整除,可以用数值运算符Mod或Int()函数来实现。 能被4整除,但不能被100整除的表达式为y Mod 4 = 0 And y Mod 1

7、00 0;能被400整除的表达式为y Mod 400 = 0。 两者取“或”,即可得出判断闰年的布尔表达式: (y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0) 用Int()函数表示为: (Int(y/4) = y/4 And Int(y/100) y/100) Or (Int(y/400) =y/400),5.2 单条件选择语句If 5.2.1 单行结构条件语句IfThenElse 单行条件语句比较简单,其语法格式为: If 条件 Then 语句1 Else 语句2 说明: 条件可以是关系表达式、布尔表达式或数值表达式。如果以数值表达式作条件,则

8、非0值为真,0为假。 如果没有Else子句,语句1为必要参数,在条件为True时执行。 【例5-3】 【例5-4】,5.2.2 使用IIf函数 IIf函数的语法结构为: IIf(条件表达式,真部分,假部分) 说明: 条件表达式可以是关系表达式、布尔表达式、数值表达式。如果用数值表达式作条件,则非0为真,0为假。 真部分是当条件表达式为真时函数返回的值,可以是任何表达式。 假部分是当条件表达式为假时函数返回的值,可以是任何表达式。 语句y = IIf(条件表达式,真部分,假部分) 相当于: If 条件表达式 then y=真部分 Else y=假部分 执行IIf函数时,先分别计算真部分和假部分的

9、值,然后根据条件输出结果。例如, y = IIf(x = 0, Sqr(Abs(x) , x),5.2.3 块结构条件语句IfThenElseEnd If 块If语句又称为多行If语句,其语法结构为: If 条件 Then 语句组1 Else 语句组2 End If 说明: 在块形式中,If语句必须是第一行语句。If块必须以一个End If语句结束。 当程序运行到If块时,首先测试条件。如果条件为True,则执行Then之后的语句组1。如果条件为False,并且有Else子句,则程序会执行Else部分的语句组2。而在执行完Then或Else之后的语句列后,会从End If之后的语句继续执行。

10、Else子句是可选的。,【例5-5】将例5-3中命令按钮Command1的单击(Click)事件代码改为多行If语句: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x = 0 Then y = Sqr(x) Else y = -x End If Text2.Text = y Text2.Locked = True End Sub,【例5-6】将例5-4中命令按钮Command1的单击(Click)事件代码改为多行If语句: Private Sub Command1_Click(

11、) Dim x As Single, y As Single x = Val(Text1.Text) y = Val(Text2.Text) If x y Then Label3.Caption = “较大数为“ & Str(y) Else Label3.Caption = “较大数为“ & Str(x) End If End Sub,5.2.4 If语句的嵌套 1. If语句的嵌套 If语句的嵌套是指If或Else后面的语句块中又包含If语句。语句形式如下: If 条件1 Then If 条件2 Then End If End If 【例5-7】 【例5-8】,2. If语句的嵌套格式Els

12、eIf ElseIf的块If语句语法结构为: If 条件1 Then 语句组1 ElseIf 条件2 Then 语句组2 . Else 其他语句组 End If,说明: (1) 在If块中,Else和ElseIf子句都是可选的。可以放置任意多个ElseIf子句,但是都必须在Else子句之前。 (2) 当程序运行到If块时,将测试条件1。如果条件为True,则执行Then之后的语句。如果条件为False,则每个ElseIf部分的条件式(如果有的话)会依次计算并加以测试。如果找到某个为True的条件时,则其紧接在相关的Then之后的语句组会被执行。如果没有一个ElseIf条件为True(或是根本就

13、没有ElseIf子句),则程序会执行Else部分的其他语句组。而在执行完Then或Else之后的语句组后,会从End If之后的语句继续执行。 【例5-9】在例5-8中使用带ElseIf的块If语句来计算出优惠价,只需将其中命令按钮Command1的单击(Click)事件代码改为:,Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x 1000 Then y = x 不打折 ElseIf x 2000 Then y = 0.95 * x 九五折 ElseIf x 3000 Then

14、y = 0.9 * x 九折 ElseIf x 5000 Then y = 0.85 * x 八五折 Else y = 0.8 * x 八折 End If Text2.Text = y Text2.Locked = True End Sub 【例5-10】,5.3 多分支选择语句Select Case Select Case语句的语法格式为: Select Case 测试条件 Case 表达式表1 语句组1 Case 表达式表2 语句组2 . Case Else 其他语句组 End Select,说明: (1)测试条件为必选参数,是任何数值表达式或字符串表达式。 (2) 在Case子句中,表达

15、式表用来测试其中是否有值与测试条件相匹配。Case子句中的表达式表是一个或多个表5-5所示形式的表达式列表。 表5-5 表达式的形式,当使用多个表达式的列表时,表达式与表达式之间要用逗号“,”隔开。 (3)语句组为可选参数,是一条或多条语句,当表达式表中有值与测试条件相匹配时执行。 (4) Case Else子句用于指明其他语句列,当测试条件和所有的Case子句表达式表中的值都不匹配时,则会执行这些语句。虽然不是必要的,但是在Select Case区块中,最好还是加上Case Else语句来处理不可预见的测试条件值。如果没有Case值匹配测试条件,而且也没有Case Else语句,则程序会从End Select之后的语句继续执行。 【例5-11】在例5-8中使用Select Case语句来计算优惠价,只需将其中命令按钮Command1的单击(Click)事件代码改为:,Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) Select Case x C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号