【VB开源代码栏目提醒】:网学会员VB开源代码为您提供第4章 VB.NET程序流程控制 - 大学课件参考,解决您在第4章 VB.NET程序流程控制 - 大学课件学习中工作中的难题,参考学习。
第4章
VB.
NET程序流程控制4.1 选择结构程序设计4.2 循环结构程序
设计4.3 实践检验第4章
VB.NET程序流程控制本章知识点: 单行结构、块结构If语句 多分支结构语句 For-Next语句、Do...Loop语句 4.1 选择结构程序设计 选择结构可使程序在不同的条件下选择执行不同的程序段。
4.1.1单行结构条件语句 单行结构条件语句是指简单的行If语句。
1 单行结构If语句的格式 If〈条件〉Then 〈语句体1〉 Else〈语句体2〉 2 说明 -- 〈条件〉是一个逻辑表达式,或表达式的数据类型是某种可隐式转换为 Boolean 的数据类型。
程序根据这个表达式的值(True或False)执行相应的操作。
-- 若〈条件〉为真,则执行〈语句体1〉。
否则,若存在Else子句,则执行〈语句体2〉。
-- 〈语句体1〉和〈语句体2〉可以是一个语句,也可以是用冒号分割的多个语句。
-- 单行结构If语句一般不提倡编写得太复杂。
-- Else〈语句体2〉 子句省略时,If语句简化为: If〈条件〉Then 〈语句1〉 例如: If My.Computer.Clock.LocalTime.DayOfWeek DayOfWeek.SaturdayOr _ My.Computer.Clock.LocalTime.DayOfWeek DayOfWeek.Sunday Then_ MsgBoxHappy Weekend 如果当天是星期六或星期日,则会显示一个消息框,通知您HappyWeekend,否则不会显示消息框。
如果语句改为: If My.Computer.Clock.LocalTime.DayOfWeek DayOfWeek.SaturdayOr _ My.Computer.Clock.LocalTime.DayOfWeek DayOfWeek.Sunday Then_ MsgBoxHappy Weekend Else MsgBoxHappy Workday
程序运行效果会有所不同:如果当天是星期六或星期日,则会显示一个消息框,通知您 Happy Weekend,否则显示第二个消息框,通知您HappyWorkday。
在上面的示例中您可能已注意到:If...Then 语句使用 Or 运算符计算多个条件(“当天是星期六Or 当天是星期日”)。
在单个 If...Then 语句中,您可以使用Or和And逻辑运算符计算您所需的尽可能多的条件。
4.1.2 块结构条件语句 与单行条件语句相比,块结构条件语句有很多优点。
例如,块形式比单行形式提供了更好的结构和灵活性,它允许条件分支跨越数行。
同时,用块形式可以测试更复杂的条件。
块形式使程序的结构按逻辑来引导,而不是把多个语句放在一行中。
此外,使用块形式的程序一般容易阅读、维护和调试。
任何单行形式的条件语句都可以改写成块形式。
1 块结构If语句的格式 If<条件1>Then <语句体1> 〔ElseIf<条件2>Then <语句体2>〕 〔ElseIf<条件3>Then <语句体3>〕 ┇ 〔Else <语句体n>〕 End If 2 格式说明 <条件1>为真,则执行<语句体1>,否则依次测试每个ElseIf语句,若发现某个ElseIf语句的条件为真,则执行相应的语句;若所有的条件都为假且存在Else子句,则执行Else后的<语句体n>。
如果没有ElseIf子句,则块结构If语句变为: If<条件1>Then <语句体1> 〔Else <语句体n>〕 End If 对上述语句,若<条件>为真,则执行<语句体1>,块If语句结束。
否则执行Else子句。
若省略Else子句,块形式的条件语句简化为: If<条件>Then <语句体1> End If 例如 If C 0 Then Console.WriteLine (输入的数据平方值为:0 x x) Else Console.WriteLine(输入的数据不能小于0) End If End IfEnd Sub 4.1.3 IIf函数 对于简单的行If语句,可以用更简单的IIf函数代替。
1 IIf函数的格式 IIf(<条件表达式>,<真部分>,<假部分>) 2 说明 当<条件表达式>的值为真,则函数返回<真部分>的值,否则,函数返<假部分>的值。
<真部分>及<假部分>可以是表达式、变量或其他函数。
IIf函数可直接参与另一个表达式的计算。
注意:IIf函数中的3个参数都不能省略,而且要求<真部分>,<假部分>及结果变量的类型一致。
例如,假定有如下的条件语句: If a 5 Then r1 Else r2 End If 则可用下面的IIf函数来代替: r IIfa 5 1 2 显然,用IIf函数可以使程序大为简化。
再如: Private Sub Form1_Load Dim X As Single Y As Single X InputBoxinput x 3 Console.WriteLine y0 IIfX 5 X X X / 2 End Sub 4.1.4 多分支结构 在
VB中,多分支结构程序通过Select Case语句来实现。
该语句以SelectCase开头,以End Select结束。
其功能是,根据<测试条件>表达式的值,从多个case子句中选择符合条件的一个子句执行。
– 语句格式 Select Case<测试条件> 〔Case<表达式表1>〕 〔<语句体1>〕〕 〔Case<表达式表2>〕 〔<语句体2>〕〕 ┅ 〔Case Else 〔<语句体n>〕〕 End Select 2 说明 -- <测试条件>是任何数值表达式或字符串表达式。
-- <表达式表>中有值与<测试条件>匹配时,执行该Case子句下的<语句体>,执行完该<语句体>后跳出End Select子句。
-- <测试条件>与所有Case子句中的<表达式表>都不匹配时,执行Case Else下的<语句体n>。
如果没有Case Else语句,则退出Select Case结构,程序会从End Select之后的语句继续执行。
-- 在Case子句中,为必要参数,是由一个或多个表达式组成的列表,若有多个,则每两个之间用逗号分隔。
Case子句中的是如表4-1所示形式表达式的
列表。
执行Select Case语句时,首先计算Select Case语句中<测试条件>的值,然后从第一个Case开始找满足该值的Case子句,遇到第一个表达式列表值与测试表达式相匹配的Case子句,则执行其下的语句体,然后停止测试,跳出Select Case结构。
Case Else子句用于指明,当测试条件和所有的Case子句中的值都不匹配时,则会执行该子句下的语句。
如果没有Case值匹配测试条件,而且也没有Case Else语句,则退出Select Case结构,程序会从EndSelect之后的语句继续执行。
4.1.5 举例 例4-1 行If语句的使用。
输入x,计算y的值,其中: 1x x≥0 y 1-2x x 0 And t 20, 则输出信息“Input toolong”;如果n 4,则输出信息“Input too short”;如果t是数字字符或下画线字符,则输出信息“Cant start with a numeric or underline”;如果输入数据符合要求,则输出信息“strings length”。
若程序运行后,输入字符串为“abc_deg”,则输出结果为“stringslength7”。
若程序运行后,输入字符串为“8abc_de”,则输出结果为“Cant startwith a numeric or underline”。
若程序运行后,输入字符串为“8ab”,则输出结果为“Input too short”。
程序中的条件表达式t 0 And t ASC0 and ASCt