第了 本章的学习要点 If语句的分类 If…Then结构 If…Then…Else结构 令多分支If结构:If…Then…E1eIf和If嵌套语句 Select case结构
第7章 选择结构 本章的学习要点 ❖If语句的分类 ❖If…Then结构 ❖If…Then…Else结构 ❖多分支If结构:If…Then…ElseIf和If嵌套语句 ❖Select Case结构
7.1If语句 If语句可以分为如下几类: If.Then结构 If. Then. Else结构 If语句 I函数 If. Then.. Elself结构 多分支结构 If嵌套
7.1 If语句 ❖If语句可以分为如下几类: If语句 If…Then结构 IIf函数 多分支If结构 If…Then…ElseIf结构 If嵌套 If…Then…Else结构
7.1If语句 今If语句 If…Then结构 If表达式Then 语法格式: 语句块 If表达式Then语句块 End if 功能:如果表达式的值为真(True),执行Then后的语句块内容;否 则不执行语句块内容。 说明: 表达式可以是:关系表达式、逻辑表达式、算术表达式。若为算 术表达式,值为0则为假,非0则为真。 如果是单行I格式,所有的代码必须写在同一行中,绝对不能换 行。如果是块If语句,各语句块必须独占一行, End If不能省略。 语句块若是一条语句,可用单行If结构;为多条语句,则采用块 If结构较好。当然也可以采用单行If格式,这时各语句必须在同 行中且用":"分隔,且不能出现 End if
❖If语句 ▪ If…Then结构 • 语法格式: • 功能:如果表达式的值为真(True),执行Then后的语句块内容;否 则不执行语句块内容。 • 说明: –表达式可以是:关系表达式、逻辑表达式、算术表达式。若为算 术表达式,值为0则为假,非0则为真。 –如果是单行If格式,所有的代码必须写在同一行中,绝对不能换 行。如果是块If语句,各语句块必须独占一行,End If不能省略。 –语句块若是一条语句,可用单行If结构;为多条语句,则采用块 If结构较好。当然也可以采用单行If格式,这时各语句必须在同 一行中且用" : "分隔,且不能出现End If。 If 表达式 Then 语句块 End If If 表达式 Then 语句块 7.1 If语句
7.1If语句 例7.1输入两个数,输出较大的数。 分析: 本题由用户输入两个数,经计算机判断后将较大 数输出,即有两个输入量和一个输出量。所以需 要两个文本框接受用户输入,可以采用标签框来 实现数据的输出。 界面设计:c敏大值 回 请输入数1: 请输入数2: 较大值 退出
例7.1 输入两个数,输出较大的数。 ▪ 分析: • 本题由用户输入两个数,经计算机判断后将较大 数输出,即有两个输入量和一个输出量。所以需 要两个文本框接受用户输入,可以采用标签框来 实现数据的输出。 ▪ 界面设计: 7.1 If语句
7.1If语句 例 对象 属性 属性值 Name Label1 Label Caption 请输入数1 Name abe Label Caption 请输入数2 Name Label Label Caption 空白 Back Color 粉红色 Name Text1 TextBox Text 空白 Name Text2 TextBox Text 空白 Name Command1 CommandButton Caption 较大值 Name Command2 CommandButton Caption 退出
例7.1 输入两个数,输出较大的数。 ▪ 属性设置: 对象 属性 属性值 Label Name Label1 Caption 请输入数1: Label Name Label2 Caption 请输入数2: Label Name Label3 Caption 空白 BackColor 粉红色 TextBox Name Text1 Text 空白 TextBox Name Text2 Text 空白 CommandButton Name Command1 Caption 较大值 CommandButton Name Command2 Caption 退 出 7.1 If语句
7.1If语句 「例7.1输入 开始 编写代码 Private sub comm dim max as single Dim max As single Dim min As Single t max=Val(TextIText min= Val(Text2 Text) If max min then max min Label. Caption=”较大值为&mmx End sub 注意: 令块if语句中的 end if能否省略? 将块if语句改为单行i语句怎么改?
例7.1 输入两个数,输出较大的数。 ▪ 编写代码: Private Sub Command1_Click() Dim max As Single Dim min As Single max = Val(Text1.Text) min = Val(Text2.Text) If max < min Then max = min End If Label3.Caption = "较大值为" & max End Sub F T max=min max<min? 开始 dim max as single dim min as single max=val(text1.text) min=val(text2.text) 结束 注意:Label3.Caption = "较大值为" & max 块if语句中的end if能否省略? Dim max As Single Dim min As Single max = Val(Text1.Text) min = Val(Text2.Text) If max < min Then max = min Label3.Caption = "较大值为" & max 注意: 块if语句中的end if能否省略? 将块if语句改为单行if语句怎么改? If max < min Then max = min 7.1 If语句
7.1If语句 今If语句 If…Then…Else结构 If表达式Then ·语法格式 语句块1 If表达式Then语句块1Else语句块2 Else 语句块2 End If 功能:该结构用于解决二选一"的问题。当表达式的值为真,执 行语句块1的语句内容;否则执行语句块2的语句内容。 说明: 表达式最终的值必须为逻辑值,即取值为真或假。 若语句块1和语句块2都是单条语句,可采用单行If格式,否 则采用块If语句。 跟If…Then不同,该结构中即使表达式值为假,也有语句 块2的内容可被执行
❖If语句 ▪ If…Then…Else结构 • 语法格式: • 功能:该结构用于解决"二选一"的问题。当表达式的值为真,执 行语句块1的语句内容;否则执行语句块2的语句内容 。 • 说明: –表达式最终的值必须为逻辑值,即取值为真或假。 –若语句块1和语句块2都是单条语句,可采用单行If格式,否 则采用块If语句。 –跟If …Then 不同,该结构中即使表达式值为假,也有语句 块2的内容可被执行。 If 表达式 Then 语句块1 Else 语句块2 End If If 表达式 Then 语句块1 Else 语句块2 7.1 If语句
7.1If语句 「例7.2编写一个程序,实现当用户输入的用户名和口令 都正确时显示"欢迎登录"的消息对话框,当用户名或口令 有错误时显示消息对话框报告错误。 分析 本题需要两个文本框分别保存用户输入的用户名和口 令,一个"登录″按钮,一个"退出按钮。当输入的用户 名和口令国登录 回x,当不相符时 显示"非氵 Else结构来 实现。 用户名: 界面设计: 口令 登录 退出
例7.2 编写一个程序,实现当用户输入的用户名和口令 都正确时显示"欢迎登录"的消息对话框,当用户名或口令 有错误时显示消息对话框报告错误。 ▪ 分析: 本题需要两个文本框分别保存用户输入的用户名和口 令,一个"登录"按钮,一个"退出"按钮。当输入的用户 名和口令与正确的相符时显示"合法用户",当不相符时 显示"非法用户",所以应当采用If…Then…Else结构来 实现。 ▪ 界面设计: 7.1 If语句
7.1If语句 「例7.2编写一个程序,实现当用户输入的用户名和口令 都正确时显示"欢迎登录"的消息对话框,当用户名或口令 有错误时显示消息对话框报告错误。 编写代码: 用户名和口 F 令正确吗? If user =SYL And psw="123456″Then MsgBox("欢迎您登录本系统!") Else MsgBox("您的用户名或口令有误,请重新输入!") End if
7.1 If语句 例7.2 编写一个程序,实现当用户输入的用户名和口令 都正确时显示"欢迎登录"的消息对话框,当用户名或口令 有错误时显示消息对话框报告错误。 ▪ 编写代码: Private Sub Command1_Click() Dim user As String Dim psw As String user = Text1.Text psw = Text2.Text End Sub T 用户名和口 F 令正确吗? 显示"欢迎" 消息框 显示"错误" 消息框 If user ="SYL" And psw = "123456" Then MsgBox ("欢迎您登录本系统!") Else MsgBox ("您的用户名或口令有误,请重新输入!") End If
7.1If语句 今If语句 IIf函数 语法格式: IIf(条件,表达式1,表达式2) If user="SYL And psw=123456"Then 否则返回表 MSgBox("正确!") 省略。 Else MsgBox("错误!") 量,不可以单 End If “Yes 1Ty、 τ了 <AT 57 ‘”其他 Msg Box llf(user="SYL" And psw="123456′,"正确!","错误! IIf(user="SYL" And psw="123456”, Msg Box("正确!"),MsgB0x("第/ 这样写对吗?
❖If语句 ▪ IIf函数 • 语法格式: • 功能:当条件为真(True),该函数返回表达式1的值,否则返回表 达式2的值。其中,函数的三个参数都是必须的,不可省略 。 • 说明: –在使用IIf函数时,必须将其返回值赋值给一个变量,不可以单 独调用。如上面的代码不可以写成:IIf(x = 1, “Yes”, “No”),需为:a = IIf(x = 1, “Yes”, “No”),或作为其他 函数的参数。 –在使用IIf函数时,第2和第3个参数必须只能为一条语句,而且 必须是有返回值的,这是IIf函数跟If…Then…Else结构的不同 之处。 IIf(条件, 表达式1, 表达式2) If user ="SYL" And psw = "123456" Then MsgBox ("正确!") Else MsgBox ("错误!") End If MsgBox IIf(user = "SYL" And psw = "123456", "正确!", "错误!") IIf(user = "SYL" And psw = "123456", MsgBox("正确!"),MsgBox("错误!")) 这样写对吗? 7.1 If语句