vb第4章1选择结构程序设计概要

上传人:今*** 文档编号:108093360 上传时间:2019-10-22 格式:PPT 页数:71 大小:405KB
返回 下载 相关 举报
vb第4章1选择结构程序设计概要_第1页
第1页 / 共71页
vb第4章1选择结构程序设计概要_第2页
第2页 / 共71页
vb第4章1选择结构程序设计概要_第3页
第3页 / 共71页
vb第4章1选择结构程序设计概要_第4页
第4页 / 共71页
vb第4章1选择结构程序设计概要_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《vb第4章1选择结构程序设计概要》由会员分享,可在线阅读,更多相关《vb第4章1选择结构程序设计概要(71页珍藏版)》请在金锄头文库上搜索。

1、第4章 选择结构程序设计,41 选择结构概念 对给定的条件进行分析、比较和判断,来采取不同的操作。,42 条件表达式,条件表达式分为两类: 关系表达式和布尔表达式 取值为布尔值:真(True)或假(False) 将布尔值转换成数值: True的值等于-1,False的值等于0,4.2.1 关系运算符与关系表达式,1关系运算符(比较运算符) VB提供的关系运算符有以下6种,如表4-1所示。 说明: (1)关系运算符两侧可以常量、变量或函数表达式(数值、字符型或日期型),但其两侧的数据类型须一致,否则进行强制转换。,表4-1关系运算符,运算符 名 称 例 子 小于 “3”4 值为:True,强制转

2、换为数值型 小于或等于 34 值为:True 大于 0(10) 值为:True,强制转换为数值型 = 大于或等于 “aa“= “ab“ 值为:False = 等于 1= True 值为:False,强制转换为数值型 不等于,2关系表达式 用关系运算符将两个表达式连接起来的式子(例如 ab0) 格式为: (表达式1)(关系运算符)(表达式2)(关系运算符)(表达式3),说明:,(1)先分别求出关系运算符两侧表达式的值,然后进行比较。 (2)数值型数据按数值大小比较。 (3)日期型数据将日期看成“yyyymmdd”的8位整数,按数值大小比较。 (4)字符型数据按其ASCII码值进行比较。 英文与汉

3、字按字典序依次增大: ”空格”0”9”A”Z”a”z”任何汉字”,4.2.2 布尔运算符与布尔表达式,较复杂的条件,须使用布尔表达式。 用布尔运算符连接的表达式称布尔表达式。 如不等式:axb可以表示为:ax And xb 布尔表达式的值也是一个布尔值。 VB提供的常用的布尔运算符有:And、Or、Not 3种,如表4-2所示。 说明: (1)布尔运算真值表如表4-3所示,表4-2 布尔运算符,运算符 名 称 例 子 And 与 (45) And(34) 值为:False 两个表达式的值均为真,结果才为真否则为假 or 或 (45) Or (34) 值为:True 两个表达式中只要有一个值为真

4、,结果就为真, 只有两个表达式的值均为假,结果才为假 Not 非 Not(10) 值为:False 由真变假或由假变真,进行取“反”操作,表4-3 布尔运算真值表,a b a And b a Or b Not a True True True True False True False False True False False True False True True False False False False True 运算顺序(见P67表4-4): 算术运算字符串运算(&) 关系运算布尔运算 布尔运算: Not And Or,表4-4 运算符的忧先顺序 优先顺序 运算符类型 运算符

5、 1 算术运算符 (指数运算) 2 - (负数) 3 + 、/(乘法和除法) 4 (整数除法) 5 Mod(求模运算) 6 、(加法和减法) 7 字符串运算符& (宇符串连接) 8 关系运算符 = 、 9 布尔运算符 Not 10 And 11 Or ,【例 4-1: 235 And 53 结果为:False Not 53 And 6*2102 结果为:True 55 Or 4* 77 结果为:True 设变量 x4,y1,a7.5,b6.2,求表达式 xyab And NOt yb的值。,判断闰年,【例4-2】判断某个年份是闰年的根据是年份数满足下述条件之一。 (1)能被4整除,但不能被10

6、0整除的年份都是闰年。 (2)能被100整除,又能被400整除的年份都是闰年。 设变量y表示年份,判断y是否闰年的布尔表达式。 条件(l)的布尔表达式是: y Mod 40 And y Mod 1000 条件(2)的布尔表达式是: y Mod 1000 And y Mod 4000 两者取“或”,即得判断闰年的布尔表达式,4.3 单条件选择语句IF,所给定条件(条件表达式)的值如果为真,则执行a1 块:如果为假则执行a2 块。 图4l 单条件选择结构的流程图,431 单行IF语句,格式为 If Then Else 说明: (1) 可以是: 关系表达式 布尔表达式 数值表达式,非0值为真,0为假

7、。 (2)如果没有 Else子句, 为必要参数。 【例 4-3】输入 x,计算 y的值。其中:,设计步骤如下: (1)建立应用程序用户界面与设置对象属性。如图43所示。 (2)编写程序代码。 根据流程图,可以写出命令按钮Command1 的单击 (Click)事件代码为 Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Textl.Text) If x =0 Then y= l + x Else y= l - 2 * x Text2.Text = y End Sub,【例4-4学校对学习成绩优良的学生进行奖励,获

8、奖的条件如下: (1)所考5门课的总分超过450分。 (2)每门课的成绩都在88分以上。 (3)前3门(主课)的成绩都在95分以上,其他两门(非主课)的成绩都在80分以上。 输入某学生5门课的成绩S1、S2、S3、S4、S5,判断他是否能够获奖。 (l)T1: s1 + s2 + s3 + s4 + s5 = 450 (2)T2: sl = 88 AND s2 = 88 AND s3 = 88 AND s4 = 88 AND s5 = 88 (3)T3:sl = 95 AND s2 = 95 AND s3 = 95 AND s4 = 80 AND s5 = 80 分析:依题意列出3个条件表达式

9、的关系为OR,设计步骤如下: (1)建立应用程序用户界面与设置对象属性,如图45所示。 (2)编写程序代码。 Commandl的单击(Click)事件代码为: Private Sub Command1_Click() Dim s1 As Single, s2 As Single, s3 As Single, s4 As Single, s5 As Single Dim p As String sl = val(InputBox(“请输入第1门课的成绩:“,“输入框“,0) s2 = Val(InputBox(“请输入第2门课的成绩:“,“输入框“,0) s3 = Val(InputBox(“请

10、输入第3门课的成绩:“,“输入框“,0),s4 = Val(InputBox(“请输入第4门课的成绩:“,“输入框“,0) s5 = Val(InputBox(“请输入第5门课的成绩:“,“输入框“,0) tl = (sl + s2 + s3 + s4 + s5 = 450) t2 = (sl = 88 And s2 = 88 And s3 = 88 And s4 = 88 And s5 = 88) t3 = (sl = 95 And s2 = 95 And s3 = 95 And s4 = 80 And s5 = 80) If t1 Or t2 Or t3 Then p =“可以获奖!“ E

11、lse p =“不能获奖!“ p = Str(s1) &,“,“ & Str(s2) &“,“ & Str(s3) & “,“ & Str(s4) & “,“ & Str(s5) & Chr(l3)& p Label1.Caption = “ 该生五门课的成绩分别是:“ & Chr(l3) & p End Sub,4.3.2 使用IIf函数,比较简单的选择结构。 格式为: IIf(,(真部分),(假部分) 说明: (l)then y=(真部分)ELSE y=(假部分),【例4-6】例4-3中命令按钮Command1的单击(Click)事件代码可以改为 Private sub commandl_

12、click() Dim x As Single, y As Single x = Val(Text1.Text) y =IIf(x=0, 1 + x, 1 - 2 * x) Text2.Text = y End Sub,43. 3 块IF语句,当Then部分和 Else部分包含较多内容时需要块If语句. 其语法结构为 If(条件1)Then 语句列1 Else 语句列2 End If,说明:,(1)在块If语句必须在Then后换行,If块必须以一个End If语句结束。 (2)Else子句是可选的。 ELSE和“语句组2”可以写在一行上。,【例47】将例4-3中命令按钮Command的单击(C

13、lick)事件代码改为多行If语句: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x = 0 Then y = 1 + x Else y = 1 - 2 * x End If Text2.Text = y Eud Sub,434 IF语句的嵌套,1IF语句的嵌套 如果在If语句中操作块a1 块(语句列1)或a2块(语句列2)本身又是一个If语句,则称为If语句的嵌套。,符号函数SGN(X) 1 (x 0) Y= 0 (X =0) -1 (X 0),Private Sub Command1_Click() a = InputBox(“请输入x的值:“, _ “求符号函数sgn(x)的值“, “) If a 0 Then y = 1 Else If a 0 Then y = -1 Else y = 0 End If End If Print y End Sub

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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