资源预览内容
第1页 / 共55页
第2页 / 共55页
第3页 / 共55页
第4页 / 共55页
第5页 / 共55页
第6页 / 共55页
第7页 / 共55页
第8页 / 共55页
第9页 / 共55页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章 程序控制,本章将介绍程序控制语句的基本结构,包括分支语句与循环语句、异常处理语句等,目的是要掌握VB.NET的分支与循环的程序设计。,2.1 关系运算和逻辑运算,2.1.1 关系运算符和关系表达式 1关系运算 关系运算就是关于数据的大小比较的运算,共有6种关系运算,如表2-1所示。,表2-1 关系运算,2关系运算表达式,关系运算符用于连接两个表达式,形成关系运算表达式,例如: a+bc+d ac,2.1.2 逻辑运算符和逻辑表达式,1逻辑运算 逻辑运算是指对逻辑值的运算,主要有“与(And)”、“或(Or)”、“非(Not)”3种运算,VB.NET语言中用And、Or、Not来表示,3种运算的关系如表2-2所示。,表2-2 逻辑运算,在And、Or、Not 3种运算中,非运算Not级别最高,And次之,Or运算级别最低。 例如逻辑式a And b Or Not c是先运算Not c,之后运算a And b,最后运算Or。,非运算作用在And、Or及Not运算中有如下规则: (1)Not(a And b)等价于Not a Or Not b。 (2)Not(a Or b)等价于Not a And Not b。 (3)Not(Not a)等价于a。 这些运算规则十分重要,在将来的程序条件中常常用到。,2逻辑运算表达式,逻辑运算常常与关系运算相组合,形成逻辑运算表达式。,3逻辑运算应用,例2.1 判断一个整数n是否为奇数。 例2.2 判断一年y是否为闰年。 例2.3 判断一个字母c是否为小写字母。,2.2 简单条件语句,2.2.1 简单条件语句 简单条件语句的格式有以下几种: 格式一: If 条件 Then 语句 格式二: If条件 Then 语句 End If,格式三: If条件 Then 语句1 Else 语句2 End IF,2.2.2 简单条件语句的应用 2.2.3 分支语句的嵌套 在If语句的语句块中的语句可以是复合语句,而在复合语句中又可以嵌套另一个If语句,这样可以组成多级的If语句嵌套。,2.3 复杂分支条件语句,2.3.1 复杂分支If语句 复杂分支If条件语句的格式是: If 条件1 Then 语句1 ElseIf 条件2 Then 语句2 ,Else If 条件n Then 语句n Else 语句n+1 End If,2.3.2 复杂分支If语句的应用 2.3.3 Select复杂分支语句 Select语句是复杂分支语句的另外一种形式,格式如下: Select Case 测试表达式 Case表达式列表1 语句1,Case表达式列表2 语句2 Case Else 语句n+1 End Select,其中测试表达式可以是数值类型或字符串类型,表达式列表必须与表达式同数据类型,可以是下列之一:,(1)表达式。 (2)一组用逗号分开的枚举值。 (3)表达式1 To表达式2表示的是一段范围的值(包含边界)。 (4)Is关系运算表达式,Is表示测试表达式。,2.3.4 条件函数,VB.NET中有两个常用的条件函数,一个是IIF,另一个是Choose。 条件函数用于简单的条件选择,IIF是If语句的简化用法,Choose是Select的简单用法。,1IIF条件函数,格式: IIF(条件表达式,表达式1,表达式2) 它的作用是当条件表达式的值为真时,取值为表达式1,否则为表达式2。 例如x,y是两个数,则IIF(xy,x,y)的值就是它们的最大值,IIF(xy,y,x)的值就是它们的最小值。,2Choose条件函数,格式: Choose(整数表达式,表达式1,表达式2,表达式n) 它的作用是表达式的值为1,则返回表达式1的值;表达式的值为2,则返回表达式2的值,表达式的值为n,则返回表达式n的值,如表达式的值小于1或大于n,则返回Nothing。,2.4 Do循环结构,2.4.1 循环语句的引入 2.4.2 Do循环语句 在计算机中很多的程序计算需要重复循环执行,Do循环语句就是满足这种要求的语句,其结构如下: Do While 条件 语句块 Loop,图2-12 Do循环的流程,2.4.3 另一种Do循环语句,另外一种Do循环语句结构如下: Do 语句 Loop While 条件,图2-15 Do循环语句流程,2.4.4 Do循环语句的退出 2.4.5 循环语句的问题 1有限次数的循环 2死循环,2.5 For循环结构,2.5.1 For循环语句 1For循环 For循环语句的一般格式为: For 变量=初始值表达式 To 变量终值表达式 Step 步长 循环语句 Exit For Next,For循环的执行规则是(以步长0为例): (1)当进入For循环时,首先执行变量初始化表达式,接着判断是否超过终值,如超过,则循环一次也不会执行,循环结束。,(2)变量值没有超过终值,则执行循环的语句,循环语句可以是单个语句,也可以是复合语句。如在循环中执行了Exit For语句,则循环退出并结束。 (3)每次执行完一次循环语句,变量的值就按步长增加一个值,返回(2)。,由于循环用的变量决定了循环次数,所以循环变量也称为循环计数器。 当步长为正数时执行逻辑关系如图2-17所示。 当步长为负数时循环过程十分类似,此时循环变量从初值不断减小到终值,当小于终值时循环结束,读者可自行分析其规则。,图2-17 For循环的执行流程,2For循环使用注意事项,(1)当步长0时,只有初值终值时循环是不执行的。例如: Dim n As Integer,s As Integer s=0 For n=10 to 1 Step 2 s=s+n Next Print s 则程序执行后输出的s为0,因为循环未执行。,(2)当步长=终值时循环才执行,初值终值时循环是不执行的。例如: Dim n As Integer,s As Integer s=0 For n=1 to 10 Step -2 s=s+n Next Print s 则程序执行后输出的s为0,因为循环未执行。,(3)在循环中一般不要修改循环变量的值,因为循环变量是控制循环执行次数的,一旦循环变量被修改,循环的次数有时就不好控制了。例如: Dim n As Integer For n=1 To 100 If n mod 2=0 Then n=n+1 Next 这样的循环显然不好计算循环次数。,(4)在循环中要防止永远不会结束的循环,想一想以下循环是否会结束: For n=1 to 10 n=n-1 Next n 这种不能自行结束的循环叫做死循环,程序中不能出现死循环,不然程序不能正常结束,步长不能为0,不然也会出现死循环。,(5)For正常退出后循环变量的值是终值再加步长。例如: For n=1 To 9 Next n,则循环结束后n为10。如用Exit For中途退出,则循环变量的值就是当前循环执行时的值。例如: For n=1 to 9 If n mod 2=0 Then Exit For Next n,则n值是2,因为n=2时,2 mod 2=0由Exit For退出循环。 程序设计中常用判断循环变量最后的值的方法来鉴别循环是否是正常结束的。,2.5.2 For循环的应用 2.5.3 几种循环的比较 从理论上讲,Do循环及For循环都可以互相转换与代替,程序可以根据实际问题的需要来使用什么样的循环。,一般来说,Do循环常用于预先不确定循环次数的循环中,而For循环更适合于预先确定循环次数的循环中。,2.6 循环结构的嵌套,2.6.1 循环结构的嵌套 一个循环的循环语句可以是一个复合语句,在复合语句中又包含一个循环,这样就出现了循环的嵌套。,2.6.2 多循环的规则,多重循环的规则是:只能并列或嵌套,不能出现交叉。 1循环并列 2循环嵌套 3循环交叉 4循环次数,图2-26 循环并列,图2-27 循环嵌套,图2-28 循环交叉,图2-29 多循环的并列与嵌套,2.7 异常处理语句,2.7.1 异常语句的引入 2.7.2 异常语句的结构 Try语句格式如下: Try 语句块1 Catch ex As Exception 语句块2 End Try,图2-33 Try的执行流程,2.7.3 抛出异常的语句,在VB.NET中抛出异常的语句是Throw语句。格式如下: Throw New Exception(异常信息) 其中Throw为抛出语句,New Exception(异常信息)表示建立一个异常类Exception的对象,该对象用指定的字符串设置其Message属性。,2.7.4 异常处理的嵌套,异常处理语句Try与循环语句等一样,可以进行嵌套,例如在一个Try语句的尝试执行代码部分有另外一个Try语句的结构如下:,Try Try Catch ex1 Exception End Try Catch ex2 Exception End Try,2.8 综合实例,本节将通过几个实例来进一步练习与巩固分支语句与循环语句的使用,读者应该认真分析程序的代码,从中领会各个程序设计的思路。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号