五控制结构

上传人:乐*** 文档编号:117426520 上传时间:2019-12-05 格式:PPT 页数:80 大小:466.50KB
返回 下载 相关 举报
五控制结构_第1页
第1页 / 共80页
五控制结构_第2页
第2页 / 共80页
五控制结构_第3页
第3页 / 共80页
五控制结构_第4页
第4页 / 共80页
五控制结构_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《五控制结构》由会员分享,可在线阅读,更多相关《五控制结构(80页珍藏版)》请在金锄头文库上搜索。

1、主讲:冯主讲:冯 元元 Email: feng.yyy Email: feng.yyy Visual Basic Visual Basic 程序设计程序设计 1 第五章 控制结构 5.1 If语句 5.2 Select Case语句 5.3 Do Loop语句 5.4 ForNext语句 5.5 循环的嵌套 5.6 控制结构的应用 2 5.1 If语句 本节知识点: 单行形式的IfThen语句 块形式的IfThenEndif语句 单行形式的IfThenElse语句 块形式的IfThenElseEndif语句 If语句的嵌套 IfThenElseIfEndif语句 3 5.1 If语句 v程序运

2、行的基本流程: 事件过程:地位平等,那个事件先发生就先 执行那个事件对应的过程。 事件过程内部:由左而右,由上而下依次执 行各个语句,直到整个程序结束,称为顺序 结构。 v问题:如何根据条件决定程序的执行顺序? 显然,只有顺序结构还不行,还需要条件判 断或选择等其他的控制结构。 4 5.1 If语句 vVB提供了四种控制结构: 顺序结构: 分支结构: If语句、Select Case语句; 循结结构: DoLoop语句、ForNext语句 、 WhileWend语句; 跳转结构: GoTo语句、GoSub语句。 5 5.1 If语句 vIf语句用来实现分支结构,也称为条件语句 : 单行形式的I

3、fThen语句 块形式的IfThenEndif语句 单行形式的IfThenElse语句 块形式的IfThenElseEndif语句 IfThenElseIfEndif语句 6 5.1 If语句 1、单行形式的IfThen语句 v单行IfThen语句只能写在一个语句行上 。格式:if 条件 then 语句块 v说明: 条件:应该是一个关系或逻辑表达式,或结 果可以转换为逻辑值的表达式。 语句块:是一条或多条语句(允许无语句)。 语句间用“:”分隔,如需换行要使用续行符“ _”。 7 5.1 If语句 v语句执行过程:当程序执行到该语句时,先 检查“条件”表达式的值是否为“true”;如为 “tr

4、ue”,则执行then后的语句块,并接着执 行下面的语句;否则直接执行下一条语句。 v例子:求y = |x| 方法一:y = sqr(abs(x) 方法二:if x50 15 5.1 If语句 v程序代码: Private Sub Command1_Click() Dim weight as single,pay as single weight= Text1.Text If weight 50 Then pay =(weight - 50)* 0.5 + 50 * 0.2 Else pay = weight * 0.2 End If Text2.Text = pay End Sub 16 5

5、.1 If语句 5、If语句的嵌套 v一个if语句的语句 块中包含了另一个 if语句称为if语句 的嵌套。VB允许if 语句的多层嵌套。 if 条件1 then if 条件2 then 语句块1 else 语句块2 endif else if 条件3 then 语句块3 else 语句块4 endif endif 17 5.1 If语句 v 例子:使用按纽cmd1的Click事件过程判断文本框中txt1 中输入数的奇偶性及所在区间,并在txt2中显示结果。 Private Sub cmd1_Click() dim int1 as Integer int1=Cint(txt1.text) 将tx

6、t1.text的值四舍五入转换为整数 if int1100 then txt2.text=“这是一个大于100的偶数” else txt2.text=“这是一个不大于100的偶数” endif else if int1100 then txt2.text=“这是一个大于100的奇数” else txt2.text=“这是一个不大于100的奇数” endif endif endif End Sub 18 5.1 If语句 6、IfThenElseIfEndIf语句 v 语法格式:if 条件1 then 语句块1 elseif 条件2 then 语句块2 elseif 条件n then 语句块n

7、else 语句块n+1 endif 19 5.1 If语句 v语句的执行流程: 语句块 1 条件1 False True 条件2 条件3 语句块 3语句块 2语句块 n+1 True True False False 20 5.1 If语句 v说明: 语句的执行从“条件1”开始顺序判断,直到“ 条件n”,一旦遇到满足的条件,就执行相应 的语句块,然后结束if语句的执行。 如果从“条件1”到“条件n”都不满足,则执行 “else”后面的“语句块n+1”。 “else”和“语句块n+1”是可选的,可以不要 。 v注意:“elseif”中间没有空格,不要写成 “else if” 21 5.1 If语

8、句 v 例子:窗体上有一个按纽cmdrank和两个文本框 txtInput、txtOutput。在文本框txtInput中输入成绩 ,单击按纽后,在txtOutput中显示等级。 Private Sub cmd1_Click() dim intMark as Integer intMark=Cint(txtInput.text) if intMark=90 then txtOutput.text=“优秀” elseif intMark=80 then txtOutput.text=“良好” elseif intMark=70 then txtOutput.text=“中等” elseif in

9、tMark=60 then txtOutput.text=“及格” else txtOutput.text=“不及格” endif End Sub 22 5.2 Select Case语句 v 语法格式:Select case 测试表达式 case 表达式1 语句块1 case 表达式2 语句块2 case 表达式n 语句块n case else 语句块n+1 End select 23 5.2 Select Case语句 v语句的执行过程: “测试表达式”为算术或字符串表达式。而逻 辑表达式仅有两个可能的取值,不适合用在 该语句中。语句执行流程见教材图5.7。 当执行到Select Case

10、语句时,首先计算测 试表达式的值,然后用这个值由上到下依次 与各个Case语句之后的表达式进行比较,如 果匹配,则执行对应的语句块,然后执行 End select之后的语句。 24 5.2 Select Case语句 如果没有匹配的Case语句,则执行Case Else之后的语句块(该部分为可选)。然后执 行End select之后的语句。 25 5.2 Select Case语句 如果没有匹配的Case语句,则执行Case Else之后的语句块(该部分为可选)。然后执 行End select之后的语句。 26 5.2 Select Case语句 v 例子:用Select Case语句重写上面

11、的例子。 Private Sub cmd1_Click() dim intMark as Integer intMark=Cint(txtInput.text) Select Case intMark Case Is=90 txtOutput.text=“优秀” Case Is=80 txtOutput.text=“良好” Case Is=70 txtOutput.text=“中等” Case Is=60 txtOutput.text=“及格” Case else txtOutput.text=“不及格” Endselect End Sub 27 5.2 Select Case语句 v多匹配情

12、况:如果测试表达式的结果与多个 Case语句后的表达式匹配,只执行第一个匹 配的Case语句之后的语句块(顺序从上到下) 。 vCase关键字后表达式的写法: 将单个常量、变量、表达式直接写在Case关 键词之后。如Case 90、Case “tom”。用于 测试相等匹配。 用关键词“to”连接两个值表示范围(闭区间) 。如:Case 1 to 5, Case “A”to “C”。这 时,只要值属于这个区间,就认为匹配。 28 5.2 Select Case语句 用关键词“Is”和比较运算符来表示一个范围 。 如:Case Is=80, Case Is“” 。这时,只要值属于这个区间,就认为匹

13、配 。 以上三种形式的组合(要用逗号分开)。 如:Case 6,8 to 10,Is12。在这些用逗 号分开的项中有一项匹配,就认为匹配。 29 5.2 Select Case语句 v 例子:下面的事件过程判断两个文本框中整数之和 落在哪个区间中。注意Case后面条件是如何给定的 。 Private Sub cmd1_Click() dim int1 as Integer,int2 as Integer int1=Cint(txt1.text):int2=Cint(txt2.text) Select Case int1+int2 Case 0 txt3.text=“和为0” Case 1 to

14、 5 txt3.text=“和在1和5之间(包括1、5)” Case 6,7 to 8 txt3.text=“和在6和8之间(包括6、8)” Case Isa and a+cb then p = (a+b+c)/2 lbl6.caption = sqr(p*(p-a)*(p-b)*(p-c) else lbl6.caption = “三角形任意两边之和大于第三边” end if end if End Sub 31 上机作业四: v题目1: 在窗体上输入平面坐标系中一个点的 坐标,然后判断该点所在的象限并将结果显示 在窗体上。界面如下: 32 上机作业四: v题目2: 在文本框中输入一个1,5区

15、间的数, 单击按钮判断该数是整数还是小数及所在的准 确区间。 v题目3:程序运行后,显示空白窗体,单击窗体 则显示一幅背景图片,再单击图片消失,如此 循环。(要求用条件语句实现) (提示:要用到LoadPicture()函数) 33 5.2 Select Case语句 Private Sub command1_Click() dim a as Integer ,b as Integer ,c as Integer a=2 : b=3 : c=4 print a=b=c a=b=c print a End Sub 34 5.2 Select Case语句 一、求表达式的值(已知:a3,b4,c5

16、) 5、4*(76-43)2 Imp 3 intInput lngAmount = lngAmount*int1 int1 = int1+1 Loop txtResult.text = lngAmount End Sub 49 5.3 DoLoop语句 4、“直到型循环”的第二种形式 v语法格式:Do 语句块 (循环体) Loop Until 条件表达式 v语句执行过程:当执行到Do时,首先执行一 次循环体语句块,然后计算Loop Until后面 条件表达式的值。如果值为False,则返回到 开始处再次执行循环体语句块,否则中止循 环语句的执行,接着执行Loop后的语句。 50 5.3 DoLoop语句 v语句的执行流程 v说明: 这种形式的循环语句 可以保证循环体至少 被执行一次。 条件 语句

展开阅读全文
相关资源
相关搜索

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

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