当前位置:首页 > 行业资料 > 交通运输 > 第四章基本的控制结构
第四章基本的控制结构4.1顺序结构一.赋值语句形式:[LET]变量名=表达式作用:将表达式的值赋值给变量名.一般用于给变量赋值或对控件设定属性值.注:赋值号不同于数学中的等号如X=Y2≡Y2=XX≠X+1未经赋值且用DIM定义的变量自动赋以初值0(数值型)、空串(字符型)、False(布尔型)1、格式:〈变量名〉=对象.属性值功能:获取对象当前的属性值2、格式:对象.属性值=〈变量名〉功能:设置对象的属性值3、对象变量的赋值格式:Set对象变量名=对象功能:将对象赋予对象变量如:把窗体Form1赋给一个窗体变量Win1可用语句:SetWin1=form1无论何时,只要希望对象变量引用对象,就需可使用Set语句给对象变量赋值。例:DIMX%,Y%,Z%X=Y=ZPRINTX,Y,Z例:sRate!=0.1Text1.Text=欢迎使用VisualBasic6.0”当表达式的类型与变量的类型不一致时,强制转换成左边的精度iA%=10/3iA中的结果为3注意:虽然赋值号与关系运算符等于号都用“=”表示,VB系统会根据所处的位置自动判断是何种意义的符号。二.与用户交互函数和过程1.MsgBox函数格式:MsgBox(〈提示〉[,〈按钮类型〉][,〈标题〉][,〈帮助文件名〉,〈帮助号〉])功能:生成一对话框,并在对话框内显示信息,等待用户选择按钮。·提示(必选):字符串表达式,给出在对话框内显示的信息,不超过1024个字符。·按钮类型(可选):数值表达式,用于确定对话框内显示按钮或图标的类型和对话框的显示模式(缺省为0)格式:C1+C2+C3+C4C1取值:描述了对话框中显示的按钮的类型与数目常数值描述vbOKOnly0只显示OK按钮。VbOKCancel1显示OK及Cancel按钮。VbAbortRetryIgnore2显示Abort、Retry及Ignore按钮。VbYesNoCancel3显示Yes、No及Cancel按钮。VbYesNo4显示Yes及No按钮。VbRetryCancel5显示Retry及Cancel按钮。C2取值:描述了图标的样式VbCritical16显示CriticalMessage图标。VbQuestion32显示WarningQuery图标。VbExclamation48显示WarningMessage图标。VbInformation64显示InformationMessage图标。C3取值:说明哪一个按钮是缺省值VbDefaultButton10第一个按钮是缺省值。VbDefaultButton2256第二个按钮是缺省值。VbDefaultButton3512第三个按钮是缺省值。C4取值:决定消息框的强制返回性VbApplicationModal0应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作。VbSystemModal4096系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。注意:常数是VisualBasicforApplications(VBA)指定的。因此,可以在程序代码中随时使用这些常数名称,而不必使用实际数值。·标题(可选):字符串表达式,为对话框的标题栏·帮助文件名(可选):字符串表达式,确定帮助文件名·帮助号(可选):数值表达式,帮助主题的代码MsgBox函数返回值:常数值描述vbOK1OKvbCancel2CancelvbAbort3AbortvbRetry4RetryvbIgnore5IgnorevbYes6YesvbNo7No注意:如果要省略某些位置上的参数,则必须加入相应的逗号。例:DimMsg,Style,Title,Response,MyStringMsg=口令错!请重新输入!'定义信息框中的信息。Style=vbOKOnly+vbCritical+vbApplicationModal'定义按钮。Title=”出错信息”‘信息框的标题MsgBoxMsg,Style,Title2.InputBox函数格式:InputBox(〈提示〉[,〈标题〉][,〈缺省值〉][,〈帮助文件名〉,〈帮助号〉])功能:显示对话框及其上的提示信息,等待用户在对话框内的文本框中输入或选择一个按钮,并将文本框内容返回。·提示、标题、帮助文件名、帮助号同MsgBox函数·缺省值:显示在文本框中的缺省值·返回值:如果用户单击OK或按下ENTER,则InputBox函数返回文本框中的内容。如果用户单击Cancel,则此函数返回一个长度为零的字符串()。注意:如果要省略某些位置参数,则必须加入相应的逗号分界符。例:DimstrClassasStringStrClass=inputBox(“请输入您的班级:”,”输入班级”,”计9701”)例1:交换变量a和b中的数据例2:已知三角形的三条边A,B,C之值,求该三角形的面积。例3:已知系数A,B,C之值,求AX2+BX+C=0的根。习题:1已知长、宽、高,求长方体的表面积2将一个字符串,转大写、转小写、还原3输入时、分、秒,换算成秒4随机产生3个在给定范围的随机整数4.2选择结构特点:根据不同的条件选择不同的程序段执行1、IF~THEN语句格式:IF〈条件〉THEN〈语句〉FT例:IFX>0THENPRINTSQR(X)IFN=2THENTEXT1.TEXT=“HELLO!”2、IF~THEN结构格式:IF〈条件〉THEN〈语句序列1〉[ELSE〈语句序列2〉ENDIF注意:条件可以是关系表达式、逻辑表达式、算术表达式例:IFSQR(4)THENPRINT“HELLO”ENDIF例:IF1+TRUETHENPRINT“BOOK”ENDIF条件表达式语句下一条语句TF例1:IfabthenprintaelseprintbEndif例2:exCOSX|X|≤1计算Y=3X2+1|X|>1解1:Y=EXP(X)*COS(X)IFABS(X)1THENY=3*X*X+1解2:IFABS(X)=1THENY=EXP(X)*COS(X)IFABS(X)1THENY=3*X*X+1解3:IFABS(X)=1THENY=EXP(X)*COS(X)ElseY=3*X*X+1ENDIF解4:IFABS(X)1THENY=3*X*X+1Y=EXP(X)*COS(X)3、多分支IF~THEN结构格式:IF〈条件1〉THEN〈语句序列1〉ELSEIF〈条件2〉THEN〈语句序列2〉…………ELSEIF〈条件n〉THEN〈语句序列n〉[ELSE〈语句序列n+1〉]ENDIF功能:依次检查各个条件,一旦条件为真,则执行相应的语句序列,再执行ENDIF下条件表达式语句序列1语句序列2ENDIF下一条语句一条语句。FFFTTT例:X2+Y2(X>Y>0)计算Z=XSINY+YCOSX(X≤Y或Y=0)(X+Y)2其它例:DimxAsIntegerx=Val(InputBox(inputadata))Ifx=90ThenPrint优!ElseIfx=80ThenPrint良!ElseIfx=70ThenPrint中!ElseIfx=60ThenPrint及格!ElsePrint不及格!EndIf例2:DimxAsIntegerx=Val(InputBox(inputadata))Ifx=60ThenPrint及格!ElseIfx=70ThenPrint中!ElseIfx=80ThenPrint良!ElseIfx=90ThenPrint优!ElsePrint不及格!EndIf条件1条件2条件n语句序列1语句序列2语句序列n语句序列n+1ENDIF下一条语句4、SELECT~CASE~ENDSELECT结构格式:SelectCase〈测试表达式〉Case〈表达式1〉〈语句序列1〉Case〈表达式2〉〈语句序列2〉…………Case〈表达式n〉〈语句序列n〉[CaseElse〈语句序列n+1〉]EndSelect功能:用测试表达式的值依次与CASE后的条件表达式比较,若条件匹配,则执行其下的语句序列,再执行ENDSELECT的下一条语句。(1)测试表达式可以是数值表达式或字符串表达式,假设表达式的值为X(2)表达式可以是以下三类:(I)常量表:X是常量表中元素之一,条件匹配。如1,3,8或“A”、“P”、“Z“(II)〈常量1〉TO〈常量2〉:X在范围内,条件匹配。如8TO20,“B”TO“H”(III)IS〈关系运算符〉〈常量〉:X满足关系,条件匹配。如IS〉10,IS〈=“P”(IV)可以是以上三种形式的组合。如4,7TO9,IS〉10例1:根据成绩,打印等级(优秀、良好、及格、不及格)例2:计算税收,按下列规定计税货价〈=2000元,免税;2000元〈货价〈=5000元,抽税2%;货价〉5000元,除抽税2%外,超过5000元的部分再抽税5%,外加手续费100元。例3:报数游戏:A、B、C、D、E、F、G、H八人站成一排,方法从1开始报数,问谁报道19880426?例4:已知三角形的三条边A,B,C之值,求该三角形的面积。例5:输入年、月,判断该月有几天?5、条件函数IIF()函数格式:IIF(表达式,条件为TRUE的值,条件为FALSE的值)TMAX=IIF(XY,X,Y)例:已知坐标点(x,y),判断其落在哪个象限。方法一Ifx0Andy0ThenPrint在第一象限ElseIfx0Andy0ThenPrint在第二象限ElseIfx0Andy0ThenPrint在第三象限ElseIfx0Andy0ThenPrint在第四象限EndIf方法二SelectCasex,yCasex0Andy0Print在第一象限Casex0Andy0Print在第二象限Casex0Andy0Print在第三象限Casex0Andy0Print在第四象限EndSelect6.常见错误1.在选择结构中缺少配对的结束语句对多行式的If块语句中,应有配对的EndIf语句结束。2.多边选择ElseIf关键字的书写和条件表达式的表示ElseIf不要写成ElseIf;多个条件表达式次序问题,3.SelectCase语句的使用SelectCase后不能出现多个变量;Case子句后不能出现变量4.3循环结构特点:根据条件来确定是否循环往复地执行某程序段。1、FOR~NEXT循环结构(已知循环次数)格式:For〈循环变量〉=〈初值〉to〈终值〉[step〈步长〉]〈循环体〉[EXITFOR]Next〈循环变量〉(1)FOR语句的功能:(I)将初值赋给循环变量,且保存终值和步长(II)超过:执行NEXT下一语句比较循环变量的值和终值:不超过:执行循环体(2)NEXT语句的功能:(I)将循环变量当前值加步长再赋给循环变量(II)超过:执行NEXT下一语句比较循环变量的值和终值:不超过:执行循环体(3)FOR语句和NEXT语句必须成对出现,且循环变量必须一致(4)循环次数=INT1)步长初值终值(,可能小于1,即一次都不执行循环体(5)正:当循环变量<终值时,执行循环体步长可正可负负:当循环变量>终值时,执行循环体1:STEP1可省略(6)出现在循环体中,参加循环体中的运算循环变量不出现在循环体中,仅控制循环次数(7)EXITFOR语句的功能:无条件执行NEXT下一语句,一般与IF语句连用(8)正常出口:循环变量超过终值(I>B)FOR~NEXT循环非正常出口:执行EXITFOR语句(I<B=例:FORI=ATOBSTEPC〈循环体〉EXITFORNEXTI注:A、B、C可以为数值表达式TFI超过B?循环体[EXITFOR]循环体NEXTFOR下一条语句计算A、B、CA→I,保存B、CI+C→I例:FORI=1TO5PRINTI,NEXTI例:X=1FORI=1TO5(FORI=-1TO–5STEP–1)PRINTX,NEXTI例:FORI=1TO5PRINTI,NEXTIPRINTI例:A=1:B=10:C=
本文标题:第四章基本的控制结构
链接地址:https://www.777doc.com/doc-2168805 .html