您好,欢迎访问三七文档
1编程就是针对要解决的问题用VB能接受的语句描述问题的解决过程和方法。如何将语句组织在一起按需要的顺序执行是下面要解决的内容。三种基本的流程控制结构:顺序结构,分支结构,循环结构结构化程序设计思想:自顶向下、逐步细化自顶向下:先从全局、整体设计逐步细化:将一个问题分解成几个较小的问题解决2.7VisualBasic的基本控制结构22.7.1顺序结构赋值语句:形式:变量名=表达式对象.属性=表达式功能:将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值.例:DimAAsSingleA!=3A=A+1Text1.Text=欢迎使用VisualBasic6.0”说明:1.执行过程:先求表达式的值,然后将值赋值给左边的变量。2.赋值号右边:可以是变量、常量、函数及其构成的表达式。左边只能是变量,不能是常量、函数或表达式。32.赋值号和关系运算符的区别3.右边表达式的值一般与赋值号左边的变量的数据类型相一致。当这两种数据类型不同时,VB系统将按以下方法处理:当表达式的值与变量的精度不同时,系统将强制转换成赋值号左边变量的数据类型。当把字符串赋值给数值型变量时,系统会将字符串自动转换成数值再赋值,但当字符串中包含非数字字符或是一空串时,则出错。当把逻辑值赋给数值变量时,True转换为-1,False转换为0;把数值型值赋给逻辑变量时,非0值转换为True,0转换为False。4.不能用一个赋值语句同时给多个变量赋值。4指出下列赋值语句中的错误:10=sin(x)+yc=3+sqr(-3)c+x+y=c*yX=sin(x)/(20mod2)Now()=x+y5PrivateSubForm_Click()DimXAsInteger,YAsIntegerX=6'赋值语句PrintX=6'输出关系表达式PrintX=6=-1'输出关系表达式,按优先级计算X=Y=6'给变量X赋值PrintX,YX=6Y=6X=X+1PrintX,YEndSub例第二章VisualBasic语言基础62.7VisualBasic的基本控制结构2.7.1顺序结构语句序列1语句序列2在顺序结构中程序语句是严格按书写顺序依次被执行的,这是一种最简单的控制结构。72.7.2条件分支结构(选择结构)1.单分支结构单分支结构语句有单行结构和块结构两种用法。If表达式Then语句‘单行结构If表达式Then‘块结构语句块EndIf表达式语句块TF该语句的作用是当表达式的值为True,执行Then后面的语句块,否则不做任何操作。表达式:关系表达式、逻辑表达式,算术表达式,算术表达式值按非零为True,零为False进行判断。8例1:已知两个数x和y,比较它们的大小,使得x大于y。IfxyThent=xx=yy=tEndIf或IfxyThent=x:x=y:y=t单行结构,只能是一句语句或多条语句间用冒号分隔,而且必须在一行上书写。例2:IfX=5ThenY=692.双分支结构If表达式Then语句块1Else语句块2EndIf或If表达式Then语句1Else语句2当表达式的值为True时,执行Then后面的语句块1,否则执行Else后面的语句块2。Else后不再有条件表达式语句块1和语句块2必须执行一块且只能执行一块表达式F语句块1T语句块2本章目录10例计算分段函数yxxxxxxxsincos231030本章目录单分支结构实现:y=sin(x)+sqr(x*x+1)Ifx=0Theny=cos(x)-x^3+3*x11双分支结构实现Ifx0Theny=sin(x)+sqr(x*x+1)Elsey=cos(x)-x^3+3*xEndIf12注意If和Then之间表达式的写法。关系表达式:X=Y含义XMOD2=0含义X/2=INT(X/2)含义XMODN=0含义X/N=INT(X/N)含义X是个两位数,X的十位数字和个位数字之和等于9,条件如何表示?X是个三位数,X的各位数字之和等于20,条件如何表示?X是个四位数,X的各位数字之和等于16,条件如何表示?X是一个两位数:个位表示:XMOD10任何一个整数除以10的余数永远等于此数的个位数字十位表示:X\10X是一个三位数:个位表示:XMOD10把想要得到的十位数字变成个位再MOD10十位表示:X\10MOD10百位表示:X\100思考:四位整数X的各位数字怎么用X表示?14逻辑表达式:X表示一个年份值,X是闰年应该满足什么条件?A,B,C表示三角形三边,A,B,C能构成三角形应该满足什么条件?数值表达式:DimxAsSinglex=Val(Text1.Text)IfxThenPrintxElsePrintx+1EndIf结果是什么?15例:设计一个账号,密码验证程序。要求用户名为hg,密码为“abc”,登录界面如下:用户名,密码正确弹出欢迎窗口,否则弹出错误提示。思考1:账号、密码不区分大小写且账号前后容许有空格怎么实现?思考2:密码改为系统日期的年份,怎么实现?163.多分支结构If表达式1Then语句块1ElseIf表达式2Then语句块2…ElseIf表达式NThen语句块N[Else语句块n+1]EndIf表达式2表达式nTFTF语句块n+1语句块2语句块1FT表达式1语句块n作用:根据表达式值确定执行哪个语句块(1)If…Then…ElseIf语句17说明:功能:依次对给定的条件表达式进行判断,哪个条件表达式的值为TRUE,则程序就执行该条件表达式后面的语句块。当多个条件都为TRUE时,程序只执行最先遇到的条件表达式后面的语句块,然后退出多分支结构。当所有条件都为FALSE时,则执行ELSE后面的语句块,如没有ELSE语句块,则直接退出多分支结构。ElseIf不能写成ElseIf会报错EndIf写成EndIf自动修正Else后不再有条件表达式18例编程将学生的百分制成绩转换成等级制,90分以上(包括90)为A,80-90分(包括80)为B,70-80分(包括70)为C,60-70分(包括60)为D,60分以下为F。(从文本框中接收学生的成绩数据)注意:书写条件表达式时,要注意书写次序,防止有些值会被过滤掉。如P63多分支结构例19例已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。If字母的条件表达式?ThenMsgBox(ch+是字母字符)'考虑大小写字母ElseIf数字字符的条件表达式?ThenMsgBox(ch+是数字字符)ElseMsgBox(ch+是其他字符)EndIf多分支结构例20(2)SelectCase语句SelectCase测试表达式Case表达式列表1语句块1Case表达式列表2语句块2…[CaseElse语句块n+1]EndSelect表达式列表与测试表达式的类型必须相同,是下面4种形式之一:•表达式例:A+5•一组用逗号分隔的枚举值2,4,6,8•表达式1To表达式260To100•Is关系运算符表达式Is60本章目录多分支结构21说明:(1)测试条件表达式可以是数值型或字符串表达式。一般为变量或含变量的表达式,测试表达式只能为一个表达式。(2)表达式列表必须与测试条件表达式的类型相同。可以是以下四种形式:表达式例:A+5一组用逗号分隔的枚举值例:2,4,6,8表达式1To表达式2例:60To100Is关系运算符表达式例:Is60Is关键字与比较运算符相结合,也可用来表示一个指定的范围,注意:Is这种形式,Is前面不要加变量。也可四种形式混合使用,中间用逗号隔开。22SelectCase语句例将前面例子改用SelectCase语句实现:SelectCasechCaseaToz,AToZMsgBox(ch+是字母字符)Case0To9MsgBox(ch+是数字字符)CaseElseMsgBox(ch+是其他字符)EndSelect多分支结构,用SelectCase语句比If…Then…ElseIf语句直观,程序可读性强。但不是所有的多分支结构均可用SelectCase语句代替If…Then…ElseIf语句。本章目录23SelectCase语句例例判断坐标点(x,y),落在哪个象限。代码一Ifx0Andy0ThenMsgBox(在第一象限)ElseIfx0Andy0ThenMsgBox(在第二象限)ElseIfx0Andy0ThenMsgBox(在第三象限)ElseIfx0Andy0ThenMsgBox(在第四象限)EndIf代码二SelectCasex,yCasex0Andy0MsgBox(“在第一象限”)Casex0Andy0MsgBox(“在第二象限”)Casex0Andy0MsgBox(“在第三象限”)Casex0Andy0MsgBox(“在第四象限”)EndSelect代码二错误:1.SelectCase后不能出现多个表达式2.Case后的表达式不符合前面的形式24【例题2-8】将【例题2-7】的程序用SelectCase语句编写。【例题2-9】某商场采用购物打折的优惠办法促销,每位顾客一次购物:在100元以上,按九五折优惠;在500元以上,按九折优惠;在1000元以上,按八五折优惠;在5000元以上,按八折优惠。SelectCase语句例SelectCase语句只能用来测试某一个表达式的值的情况,不能用来测试变量之间的关系25If语句的嵌套是指If或Else后面的语句块中又包含If语句如:If表达式1ThenIf表达式2Then…EndIf…EndIf4.If语句的嵌套IF条件1Then…..IF条件2Then……Else…..EndIf….Else….IF条件3Then…..Else…..EndIf…..EndIFIF条件1Then…..SelectCase…Case……IF条件2Then……Else…..EndIf……Case….…..EndSelect….EndIF2627【例题2-10】思路分析:用X表示产品重量,Y表示应付货款。则Y=1500x(x=10)1500*10+1200*(X-10)(10x=15)1500*10+1200*5+1000*(X-15)(x15)IF条件1Then….Else….IF条件2Then…..Else…..EndIf…..EndIF282.7.2条件分支结构5.使用条件函数(1)IIf()函数的语法格式是:变量=IIf(条件表达式,True部分,False部分)IIf函数是If…Then…Else结构的简洁表示例如,将x,y中大的数,放入Tmax变量中:Tmax=IIf(xy,x,y)该语句与如下语句等价:IfxyThenTmax=xElseTmax=y2929(2)Choose函数Choose(整数表达式,选项列表)根据表达式的值i,返回选项列表中第i个选项。如果整数表达式的值越出选项范围时,返回Null。例根据当前日期,显示今日是星期几。t=Choose(Weekday(Now),星期日,星期一,星期二,星期三,星期四,星期五,星期六)MsgBox(今天是:&Now&t)本章目录
本文标题:顺序分支结构
链接地址:https://www.777doc.com/doc-3435577 .html