




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第7章VisualBasic控制结构 本章讨论VisualBasic中除顺序结构之外的流程控制语句 包括选择结构 多分支结构及循环结构语句 2 7 1选择控制结构 7 1 1单行结构条件语句格式 If条件Thenthen部分 Elseelse部分 单行条件语句的功能是 如果 条件 为True 则执行 then部分 否则执行 else部分 3 7 1选择控制结构 PrivateSubForm Click DimxAsSingle yAsSinglex InputBox 请输入x的值 x Val x Ifx 0Theny 1ElseIfx 0Theny 0Elsey 1Print x x y yEndSub 4 7 1 2块结构条件语句 If条件1Then语句块1 ElseIf条件2Then语句块2 ElseIf条件3Then语句块3 Else语句块n EndIf 5 7 1 2块结构条件语句 说明 1 格式中 条件1 条件2 等都是逻辑表达式 数值表达式和关系表达式是逻辑表达式的特例 当 条件 是数值表达式时 非0表示True 0表示False 当 条件 是关系表达式或逻辑表达式时 1表示True 0表示False 2 块形式条件语句的执行过程 3 语句块 中的语句不能与前面的Then在同一行上 6 7 1 2块结构条件语句 说明 4 在块结构条件语句中 ElseIf子句的数量没有限制 5 块结构条件语句中的ElseIf子句和Else子句都是可选的 6 当有多个条件为True时 只执行第一个为True的条件后面的语句块 7 块形式的条件语句可以嵌套 即把一个If Then Else块放在另一个If Then Else块内 7 7 1 2块结构条件语句 例7 1 设计一个程序 从键盘上输入学生的分数 程序可以计算并输出及格 不及格人数及总平均分 运行结构如下图所示 8 7 1 3IIf函数 格式 result IIf 条件 True部分 False部分 当 条件 为真时 IIf函数返回 True部分 而当 条件 为假时返回 False部分 9 7 1 3IIf函数 Iif函数与If Then Else选择结构的作用相似 例如 Ifa 5Thenr 1Elser 2EndIf可用下面的Iif函数来代替 r Iif a 5 1 2 10 7 2多分支控制结构 SelectCase测试表达式Case表达式表列1 语句块1 Case表达式表列2 语句块2 CaseElse 语句块n EndSelect 11 7 2多分支控制结构 说明 1 参量的含义 测试表达式可以是数值表达式或字符串表达式 语句块1 语句块2 每个语句块由一行或多行语句组成 表达式表列1 表达式表列2 称为值域 可以是 表达式 表达式 例如 case2 4 6 8表达式To表达式例如 case1To5Is关系运算表达式 使用运算符 例如CaseIs 12CaseIs a b 12 7 2多分支控制结构 说明 2 Case语句的执行过程 3 表达式表列 使用时应注意 To用来指定一个范围 必须小数在前 大数在后 例如 Case 5To 1 如果使用关键字Is 则只能使用关系运算符 例如caseIsLowerbound 5 6 12 Is UperboundCaseIs HAN Mao To Tao 13 7 2多分支控制结构 说明 4 SelectCase语句与If Then Else相似 例如 PrivateSubForm Click msg EnterData Var InputBox msg IfVar 1ThenPrint One ElseIfVar 2ThenPrint Two ElseIfVar 3ThenPrint Three ElsePrint Mustbeintegerfrom1to3 EndIfEndSu PrivateSubForm Click msg EnterData Var InputBox msg SelectCaseVarCase1Print One Case2Print Two Case3Print Three CaseElsePrint Mustbeintegerfrom1to3 EndSelectEndSub 14 7 2多分支控制结构 说明 5 如果同一个域值的范围在多个Case子句中出现 则只执行符合要求的第一个Case子句的语句块 6 CaseElse子句必须放在所有Case子句之后 7 在不同的Case子句中指定的条件和相应的操作不能互相矛盾 例如 SelectCaseaCase1Print1Case1To3Print2EndSelect 15 7 2多分支控制结构 例7 2 从键盘输入字母或0 9的数字 编程对其进行分类 分为大写字母 小写字母 奇数 偶数 16 7 3For循环控制结构 For循环也叫计数循环 其一般格式为 For循环变量 初值To终值 Step步长 循环体 ExitFor Next 循环变量 步长为正值时For Next循环的逻辑流程 17 7 3For循环控制结构 For循环变量 初值To终值 Step步长 循环体 ExitFor Next 循环变量 步长为负值时For Next循环的逻辑流程 18 7 3For循环控制结构 说明 1 参量的含义 循环变量也叫 循环控制变量 控制变量 或 循环计数器 是一个数值变量 初值循环变量的初值 是一个数值表达式 终值循环变量的终值 是一个数值表达式 步长循环变量的增量 可正可负 如果步长为1 可不写 循环体可以是一个或多个语句 ExitFor退出循环 Next循环终端语句 19 7 3For循环控制结构 说明 2 For循环语句的执行过程例 t 0ForI 2To10Step2t t IPrinttNextI 把初值2赋值给循环变量I 将I的值与终值10进行比较 若I 10 则转到 否则执行循环体 I增加一个步长值 即I I 2 返回 继续循环 执行Next后面的语句 20 7 3For循环控制结构 说明 3 For循环遵循 先检查 后执行 的原则 因此下列情况不会执行循环体 当步长为正数 初值大于终值时 当步长为负数 初值小于终值时 4 For语句和Next语句必须成对出现 不能单独使用 5 循环次数计算公式 循环次数 Int 终值 初值 步长 1 6 ForNext循环可以嵌套使用 7 循环控制值可以是整数 单精度数 双精度数 21 7 3For循环控制结构 说明 8 循环变量用来控制循环过程 在循环体内可以被引用和赋值 当循环变量在循环体内被引用和赋值时 称为 操作变量 否则称为 形式变量 例7 3 求n n为自然数 SubForm Click DimNAsIntegerN InputBox EnterN k 1Fori 1ToNk k iNextiPrintN kEndSub PrivateSubCommand1 Click DimNAsIntegerN InputBox EnterN k 1 m 1Fori 1ToNk k m m m 1NextiPrintN kEndSub 22 7 3For循环控制结构 说明 9 某些情况下 可通过ExitFor语句在循环变量到达终值前退出循环 10 For Next中的循环体省略时 For Next执行空循环 可以暂停程序的执行 或者实现软件延时 例7 4 有如下10个数 2 73 82 76 1 24 321 25 89 20试编写一程序 打印出其中的每个负数 分别计算并输出正数及负数的和 23 7 4当循环控制结构 While条件 语句块 Wend 24 7 4当循环控制结构 例7 5 从键盘上输入字符 对输入的字符进行计数 当输入的字符为 时 停止计数 并输出结果 25 7 4当循环控制结构 在使用当循环语句时 应注意以下几点 1 While循环语句先对条件进行测试 然后才决定是否执行循环体 如果条件从开始就不成立 则一次循环体也不执行 例如 Whileaa循环体Wend 26 7 4当循环控制结构 在使用当循环语句时 应注意以下几点 2 如果条件总是成立 则进入死循环 例如 x 1Whilex循环体Wend 27 7 4当循环控制结构 在使用当循环语句时 应注意以下几点 3 开始时对条件进行测试 如果成立 则执行循环体 执行完一次循环体后 再测试条件 如成立 则继续执行 直到条件不成立为止 4 当循环可以嵌套 层数没有限制 例7 6 编写程序 判断一个正整数 3 是否是素数 28 7 5Do循环控制结构 1 DoLoopWhile Until循环 Do LoopWhile循环Do 语句块 ExitDo Loop While循环条件 先执行一次循环体 然后再判断条件以决定以后的操作 29 Do LoopUntil循环 1 Do LoopWhile Until循环 Do LoopUntil循环Do 语句块 ExitDo Loop Until循环条件 先执行一次循环体 然后再判断条件以决定其后的操作 30 DoWhile Loop循环 2 DoWhile Until Loop循环 DoWhile Loop循环DoWhile循环条件 语句块 ExitDo Loop先判断条件 然后在条件满足时才执行循环体 31 DoUntil Loop循环 2 DoWhile Until Loop循环 DoUntil Loop循环DoUntil循环条件 语句块 ExitDo Loop先判断条件 然后在条件满足时才执行循环体 32 DoUntil Loop循环 例7 7 目前世界人口为60亿 如果以每年1 4 的速度增长 多少年后世界人口达到或超过70亿 SubForm Click DimpAsDoubleDimrAsSingleDimnAsIntegerp 6000000000 r 0 014n 0DoUntilp 7000000000 p p 1 r n n 1LoopPrintn 年后 世界人口达 pEndSub SubForm Click DimpAsDoubleDimrAsSingleDimnAsIntegerp 6000000000 r 0 014n 0Dop p 1 r n n 1LoopUntilp 7000000000 Printn 年后 世界人口达 pEndSub 33 7 6多重循环 循环体内不含有循环语句的循环叫做单层循环 而把循环体内含有循环语句的循环称为多重循环 多重循环又称多层循环或嵌套循环 例7 9 打印 九九表 输出结果如图所示 34 7 6多重循环 例7 9 打印 九九表 输出结果如图所示 PrivateSubForm Click PrintTab 30 9 9Table Print PrintPrint Fori 1To9PrintTab i 6 i NextiPrintForj 1To9Printj Fork 1Tojtemp j kPrintTab k 6 temp NextkPrintNextjEndSub 35 例7 10 编写程序 输出100到300间的所有素数 PrivateSubForm Click Forn 100To300s 0Form 2Ton 2IfnModm 0Thens 1ExitForEndIfNextmIfs 0Thend d 1IfdMod5 0ThenPrintn PrintElsePrintn EndIfEndIfNextnEndSub 36 7 6多重循环 以出口语句退出循环 出口语句的两种形式 37 例7 11 编写程序 试验出口语句 SubForm Click DimI NumDoForI 1To1000Num Int Rnd 100 PrintNum SelectCaseNumCase7 ExitForCase29 ExitDoCase54 ExitSubEndSelectNextIPrint ExitFor LoopPrint exitDo EndSub 38 7 7GoTo型控制 了解 7 7 1GoTo语句GoTo 标号 行号 GoTo语句改变程序执行的顺序 无条件地把控制转移到 标号 或 行号 所在的程序 并从该行向下执行 说明 1 标号必须以英文字母开头 以冒号结束 而行号由数字组成 后面不能有冒号 2 GoTo语句只能在一个过程中使用 3 GoTo语句是无条件转移语句 但常与条件语句结合使用 39 7 7 1GoTo语句 例7 12 编写程序 计算存款利息 SubForm Click DimpAsCurrencyp 10000 r 0 125t 1Again Ift 10ThenGoTo100i p rp p it t 1GoToAgain100PrintpEndSub 40 7 7GoTo型控制 7 7 2On GoTo语句On数值表达式GoTo行号表列 标号表列例如 On GoTo语句的功能是 根据 数值表达式 的值 把控制转移到几个指定的语句行中的一个语句行 OnxGoTo30 50 Line3 Line4 41 实验7 1 考试5门课程 符合下列条件之一的为优秀成绩 5门课成绩总分超过450分 每门课都在88分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030动力总成电气化转型节奏与零部件投资优先级报告
- 2025-2030功能性运动内衣市场需求增长驱动因素报告
- 2025-2030共享经济行业市场供需状况及未来发展前景预测分析报告
- 2025年页岩气开采技术环境效益评估与能源结构调整报告
- 2025年风电技术创新在风电场风能利用效率中的应用分析报告
- 2025年放射科学影像识别与报告撰写能力测试卷答案及解析
- 2025年教师资格考试小学面试体育试题及解答参考
- 2025年农业面源污染治理技术创新与农业产业链绿色发展报告
- 2025年咖啡师职业技能测试卷:咖啡师行业市场调研与分析案例试题
- 2025年大学卫生教育专业题库- 医疗卫生资源与大学生的接触途径研究
- 庭院绿化施工方案
- 《大学语文》课件 第16讲 智在纵横 苏秦始将连横
- 医院工作纪律培训课件
- 营房装修施工方案(3篇)
- 开远美景家乡课件
- 2025至2030中国仿制药行业市场深度分析及前景趋势与投资报告
- 监测数据智能分析
- 临床基于ERAS理念下医护患一体化疼痛管理实践探索
- 外科术后患者营养宣教要点
- 安全技术交底书
- 统编版(2024)八年级上册道德与法治第一单元《走进社会生活》测试卷(含答案)
评论
0/150
提交评论