04 选择结构 下载全本共13章进我的文库.ppt_第1页
04 选择结构 下载全本共13章进我的文库.ppt_第2页
04 选择结构 下载全本共13章进我的文库.ppt_第3页
04 选择结构 下载全本共13章进我的文库.ppt_第4页
04 选择结构 下载全本共13章进我的文库.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章选择结构 在程序设计中经常遇到这类问题 它需要根据不同的情况采用不同的处理方法 例如 一元二次方程的求根问题 要根据判别式小于零或大于等于零的情况 采用不同的数学表达式进行计算 对于这类问题 如果用顺序结构编程 显然力不从心 必须借助选择结构 本章主要介绍实现选择结构的语句 包括 行If语句 块If语句 ElseIf语句 SelectCase语句 以及选择结构在程序设计中的应用 退出 4 1块If4 2ElseIf语句4 3行If语句4 4SelectCase语句 4 1块If 4 1 1块If的格式 功能格式 If条件then语句块1 Else语句块2 EndIf 说明 1 条件 一般为关系表达式或逻辑表达式 通常把关系表达式或逻辑表达式的值为真时 称为条件满足 值为假时 称为条件不满足 反之亦然 2 语句块1 语句块2分别是 条件 满足或不满足时 处理方法的描述 可以是若干个语句 3 If Then Else EndIf是VB的保留字 功能 1 块If首先判断 条件 其值为真时 执行语句块1 为假时执行语句块2 当缺省 Else 中的内容时 该选择结构只对条件满足的情况进行处理 执行过程如图4 1所示 例4 1 火车站行李费的收费标准是50kg以内 包括50kg 0 20 kg 超过部分0 50 kg 编写程序 要求根据输入的任意重量 计算出应付的行李费 根据题意计算公式如下 程序代码如下 计算 按钮代码PrivateSubCommand1 Click Dimweightassingle payassingleweight Text1 TextIfweight 50Thenpay weight 50 0 5 50 0 2Elsepay weight 0 2EndIfText2 Text payEndSub PrivateSubCommand2 Click Text1 Text Text2 Text EndSubPrivateSubCommand3 Click EndEndSub 4 1 2块If的嵌套所谓块If语句的嵌套 就是在语句块1或语句块2中又包含块If语句 例4 2 任意输入3个数 按照从大到小的顺序输出 算法分析 排序的基本方法 就是比较大小 然后根据比较的结果分别加以处理 本例把3个数分别放在A B C中 处理过程为 若A B为真 交换A B的值 否则不做处理 这样就保证了A B 然后再用C去比较 具体流程如图4 3所示 按如图4 4所示设置界面 程序代码如下 排序 按钮代码PrivateSubCommand1 Click DimaAsSingle cAsSingle bAsSinglea Text1 Textb Text2 Textc Text3 Text 三个文本框的数据赋值给变量IfaB Ifc aThen 用C去比较Text4 Text c C A成立 C最大Text5 Text aText6 Text bElseIfc bThenText4 Text a C B成立 C最小Text5 Text bText6 Text c ElseText4 Text a C处于中间Text5 Text cText6 Text bEndIfEndIfEndSub 退出 按钮代码PrivateSubCommand2 Click EndEndSub 4 2ElseIf语句 格式 If条件1then语句块1ElseIf条件2then语句块2 Else语句块n 1 EndIf 功能 1 依次判断条件 如果找到一个满足的条件 则执行其下面的语句块 然后跳过EndIf 执行后面的程序 2 如果所列出的条件都不满足 则执行Else语句后面的语句块 如果所列出的条件都不满足 又没有Else子句 则直接跳过EndIf 不执行任何语句块 ElseIf结构的执行过程如图4 6所示 例4 4 输入一个学生的一门课分数x 百分制 当x 90时 输出 优秀 当80 x 90时 输出 良好 当70 x 80时 输出 中 当60 x 70时 输出 及格 当x 60时 输出 不及格 算法分析 本例适合用多路分支结构来解决 运行界面如图4 7所示 程序代码如下 鉴定 按钮代码PrivateSubCommand1 Click Dimscore score Text1 TextIfscore 90ThenText2 Text 优秀 ElseIfscore 80ThenText2 Text 良好 ElseIfscore 70ThenText2 Text 中 ElseIfscore 60ThenText2 Text 及格 ElseText2 Text 不及格 EndIfEndSub 退出 按钮代码PrivateSubCommand2 Click EndEndSub ElseIf语句 实际完成的是块If的嵌套 它和块If嵌套的格式上有很大区别 ElseIf结构只有一对If和EndIf语句 另外应注意 ElseIf 和 ElseIf 的区别 4 3行If语句 格式 If条件then语句1 Else语句2 功能 当条件满足时 执行语句1 条件不满足时 执行语句2 从行If的格式和功能不难看出 行If语句是一种简单的分支结构 只是把一个简单的块If结构写在一行中 减少了语句行 省略了 EndIf 的书写 行If完全可以用块If代替 例4 6 任意输入3个数 找出其中的最大值 程序代码如下 PrivateSubCommand1 Click DimaAsSingle bAsSingle cAsSingle maxAsSinglea Text1 Textb Text2 Textc Text3 Textmax aIfb maxThenmax bIfc maxThenmax cText4 Text maxEndSub 4 4SelectCase语句 当对一个表达式的不同取值情况作不同处理时 用ElseIf语句程序结构显得较为杂乱 而用SelectCase语句将使程序的结构更清晰 SelectCase语句又称为情况语句 格式 SelectCase测试表达式Case表达式列表1语句块1Case表达式列表2语句块2 Case表达式列表n语句块n CaseElse语句块n 1 EndSelect 功能 根据 测试表达式 的值 选择第一个符合条件的语句块执行 SelectCase语句的执行过程是 先求 测试表达式 的值 然后顺序测试该值符合哪一个Case子句中情况 如果找到了 则执行该Case子句下面的语句块 然后执行EndSelect下面的语句 如果没找到 则执行CaseElse下面的语句块 然后执行EndSelect下面的语句 说明 测试表达式 可以是数值型或字符串型表达式 表达式列表 形式有以下3种 1 一个表达式或用逗号隔开的若干表达式 2 表达式1To表达式2 3 Is关系运算符表达式 例4 7 把例4 3中 鉴定 按钮的代码用SelectCase语句改写 PrivateSubCommand1 Click Dimscore score

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论