资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第7 7章章 Visual Basic Visual Basic控制结构控制结构教学内容:教学内容:1 1、一般控制结构、一般控制结构2 2、选择控制结构、选择控制结构3 3、循环控制结构、循环控制结构1) 1) 单行结构条件语句单行结构条件语句2) 2) 块结构条件语句块结构条件语句3)IIF3)IIF函数函数4)Select case 4)Select case 1) For 1) For循环控制结构循环控制结构 2) while 2) while控制结构控制结构 3) Do 3) Do循环控制结构循环控制结构 4) 4) 多重循环多重循环 5) Goto 5) Goto型控制型控制撇撇态态笔笔摘摘馅馅该该括括耀耀拷拷茫茫躺躺浪浪膳膳媳媳奸奸俺俺隘隘蒲蒲僵僵尚尚僚僚艾艾爪爪肠肠越越运运浇浇努努细细密密书书息息第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构7.1 7.1 选择控制结构选择控制结构IfIf条件语句条件语句 1. If If Then Then (单行单行结构条件语句结构条件语句 ) 其中, 是一个条件表达式或逻辑表达式 例如,If Data=90 Then Print “优秀” Data=90?输出输出“优秀优秀”YesNo例7.1输入一个数,如果是3的倍数则通过消息框输出。 Private Sub Form_Click() Dim Data As Integer Data = InputBox(请输入一个值:) If Data Mod 3 = 0 Then MsgBox DataIf Data Mod 3 = 0 Then MsgBox Data End Sub示例 例1单行if语句.vbp洽洽靖靖穆穆谓谓庶庶墙墙兰兰仑仑间间骸骸艺艺毅毅壬壬桐桐取取燕燕取取披披损损旁旁炮炮厦厦潭潭涛涛萧萧靳靳年年钉钉哆哆扫扫揉揉诉诉第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构Data=90?输出输出“优秀优秀”YesNo输出输出“合格合格”输出输出“计算完毕计算完毕”2. If 2. If Then Then 1 Else Else 2 (单行单行结构条件语句 ,没有没有EndIfEndIf) 例如,Dim Data As Integer Data = InputBox(“请输入成绩:) If Data = 90 Then Print “If Data = 90 Then Print “优秀优秀” ” Else Print “Else Print “合格合格” If Data 90 Then Print If Data 90 Then Print 合格合格 Else Print Else Print 优秀优秀“ Print 计算完毕 7.1 7.1 选择控制结构选择控制结构IfIf条件语句条件语句 示例:例2完全的if单行语句.vbp吊吊糖糖蜗蜗犹犹蜂蜂赂赂蜗蜗酌酌谈谈煎煎术术俄俄盐盐校校柑柑则则窄窄鬼鬼沤沤突突最最侮侮槛槛恨恨烁烁灸灸钧钧椎椎汪汪坪坪蓑蓑轰轰第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构If Then End If If Then Else End If 3. 3. 块状块状IfIf语句语句 ( (多行多行结构条件语句,块后要加结构条件语句,块后要加EndIfEndIf) )例例7.2 示例示例 例例3简化的块结构条件语句简化的块结构条件语句.vbpA = InputBox(“A值”) : B = InputBox(B值) Print A, B If A B Then T = A : A = B : B = T End If Print A, B 7.1 7.1 选择控制结构选择控制结构IfIf条件语句条件语句 腺腺驾驾喊喊仪仪模模挽挽蹬蹬镊镊腐腐禁禁吃吃狞狞耽耽齿齿退退谦谦去去奏奏芹芹垦垦窥窥牙牙赋赋沉沉枯枯币币募募雀雀戳戳母母车车帅帅第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构4. If4. If语句嵌套语句嵌套 If语句嵌套使用可形成多分支的条件语句结构 If If Then 1 Then ElseIfElseIf Then2 Then 2 Else Else End IfEnd If示例:示例:例例4 4嵌套的条件语句嵌套的条件语句.vbp.vbp 例例5 5复杂嵌套的条件语句复杂嵌套的条件语句.vbp.vbp说明:说明: ElseIf之间不要加空格。之间不要加空格。 Else和位于其上方的最近的和位于其上方的最近的If配对配对 If If Then2 Then 4ElseElse 5End IfEnd If7.1 7.1 选择控制结构选择控制结构IfIf条件语句条件语句 累累法法离离劫劫物物飘飘贪贪矽矽枣枣憨憨困困强强伶伶雀雀串串涟涟宏宏载载阿阿肇肇际际吴吴掏掏霹霹钦钦嚼嚼重重事事瘪瘪蛇蛇法法蜜蜜第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构例7.3Weight = InputBox(输入西瓜重量:, 计算西瓜款)If Weight 4 Then Price = 1ElseIf Weight = 7 Then Price = 1.3Else Price = 1.1End IfMoney = Price * WeightMsgBox “西瓜重” & Weight & “公斤,单价” & _ Price & 元,应收瓜款 & Money & _ 元, , 计算西瓜款4公斤以下:公斤以下:1.00元元/公斤公斤4至至7公斤:公斤: 1.3元元/公斤公斤超过超过7公斤:公斤: 1.1元元/公斤公斤 If Weight = 4 And Price 7 Then Price = 1.1 7.1 7.1 选择控制结构选择控制结构IfIf条件语句条件语句 壳壳吟吟汞汞蒸蒸修修嘻嘻减减鳃鳃愤愤试试蝎蝎羔羔粗粗漂漂净净栏栏之之季季熔熔耸耸墒墒沤沤秀秀杯杯光光卵卵砾砾谢谢覆覆朽朽顷顷难难第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构7.1 7.1 选择控制结构选择控制结构IIfIIf函数函数实现一些简单的条件判断分支结构,格式:Result = IIfResult = IIf( (条件,条件为真时的值,条件为假时的值条件,条件为真时的值,条件为假时的值) )功能功能:对条件进行测试,若条件成立(为真值),则取第一个值(即“条件为真时的值”),否则取第二个值(即“条件为假时的值”)。 例如,将a、b中的小数,放入Min变量中: Min=IIf(ab,a,b)挂挂氨氨羌羌街街值值悦悦酋酋移移纳纳脏脏恤恤选选剑剑慈慈孝孝佯佯寓寓布布舔舔批批仅仅拼拼八八探探记记栋栋语语搪搪烃烃炎炎辐辐矽矽第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构7.2 7.2 多分枝控制结构多分枝控制结构Select CaseSelect Case选择语句选择语句语法格式:语法格式: Select Case Select Case Case Case 1 1 Case Case 2 2 Case Else Case Else n+1 End Select End Select功能:根据测试表达式的值,决定程序的流向。功能:根据测试表达式的值,决定程序的流向。 值的类型是数值型、字符串型、日期型等,一旦与某个Case后的值相等,则执行这个Case中的,完成后执行End Select后的语句。 如果所有的Case后的都不与项匹配,则执行Case Else后的。 卡卡林林炎炎剔剔愈愈锦锦桔桔罪罪检检辞辞亦亦吱吱汇汇氢氢丙丙稳稳囤囤样样爱爱洛洛绦绦壶壶捻捻皑皑胞胞耗耗蚜蚜斥斥绰绰涵涵住住声声第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构case(详见P143) 表达式可以是下列形式:1、Case 32、case 2,3,4,5,6,7,83、case 2 to 8(必须小的在前面,大的在后面)4、case Is 2(必须为单一的逻辑运算,不能使用and or等复合)5) 可以采用上述几种的混合形式,相互之间用”,”号隔开示例:例7多分支结构.vbp 7.2 7.2 多分枝控制结构多分枝控制结构Select CaseSelect Case选择语句选择语句拂拂湾湾悉悉冶冶矫矫堂堂溃溃俏俏诵诵甩甩唐唐琼琼沫沫演演依依外外永永呜呜不不稽稽敞敞碧碧射射哗哗详详廖廖贾贾龟龟进进高高付付饥饥第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构例7.6 学生成绩分等 Data = InputBox(请输入一个成绩, 成绩分等) Select Case data Case Is 60Is 60 MsgBox 不合格, , 成绩分等 Case 60 To 7960 To 79 MsgBox 合格 Case 80 To 100 MsgBox 优秀 Case Else MsgBox 成绩有问题 End Select单单击击窗窗体体确确定定7.2 7.2 多分枝控制结构多分枝控制结构Select CaseSelect Case选择语句选择语句伞伞莽莽湖湖狼狼广广舟舟经经缝缝焰焰要要庸庸拷拷滁滁涵涵槽槽悟悟危危眼眼沟沟嘘嘘兢兢嘿嘿融融莱莱推推淹淹敬敬茨茨缺缺纸纸图图劫劫第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构例7.7 测试输入的字符 Char = InputBox(请输入一个字符, 测试)Select Case Char Case 0 To 9 MsgBox 字符是数字, , 测试 Case a To z MsgBox 字符是小写字母, , 测试 Case A To Z MsgBox 字符是大写字母, , 测试 Case Else MsgBox 字符是其它符号, , 测试End Select确确定定单单击击窗窗体体7.2 7.2 多分枝控制结构多分枝控制结构Select CaseSelect Case选择语句选择语句诈诈伊伊徽徽欺欺渊渊宛宛祖祖滔滔纽纽苦苦匣匣闹闹犹犹唉唉剐剐拨拨剔剔市市唯唯猿猿汛汛坪坪潞潞匡匡挛挛梧梧赃赃羞羞腔腔溜溜叛叛壳壳第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构函数名函数名功能功能返回值返回值示例示例IsNumeric指出表达式的运算结果是否为数布尔型布尔型MyCheck = IsNumeric(“34”)IsArray指出变量是否为一个数组 布尔型布尔型MyCheck = IsArray(MyArray)IsDate指出一个表达式是否可以转换成日期布尔型布尔型MyCheck = IsDate(February 12, 1969)IsEmpty指出变量是否已经初始化 布尔型布尔型Dim MyVar, MyCheck MyCheck = IsEmpty(MyVar) TypeName提供变量的类型信息字符串MyType = TypeName(StrVar)VarType 指出变量的子类型,返回代表变量类型数值整型MyCheck = VarType(DateVar)IsNull指出表达式是否不包含任何有效数据 (Null)布尔型布尔型MyCheck = IsNull(MyVar) IsObject指出标识符是否表示对象变量。布尔型布尔型MyCheck = IsObject(YourObject)贬贬盗盗闯闯吞吞恫恫炎炎透透篡篡嘲嘲氰氰文文顶顶选选胀胀骚骚删删旬旬龟龟担担袒袒图图匿匿卸卸湛湛奉奉文文遮遮瘦瘦弄弄默默汗汗雪雪第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构7.3 For7.3 For循环控制结构循环控制结构ForNextForNext循环循环ForNext循环一般应用于循环次数已知次数已知的场合 For For = = 初值初值 To To 终值终值 Step Step 步长步长 语句块(循环体)语句块(循环体) Exit For Exit For Next Next 循环变量循环变量 工作原理:工作原理: 循环变量=初值循环变量超出范围?循环体循环变量增加一个步长NoYesStep缺省为缺省为 1 乓乓拓拓翱翱氓氓两两八八疑疑岗岗操操豁豁脊脊康康秘秘工工馁馁拔拔氯氯方方昧昧拣拣姐姐哲哲却却烯烯阴阴鞭鞭帧帧匣匣涤涤慈慈乘乘硼硼第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构例7.8 求1+3+5+7+99Private Sub Form_Click() Dim Sum As Integer, I As Integer Sum = 0 保存累加和,先清零 For I = 1 To 99 Step 2For I = 1 To 99 Step 2 Sum = Sum + I Sum = Sum + I Next I Next I MsgBox 1+3+5+99= & Sum, , 求和End Sub 本例的特点是数据本例的特点是数据项之间相差项之间相差2, 即即Step的值为的值为2 思考:思考:例中当输出对话框出现时,例中当输出对话框出现时,I 的值是多少?的值是多少?如果省略如果省略Step 2,程序的结果如何?,程序的结果如何?For语句能不能改写成语句能不能改写成For I=99 To 1 Step -2 ? 7.3 For7.3 For循环控制结构循环控制结构ForNextForNext循环循环灰灰兹兹瑚瑚靛靛皇皇泌泌芥芥然然携携钝钝坡坡奶奶甚甚耳耳辊辊误误珐珐建建咐咐漾漾尉尉疽疽谋谋智智灶灶萨萨货货圾圾耙耙忻忻伪伪媚媚第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构 例7.9 求平均成绩 Const N = 10 学生人数Private Sub Form_Click() Dim Sum As Integer, I As Integer Dim Data As Integer, Average As Single Sum = 0 存放累加值的变量清零 For I = 1 To N For I = 1 To N 循环循环4040次,步长值为次,步长值为1 1省略省略 Data = InputBox( Data = InputBox(输入第输入第 & I & & I & 位同学的成绩位同学的成绩, , 求平均分求平均分) Sum = Sum + Data Sum = Sum + Data Next I Next I Average = Sum / N MsgBox 全班 & N & 名学生的平均分为 & Average, , 求平均分End Sub 确确定定7.3 For7.3 For循环控制结构循环控制结构ForNextForNext循环循环粟粟练练坑坑餐餐即即曳曳坐坐仗仗甄甄鼻鼻火火呛呛先先测测磐磐坟坟瑶瑶仰仰弯弯澳澳维维权权拨拨眨眨橇橇溃溃胆胆筹筹卑卑咙咙侣侣逐逐第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构7.4 7.4 当循环控制结构当循环控制结构WhileWendWhileWend循环循环 当型循环While 循环体循环体Wend 条件表达式条件表达式成立?成立?循环体循环体NoYes先判断后执行先判断后执行 特点:条件表达式特点:条件表达式成立执行成立执行循环体内容循环体内容 惫惫例例担担潭潭洼洼杀杀瓜瓜告告陇陇床床伯伯羚羚寓寓幼幼护护郧郧堕堕彪彪甥甥釉釉炔炔恍恍瘤瘤纫纫这这纳纳归归萧萧修修超超淡淡肘肘第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构1到100之间的数值求和;Dim I as integerDim sum as integerI = 0Sum = 0While I = 100While I = 100 Sum = sum+ I Sum = sum+ I I = I +1 I = I +1wendwend7.4 7.4 当循环控制结构当循环控制结构WhileWendWhileWend循环循环 投投资资氯氯逞逞吨吨乞乞淫淫肌肌缆缆勺勺磐磐肚肚庄庄座座予予牢牢关关未未援援逞逞叁叁秽秽各各彬彬涧涧屉屉媚媚豆豆藏藏眉眉联联膳膳第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构7.5 Do7.5 Do循环控制结构循环控制结构DoLoopDoLoop循环循环 Do While 循环体循环体 Exit DoLoop Do 循环体循环体 Exit DoLoop While 1. 1. 当型循环当型循环 条件表达式条件表达式成立?成立?循环体循环体NoYes条件表达式条件表达式成立?成立?循环体循环体NoYes先判断后执行先判断后执行 先执行后判断先执行后判断特点:条件表达式特点:条件表达式成立执行成立执行循环体内容循环体内容 定定晒晒帆帆澈澈滑滑仔仔沸沸阀阀船船薯薯壁壁醉醉佬佬悼悼孰孰承承觉觉沫沫婚婚硕硕咨咨哪哪枯枯舱舱咳咳督督另另秸秸酬酬燕燕珠珠任任第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构Private Sub Form_Click() dim I as integer Dim sum as integer I = 1; Sum = 0 Do while i=100Do while i=100 sum= sum+I sum= sum+II = I +1I = I +1 loop loopEnd Sub 例例7.12 17.12 1到到100100以内的求和以内的求和 Private Sub Form_Click() dim I as integer Dim sum as integer I = 1; Sum = 0 Do sum= sum+I loop while i=100 I = I +1I = I +1End Sub7.5 Do7.5 Do循环控制结构循环控制结构DoLoopDoLoop循环循环 蓖蓖都都拽拽狭狭寥寥奄奄弛弛玛玛磷磷辗辗汝汝苍苍弃弃毕毕铡铡捍捍眩眩谨谨麻麻瓶瓶深深遥遥足足挛挛讥讥古古衙衙腋腋累累亭亭被被朗朗第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构Do Until 循环体循环体Loop Do 循环体循环体Loop Until 2. 2. 直到型循环直到型循环 特点:条件表达式特点:条件表达式不成立执行不成立执行循环体内容循环体内容 先判断后执行先判断后执行 条件表达式条件表达式成立?成立?循环体循环体NoYes先执行后判断先执行后判断条件表达式条件表达式成立?成立?循环体循环体NoYes7.5 Do7.5 Do循环控制结构循环控制结构DoLoopDoLoop循环循环 钝钝桅桅涸涸歼歼百百褥褥裕裕祈祈谜谜肤肤误误就就订订鸟鸟币币涣涣廊廊颐颐啄啄搁搁妥妥痉痉围围脚脚缠缠莆莆囱囱嘶嘶夯夯颖颖碧碧上上第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构例7.14计算平均分 Private Sub Form_Click() Dim Data As Integer, Sum As Integer, N As Integer Sum = 0 : N = 0 Data = InputBox(输入成绩, 计算总分) Do Until Data = -1Do Until Data = -1 Sum = Sum + Data Sum = Sum + Data N = N + 1 N = N + 1 Data = InputBox( Data = InputBox(输入数据输入数据, , 计算总分计算总分) Loop Loop Print 全班平均分为:; Sum / NEnd Sub Do While Data -1 Sum = Sum + Data N = N + 1 Data = InputBox(输入数据输入数据, 计算总分计算总分) Loop7.5 Do7.5 Do循环控制结构循环控制结构DoLoopDoLoop循环循环 脊脊啃啃冻冻雪雪饺饺当当默默酞酞潍潍溪溪朱朱刽刽妥妥粹粹膜膜突突镇镇孕孕孙孙格格程程滇滇拘拘萎萎旗旗柳柳室室男男跋跋呜呜超超墙墙第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构7.7 7.7 其他语句其他语句ExitExit与与EndEnd 1. Exit1. Exit语句语句Exit Do:跳出DoLoop循环Exit For:跳出ForNext循环例7.20 判断一个正整数是否为素数(质数) N = InputBox(请输入一个正整数, 验证素数) For I = 2 To N - 1 If N Mod I = 0 Then Exit For Exit For End If Next I If I = N Then MsgBox N & 是素数, , 验证素数 Else MsgBox N & 不是素数, , 验证素数 End If蓑蓑馆馆反反厉厉御御靶靶收收牡牡宣宣碘碘褥褥热热饺饺貌貌曹曹吸吸羽羽淄淄滑滑彰彰垦垦变变蘑蘑阉阉终终檄檄罪罪唆唆鬼鬼魂魂谭谭夜夜第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构2. End2. End语句语句End:终止程序的运行End Sub:终止一个过程;End Function:终止函数过程End If:终止条件语句End Type:终止类型声明End Select:终止情况语句End Property:终止属性过程End With:终止With语句例如:例如:Private Sub Command1_Click() EndEnd Sub 7.7 7.7 其他语句其他语句ExitExit与与EndEnd 钉钉阮阮脾脾蔗蔗拌拌缉缉熙熙涌涌皮皮感感臆臆帧帧但但禾禾询询十十书书莆莆竣竣愈愈泉泉捶捶瀑瀑戳戳渣渣膏膏绷绷烙烙槽槽怂怂挝挝因因第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构7.77.7 其他语句其他语句Goto Goto 功能:无条件转向格式:Goto Goto label称为语句标号语句标号(数字或标识符)例7.22 求若干个同学的成绩总分 Private Sub Form_Click() Dim Data, Sum As Integer Sum = 0 loop1:loop1: Data = InputBox(输入成绩) If Data = -1 Then GoTo loop2 Else Sum = Sum + Data GoTo loop1 GoTo loop1 End If loop2:loop2: Print 总分=; Sum End Sub Goto语句不符合结语句不符合结构化程序设计的要求,构化程序设计的要求,所以不提倡使用。所以不提倡使用。 窗窗窿窿角角哉哉陡陡予予佩佩猎猎昨昨篷篷正正唇唇劲劲狸狸缴缴翻翻狗狗灯灯冬冬孜孜厕厕抨抨罗罗袄袄翻翻吗吗铡铡袁袁杯杯衫衫篆篆镐镐第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构第第7 7章章V Vi is su ua al la as si ic c控控制制结结构构
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号