1、1,If语句,我们在日常生活中经常需要处理具有两个分支的 问题,例如,如果明天下雨,则在教室内组织活动, 否则去野游。在VB语言中,这类问题需要使用if语句解决,而 条件判断操作通常使用关系表达式或者逻辑表达式。,2,关系运算符和关系表达式,关系表达式用关系运算符将两个表达式(可以是算术表达式或关系表达式, 逻辑表达式,赋值表达式,字符表达式)连接起来的式子,称关系 表达式。例:ab, 12, 3=6。关系表达式的值是一个逻辑值,即 “真”或“假”。 关系运算符 大于= 大于等于 不等于,例:a=3,b=2,c=1,则关系表达式”ab”的值为“真”;而ca的值为“假”。,3,逻辑运算符和逻辑表
2、达式,逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑 表达式。逻辑表达式的值是一个逻辑值,即“真”或“假”。逻辑运算符and 与or 或 not 非例:1=2 and 31 值为“假”,4,if语句编程示例,例1:编写程序,判断输入的整数是否为6,若是,显示“Right!”和“Great!”,否则显示“Wrong!”和“Sorry!”,5,if语句编程示例,例1:编写程序,判断输入的整数是否为6,若是,显示“Right!”和“Great!”,否则显示“Wrong!”和“Sorry!” Dim a As Integer a = Val(InputBox(“请输入数值“) If
3、a = 6 ThenMsgBox “right!“MsgBox “great!“ ElseMsgBox “wrong!“MsgBox “sorry!“ End If,6,if语句编程示例,例2: 输入两个实数,按由小到大的顺序输出这两个数。Dim a As Integer Dim b As Integer Dim t As Integer a = Val(InputBox(“请输入第一个数“) b = Val(InputBox(“请输入第二个数“) If a b Thent = aa = bb = t End If MsgBox Str(a) & Str(b),7,if语句编程示例,例3: 输
4、入三个数a,b,c,要求按由小到大的顺序输出,If ab 将a和b对换 If ac 将a和c对换 If bc 将b和c对换,8,if语句编程示例,例3: 输入三个数a,b,c,要求按由小到大的顺序输出 Dim a As Integer Dim b As Integer Dim c As Integer Dim t As Integer a = Val(InputBox(“请输入第一个数“) b = Val(InputBox(“请输入第二个数“) c = Val(InputBox(“请输入第三个数“) If a b Thent = aa = bb = t End If If a c Thent
5、= aa = cc = t End If If b c Thent = bb = cc = t End If MsgBox Str(a) & Str(b) & Str(c),9,if语句的嵌套,if语句的嵌套 在if语句中又包含一个或多个if语句称为if语句的嵌套。 一般形式: If 条件表达式 thenif 条件表达式 then语句1else 语句2End If Elseif 条件表达式 then语句1else 语句2End If End If,内嵌if,内嵌if,匹配规则: if与else的配对关系:else总是与它上面的最近的未配对的if配对。,10,if语句的嵌套,-1 (x0) 算法
6、1(多分支条件): 算法2(嵌套):输入x 输入x若x0,则y=1 若x=0,则y=0输出y 若x0,则y=1输出y,11,if语句的嵌套,算法2: Dim x As Integer Dim y As Integer x = Val(InputBox(“请输入数值“) If x 0 Theny = -1 ElseIf x = 0 Theny = 0Elsey = 1End If End If MsgBox y,12,多分支条件语句练习,1.编写事件过程,使用输入语句接收托运行李的重量,计算托运 行李收费:托运行李重量=80分奖学金等级1。,13,循环结构语句,在许多问题中需要用到循环控制。循环
7、结构是结构化程序 设计的基本结构之一,它和顺序结构、选择结构共同作为各种 复杂程序的基本构造单元。循环结构的特点是, 在给定条件成立时,反复执行某程序 段,直到条件不成立为止。 给定的条件称为循环条件,反复执 行的程序段称为循环体。,14,循环结构语句,VB语言提供了三种循环语句,可以组成各种不同形式的循环结构,它们是: For Next循环Do Loop循环While wend循环,15,fornext语句,ForNext循环结构:将一段程序重复执行指定的次数。 格式:For 循环变量=初值 To 终值 Step 步长循环体Exit ForNext 循环变量 功能:执行For语句时,“循环变
8、量”设为“初值”;执行到Next语句时,步长加(减)到循环变量上;再执行For语句时,若“循环变量”超过“终值”则循环结束。 步长:未指定值时默认为1。 若“步长”是正数或0,则“初值”应大于等于“终值”,否则,“初值”应小于等于“终值”。,16,fornext语句,例1:For x= l To l00 Step 2s = s + xIf s 50 Then Exit ForNext例2:计算100以内自然数的和:S=1+2+3+4.+100。 Dim sum As Integer, i As Integer For i = 1 To 100 Step 1sum = sum + i Next
9、i MsgBox sum想一想:计算=1+3+5+799或2+4+6+8100 如何编写?,17,fornext语句,例3: 计算累乘6!=1*2*6 方法:接收一个累乘的终值,确定一个循环变量,循环变量有2个作用(乘数和循环变量),确定一个存储累乘积的变量。使用循环计算,最后输出显示结果。 Dim s As Integer, i As Integer s = 1 For i = 1 To 6s = s * i Next MsgBox s 例4:程序 S=1*2*3*4X:Dim S As integer, I As integerx = InputBox(“请输入累加的终值“) S=1 For I = l To x S=S*INext 注意:累乘的乘数和乘积变量的初值为1。,18,fornext语句,例5:计算1+2+3+n 例6:计算1*2*3*n,