您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 09visialbasic程序设计-第四章081130
2020/1/15回顾1.VisualBasic基本语句1.语句格式2.赋值语句3.数据输出4.注释语句5.暂停语句6.结束语句2.窗体。1.窗体结构与属性2.窗体方法3.窗体事件3.数据的输入输出。1.命令按钮2.标签与文本框3.计时器控件4.InputBox函数5.MsgBox函数和MsgBox过程2020/1/15第四章选择结构程序设计•4.1关系运算与逻辑运算•4.2选择结构程序设计•4.3多分支结构程序设计•4.4转移控制语句2020/1/154.1关系运算与逻辑运算1.关系运算符将两个操作数进行大小比较,结果为逻辑值(True或Flase)•字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止•汉字字符大于西文字符•操作数是数值,按大小比较2020/1/154.1关系运算与逻辑运算运算符含义实例结果===等于大于大于等于小于小于等于不等于ABCDE=ABR“ABCDEABR“bc=大小“23323=“31223FalseFalseFalseFalseTrueTrue2020/1/154.1关系运算与逻辑运算运算运算符举例说明大于84结果为True比较值的大小小于“a””b”结果为True字母字符,符合字典顺序大于等于=“Z””c”结果为False所有小写字母大于大写字母小于等于=“aa”=”ad”结果为True逐个从左至右比较对应的字符等于=#2002/09/21#=#9/22/2002#结果为False日期早的小不等于或“a””a”结果为True空格是有效字符2020/1/152.逻辑运算符运算符说明优先级说明例结果Not逻辑非1当操作数为假时,结果为真NotFTAnd逻辑与2操作数均为真时,结果为真TAndFTAndTFTOr逻辑或3操作数中有一个为真,结果为真TOrFFOrFTFXor逻辑异或4操作数相反时,结果为真TXorFTXorTTFEqv逻辑等价5操作数相同时,结果为真TEqvFFEqvFFTImp逻辑蕴含6仅当第一操作数为真且第二操作数为假时,结果才为假TImpFFImpTFT2020/1/152.逻辑运算符逻辑运算又称布尔运算,用逻辑运算符连接两个或多个关系式,组成一个布尔表达式。VisualBasic中有6种逻辑运算符:(1)Not(非)有真变假或由假变真,进行“取反”运算。如38的值为False,而Not(38)的值为True。(2)And(与)对两个关系表达式的值进行比较,如果两个表达式的值均为True,结果才为True,否则为False。如(38)AND(56)结果为False。2020/1/152.逻辑运算符(3)Or(或)对两个表达式进行比较,如果其中某一个表达式的值为Ture,结果就为True;只有两个表达式的值均为False时,结果才为False。如(38)OR(56)结果为True。(4)Xor(异或)如果两个表达式同时为True或同时为False,则结果为False,否则为True。如(83)Xor(56)结果为False。2020/1/152.逻辑运算符(5)Eqv(等价)如果两个表达式同时为True或同时为False,则结果为True。如(38)Eqv(1020)结果为True。(6)Imp(蕴含)当第一个表达式为True,且第二个表达式为False时,结果为False。2020/1/153.关系与逻辑表达式例:print5/4*6\5Mod2结果为?运算过程:1.25*6\5Mod27.5\5Mod21Mod2=1运算符的优先级算术运算符字符运算符关系运算符逻辑运算符2020/1/154.2选择结构程序设计4.2.1单选按钮、复选框及框架控件1.单选按钮的属性及事件•属性–Caption–Enabled–Value•事件–Click2020/1/152.复选框的属性及事件属性ValueAlignment事件Click2020/1/153.框架控件的属性Caption2020/1/15【例4-1】为文本框中的字符提供字体选择。2020/1/154.2.2单分支条件语句1.单分支结构(If…Then语句)语法格式:(1)If表达式Then语句块EndIf(2)If表达式Then语句语句功能:当表达式的值为非0(True)时,执行Then后面的语句块或语句,否则不做任何操作。表达式语句块TF2020/1/154.2.2单分支条件语句说明:(1)表达式一般为关系表达式、逻辑表达式,也可以是算数表达式,非0为True,0为False。(2)语句块可以是一句或多句,若用第二种形式表示,则只能是一句语句;若多句,语句间需要冒号(:)分隔,且必须在同一行书写。2020/1/154.2.2单分支条件语句IfxyThent=xx=yy=tEndIf或IfxyThent=x:x=y:y=txyx=tx=yy=tFalseTruexyTrueFalset=x:x=y:y=t2020/1/154.2.3双分支条件语句2.双分支结构(If…Then…Else语句)语法格式:(1)If表达式Then语句块1Else语句块2EndIf(2)If表达式Then语句1Else语句2表达式语句块1语句块22020/1/154.2.3双分支条件语句语句功能:当表达式的值为非0(True)时,执行Then后面的语句块1或语句1,否则执行语句块2或语句2。2020/1/15【例4-3】输入三角形的三条边长,计算三角形面积。2020/1/154.2.3多分支条件语句3.多分支结构(If…Then…ElseIf语句)语法格式:(1)If表达式1Then语句块1ElseIf表达式2Then语句块2……[Else语句块n+1]EndIf2020/1/154.2.3多分支条件语句表达式表达式表达式语句块1语句块2语句块3语句块n+1FFF2020/1/154.2.3多分支条件语句语句功能:根据不同的表达式确定执行哪个语句块,VisualBasic测试条件的顺序为:表达式1、表达式2……,当遇到表达式值为非0(True)时,则执行该条件下的语句块。注意:(1)不管有几个分支,程序执行了一个分支后,其余分支不再执行。(2)ElseIf不能写成ElseIf或Else:If。(3)若多分支中有多个表达式同时满足,则只执行第一个与之匹配的语句块。2020/1/154.2.3多分支条件语句例:已知变量strC中存放了一个字符,判断该字符是字母字符、数字字符还是其它字符,并作相应的显示。IfUcase(strC)=AAndUcase(strC)=ZThenPrintstrC+是字母字符ElseIfstrC=0AndstrC=9ThenPrintstrC+是数字字符ElsePrintstrC+是其它字符EndIf2020/1/15IIf()函数变量=IIf(条件,True部分,Flase部分)当条件为True时,变量返回值为True部分,当条件为Flase时,变量返回值为Flase部分。Dimx%,y%,Tmax%x=15y=10Tmax=IIf(xy,x,y)PrintTmax2020/1/154.2.4If语句的嵌套If语句的嵌套:是指If或Else后面的语句块中又包含If语句。形式如下:If表达式1ThenIf表达式11Then……EndIf……EndIf2020/1/15例4-6PrivateSubCommand1_Click()x=Val(InputBox(输入年份))IfxMod400=0Theny$=是闰年ElseIfxMod4=0ThenIfxMod1000Theny$=是闰年Elsey$=不是闰年EndIfElsey$=不是闰年EndIfForm1.Printx;y$EndSub2020/1/15比较x,y,z的大小,并进行调整使得xyzIfxyThent=x:x=y:y=tEndIfIfyzThent=y:y=z:z=tIfxyThent=x:x=y:y=tEndIfEndIf表达式1语句块11表达式11语句块1F1T1F11T112020/1/154.3多分支条件语句5.情况语句(SelectCase语句)语法格式:SelectCase变量或表达式Case表达式列表1语句块1[Case表达式列表2语句块2]……[CaseElse语句块n+1]EndSelect表达式表达式表达式语句块n+1语句块1语句块2语句块nTTTFFF2020/1/154.3多分支条件语句(1)变量或表达式:是可以是数值型或字符串表达式。(2)表达式列表:必须与变量或表达式的类型相同,可以是表达式、一组用逗号分隔的枚举值、表达式1to表达式2、Is关系表达式,并且这几种表达式形式可以混用。多个表达式列表间用逗号分隔。功能:根据变量或表达式的值,从多个语句块中选择符合条件的一个语句块执行。条件的表现形式简单变量:Case2,5,8测试范围:Case10To20比较范围:CaseIs102020/1/154.3多分支条件语句执行过程:(1)先对变量或表达式求值,然后测试该值与哪一个Case子句中的表达式列表相匹配。(2)如果有相配的表达式列表,则执行与该Case语句有关的语句块,然后执行EndSelect后面的语句。(3)如果没有相匹配的表达式,则执行与CaseElse子句有关的语句块,然后执行EndSelect后面的语句。(4)如果有多个Case子句中的值与变量或表达式的值相匹配,则执行第一个与之匹配的语句块。2020/1/154.3多分支条件语句SelectCasestrCCaseaToz,AToZPrintstrC+是字母字符Case0To9PrintstrC+是数字字符CaseElsePrintstrC+是其它字符“EndSelect2020/1/154.3多分支条件语句注意:(1)并不是所有的多分支结构都可以用情况语句代替。(2)关键字To用来指定一个范围,必须将较小的值写在前面,较大的值写在后面,字符串常量的范围必须按字母顺序写出。(3)不能在Case后直接用逻辑运算符将两个或多个简单条件组合在一起。(4)Case子句的顺序对执行结果没有影响,但是CaseElse子句必须放在所有的Case子句之后。2020/1/15例题【例4-7】编写程序,根据经费的多少提出购买计算机的方案。设1万元以上购买PⅣ计算机,7千元以上购买PⅢ计算机,如果经费低于7千元,则明年购买。2020/1/154.4转移控制语句4.4.1无条件转移语句格式:GoTo{标号|行号}功能:无条件的将语句转移到指定的标号和行号的程序段。St:是一个标号,是以冒号结尾的一个字符(串)。100是一个行号,是一个整数,后面不跟冒号。2020/1/154.4转移控制语句【例】计算一批数据的平方根。编写程序,从键盘输入一个数据,即计算出该数的平方根,直到输入负数为止。PrivateSubCommand1_Click()DimxAsSingle,yAsSinglest:(100)x=Val(InputBox(输入一个数(输入负数结束)))Ifx0ThenEndy=Sqr(x)Printsqr(;x;)=;yGoTost(100)EndSub2020/1/154.4.2有条件转移语句格式:If条件thenGoTo{标号|行号}elseGoto{标号|行号}或If条件thenGoTo{标号|行号}elseGoto{标号|行号}Endif2020/1/154.4.3多分支选择转移语句格式:On表达式GoTo{标号|行号}计算过程:先计算表达式的值,并将其四舍五入处理为一个整数,然后根据该整数的值决定转移
本文标题:09visialbasic程序设计-第四章081130
链接地址:https://www.777doc.com/doc-3053427 .html