第3章流程控制语句课件.pptx
《第3章流程控制语句课件.pptx》由会员分享,可在线阅读,更多相关《第3章流程控制语句课件.pptx(64页珍藏版)》请在三一办公上搜索。
1、Visual Basic语言作为结构化程序设计语言,提供了三种控制流来控制程序的流程:顺序,条件分支和循环。,第三章 流程控制语句,第三章 流程控制语句,Visual Basic语言作为结构化程序设计语言,,程序中的语句依照其在程序中的位置自上而下地执行,叫做语句的顺序执行。顺序结构程序由声明、输入、计算和输出等部分组成。,3-1 顺序结构程序设计,3-1-1 赋值语句格式:变量名=表达式 或 对象属性名=表达式 功能:将赋值号右边表达式的值赋给赋值号左边的变量或对象 属性。举例:Form1.width=300 Form1.caption=输入框 Temp=Temp+20,程序中的语句依照其在
2、程序中的位置自上而下地执行,叫做,说明:赋值号左边只能是变量,不能是表达式、常量。如下面的赋值语句是错误的:sin(x)=x+y 左边是表达式 5=sqr(s)+a+b 左边是常量 x+y=a+b 左边是表达式 当表达式为数值型且与变量的精度不相同时,强制转换成左边变量的精度。例如:XA%=4.7 XA是整型变量,XA中的结果是5。当右边的表达式是数字字符串,左边变量是数值类型时,自动转换成数值类型再赋值;但当表达式有非数字字符或空串时,则出错。例如;n%=“123”n中的结果是123,与n%=Val(“123”)效果相同 n%=“1a23”出现“类型不匹配”的错误,说明:,任何非字符类型的值
3、赋给字符变量时,系统自动转换为字符类型。比如x$=123,将数值123转换为字符串赋给字符型变量x 当逻辑型赋值给数值型时,True转换为-1,False转换为0;反之,当数值型赋给逻辑型时,非0转换为True,0转换为False.赋值语句中的“=”与关系运算符中的“=”的作用截然不同。例如:A=7=9 第一个“=”是赋值运算符,第二个“=”是关系运算符。A的结果是False 赋值语句a=b和b=a是两个含义完全不同的赋值语句;而在关系表达式中a=b和b=a是两种等价的表示方式。,任何非字符类型的值赋给字符变量时,系统自动转换为字符类型。,不能在同一语句中给多个变量赋值。例如:Dim a As
4、 Integer,b As Integer,c As Integera=b=c=1我们的本意是给a、b、c赋初值1,书写上没有错误。但VB编译时,将右边两个“=”作为关系运算符处理,先进行b=c的的比较,结果为-1(True);接着进行-1=1的比较,结果为False;最后将False给a,而False 转换为整型值为0,故a的值最后为0.,变量的默认值声明了变量后,不同的数据类型有不同的默认值:数值型为 0Boolean型为 FalseString型为 空Date型为 0:00:00Variant型为 空,不能在同一语句中给多个变量赋值。例如:变量的默认值,Dim A As Integer
5、Dim B As Integer Dim C As Integer A=123 B=456 Print A,B C=A A=B B=C Print A,B,例3.3 将A和B单元的内容互换。,Dim A As Integer例3.3 将A和B,3-1-2.数据输入数据输入的方法有很多种。比如键盘、鼠标、磁盘文件、网络端口、声卡及其它输入设备。最常用的是用键盘和鼠标。1.使用InputBox()函数格式:InputBox(提示信息,标题,默认值,x座标,y座标)该函数返回用户的输入,为字符型的函数。可以指定一个提示信息,在进行输入时向使用者提示输入数据的性质。也可以指定输入框的标题和指定其显示位
6、置,还可以设置一个缺省值。功能:打开一个对话框,等待用户键入内容。当用户单击“确定”按钮或按回车键时,函数返回输入的值(字符串类型),单击取消按钮时,返回空字符串。,3-1-2.数据输入,例3.1 使用InputBox函数显示用户输入的数据 MyValue=InputBox$(请输入学校名或系名,Inputbox 函数的例子,校名,2000,2000)Print MyValue,标题,提示信息,默认值,例3.1 使用InputBox函数显示用户输入的数据标题提示,其中:“提示信息”:字符串表达式,必选项。在对话框中作为提示信息,可以是字符或汉字。如果提示信息包含多行,则必须在每行末用回车符(V
7、bCR)、换行符(VbLF)或回车换行符的组合(VbNewLine或VbCRLF)来分隔。比如:MyValue=InputBox$(请输入学校名+vbNewLine+或系名,Inputbox 函数的例子,校名,2000,2000)“标题”:可选项。显示在对话框标题栏中的字符串表达式。如果省略,则把应用程序名放在标题栏中。“默认值”:可选项,显示文本框中的字符串表达式。当在输入对话框中无输入内容时,该缺省值作为输入的内容。如果省略,则文本框为空。“X坐标,Y坐标”:可选项,数值表达式。指定对话框在屏幕上的位置。屏幕左上角为坐标原点,向右为x正方向,向下为y的正方向。InputBox()函数返回的
8、是字符,若要得到数值型数据,可以使用val()函数,或者直接赋给数值型变量 Dim x As Integer x=InputBox(请输入数据)Print x,其中:,2.使用文本框(TextBox)控件 该控件可以让用户输入或者编辑一个字符串,它的Text属性包括了控件内的文本。例:uAge=Val(TxtAge.Text)注:TxtAge是一个文本框控件的名字,Val是将字符串转为数值的函数。,例3.2 使用TextBox控件输入数据在窗体上创建两个文本框:text1和text2,然后输入以下代码:Dim name As String,age As Integername=Text1.Te
9、xt:age=Val(Text2.Text)Print name,age,Val()函数,将文本转换为数值,2.使用文本框(TextBox)控件例3.2 使用TextB,有三种方法进行输出使用print方法使用控件(文本框、标签)使用消息框1.使用Print方法进行输出格式:对象名.Print 输出项 功能:在指定对象上显示数据。说明:对象名:可以是窗体(Form)、图片框(Picture)、打印机(Printer)或者调试窗口(Debug),如果不指定,则认为是当前窗体。输出项:可选项。可以是一个或多个任意表达式。当有多个表达式时,其间要用分隔符隔开。显示的字符串内容要用双引号括起来。当省略
10、表达式和分隔符时,输出一空行。,3-1-3 数据输出,有三种方法进行输出3-1-3 数据输出,例:S$=“你好呀!”X%=100Print 5+6,100Print“hello!”Print“s=”;s,“x=”;xPrint x=200,x 输出什么呢?分隔符:“,”代表随后的输入自下一个制表位(每14列一个)开始,“;”代表连续输出。Print输出的位置是在对象的左上角0,0处输出的时候可以作用Tab(n)和Spc(n)函数来进行绝对和相对定位。Tab(n)函数:可选。用来将插入点定位在绝对列号上,这里,n 为列号。Spc(n)函数:可选。用来在输出中插入若干个空白字符,这里,n 为要插入
11、的空白字符数。,例3.5 用Print语句输出各种格式的数据。,Dim a,b,c,x,y,z a=1:b=2:c=3 x=4:y=5:z=6 Print a,b,c Print x,y,z Print a;b;c;Print x;y;z Print Tab(20);“abcc Print Print Spc(20);0.00000028,例:例3.5 用Print语句输出各种格式的数据。,2.使用控件进行输出(1)使用标签 Label 控件进行输出 标签控件可用于输出固定(无须进行编辑的)文本,方法是给Label控件的Caption属性赋值。例:Label1.Caption=“这是一个标签”
12、Label1.Caption=Date&vbCrLf&Time(2).使用文本框 TextBox 控件输出 文本框控件既可用于输入也可以用于输出,使用的方法是给文本框控件的Text属性赋值。例:Text1.Text=“可以进行输出”,回车换行符,2.使用控件进行输出回车换行符,3.用消息框输出消息框可以实现系统和用户间的交互,使用MsgBox函数来实现格式:变量%=MsgBox(提示,按钮类型,标题)或者:MsgBox 提示,按钮类型,标题说明:第一种是函数的使用方法,能取得返回值,知道用户点击了哪个按钮,第二种方法只是显示消息。“提示”和“标题”的含义与InputBox()函数中对应的参数相
13、同。“按钮类型”:可选项,为整型表达式(或内部常数)。由按钮的数目、图标类型和默认按钮三类数值相加产生。例:MsgBox“这是一个消息框”,VbOkCancel,“测试”或 MsgBox“这是一个消息框”,1,“测试”又如:MsgBox 这是一个消息框,1+16,测试“按钮”设置见下表。,3.用消息框输出,MsgBox函数“按钮类型”设置值,分组 内部常数 按钮值 描,“变量%”:返回值。当用户按下消息框按钮时,系统将返回按键相对应的数值。返回值的定义见下表例:Dim x As Integerx=MsgBox(这是一个消息框,vbOKCancel,测试)Print x,MsgBox函数返回值的
14、定义,利用这个返回信息,用户可以在以后的程序中作出不同的响应。例如,在打印文件时,如果选择“确定”按钮,那么程序就应该打印文件;如果选择“取消”按钮,程序就不再打印文件;,“变量%”:返回值。当用户按下消息框按钮时,系统将返,4.使用Format函数对输出信息进行格式化处理格式:Format(表达式,格式字符串)功能:对数值、日期、时间、字符等类型数据按指定格式进行编排,产生需要的输出字符串。说明:“表达式”是要格式化的数值。“格式字符串”格式字符串由一些符号组成,这些符号用来说明如何确定该数字的格式,格式字符串一定要用引号括起来。见教材表3-1。下面仅对常用的格式进行举例说明。Format(
15、8315.4,“00000.00”)08315.40Format(8315.4,“#.#”)8315.4Format(8315.4,“#,#0.00”)8,315.40Format(315.4,“$#0.00”)$315.40例:print Format(8315.4,“00000.00”)5.清屏 cls,4.使用Format函数对输出信息进行格式化处理,上课教程61页【例3.8】上机实验:实验教材的实验3:3.编程题(1)、(2)、(3),上课教程61页【例3.8】,Visual Basic 选择结构的实现:*IfThen 语句(单分支结构)*IfThenElse 语句(双分支结构)*Se
16、lect Case 语句(多分支结构),3-2 选择结构程序设计,Visual Basic 选择结构的实现:3-2,1.IfThen语句(单分支结构),格式1:If表达式Then 语句 格式2:If表达式Then 语句(块)End If,功能:当表达式的值为“真”时,则执行Then后面的语句或语句块;否则不执行任何操作。格式1称为行IF,格式2称为块IF。,1.IfThen语句(单分支结构)格式1:If表达式,说明:表达式为逻辑表达式。数值表达式和关系表达式被视为逻辑表达式的特例。当表达式为数值表达式时,VB 将这个值解释为 True 或 False:一个为零的数值为 False,而任何非零数
17、值都被看作 True。如:if 5 then print“非0”语句块可以是一条或多条语句。如果使用格式1的简单形式表示,则只能是一条语句;或用冒号隔开的多条语句,但这些语句必须书写在一行上。比如:If anyDate Now Then anyDate=Now 和下面语句等效:If anyDate Now Then anyDate=Now End If If.Then 的单行格式不用 End If 语句。,说明:表达式为逻辑表达式。数值表达式和关系表达式被视为逻,创建两个标签 Label1和Label2:Dim a As Single,b As Single,c As SingleDim d
18、As Single,x1 As Single,x2 As SingleLabel1.Caption=第一个根是:Label2.Caption=第二个根是:a=8:b=12:c=2d=b*b-4*a*cIf d=0 Then x1=(-b+Sqr(d)/(2*a)x2=(-b-Sqr(d)/(2*a)Label1.Caption=Label1.Caption+Format(x1)Label2.Caption=Label2.Caption+Format(x2)End If,例:求一元二次方程的两个实根,格式化输出的是字符串,若将+号改成&则不必要format,创建两个标签 Label1和Label
19、2:例:求一元,2.IfThen Else 语句,2.IfThen Else 语句结构(双分支结构),格式1:If Then Else End If格式2:If Then Else,功能:当表达式的值为非0(True)时,执行Then后面的语句块1,否则执行Else后面的语句块2。,2.IfThen Else 语句2.IfThen E,【例1】求两个输入值的较大者Dim x As Integer,y As IntegerLabel1.Caption=“较大值是:x=Val(InputBox(请输入第一个数:)y=Val(InputBox(请输入第二个数:)If x y Then Label1.
20、Caption=Label1.Caption&xElse Label1.Caption=Label1.Caption&yEnd If,【例1】求两个输入值的较大者,建立一个Label1标签,输入程序 如下:x=InputBox(请输入X的值,输入框,500,500)If x 0 Then y=Sin(x)+Sqr(x*x+1)Else y=Cos(x)-x 3+3*xEnd IfLabel1.Caption=Format(y),【例2】计算分段函数Y=x0 x=0建立一个Label1标,3.IfThenElse If 语句,3.IfThen Else If 语句(多分支结构)结构,语句格式:I
21、f 表达式1 Then 语句块1ElseIf 表达式2Then 语句块2 Else 语句块 n+1 End If,3.IfThenElse If 语句3.IfThen,说明:不管有几个分支,程序执行了一个分支后,其余分支不再执行。ElseIf子句的数量没有限制,可以根据需要使用任意多个ElseIf子句。语句中的ElseIf子句和Else子句都是可选项,如果省略这些子句,则成为单分支结构。If.Then.ElseIf 只是 If.Then.Else 的一个特例。,说明:,Private Sub Command1_Click()Dim x As Single,y As Single x=Text1
22、.Text If x 0 Then y=5 ElseIf x 2 Then y=x+1 Else y=x 2+2 End If Text2.Text=yEnd Sub,例:输入 x,计算分段函数 y 的值并输出,不要写成x=0,Private Sub Command1_Click()例:,程序设计界面如下,例:求一元二次方程ax2+bx+c=0的根,程序设计界面如下Label3Label2Label1Comm,Private Sub Command1_Click()Dim a As Single,b As Single,c As Single,d As Single,x1 As Single,
23、x2 As Single,x As Single a=InputBox(“输入a的值”,“输入框”):b=InputBox(“输入b的值”,“输入框”):c=InputBox(输入c的值,输入框)If a=0 Then x=-c/b:Label2.Caption=Label2.Caption+Format(x):Label3.Caption=Label3.Caption+Format(x)Else d=b*b-4*a*c If d 0 Then x1=(-b+Sqr(d)/(2*a):x2=(-b-Sqr(d)/(2*a)Label2.Caption=Label2.Caption+Format
24、(x1):Label3.Caption=Label3.Caption+Format(x2)ElseIf d=0 Then x=-b/(2*a)Label2.Caption=Label2.Caption+Format(x):Label3.Caption=Label3.Caption+Format(x)Else d=Abs(d):x1=(-b)/(2*a):x2=Sqr(d)/(2*a)Label2.Caption=Label2.Caption+Format(x1,#.#)+Format(Abs(x2),#.#)+i Label3.Caption=Label3.Caption+Format(x1,
25、#.#)+-+Format(Abs(x2),#.#)+i End If End IfEnd Sub,程序代码如下,Private Sub Command1_Click()程序,4.If 语句的嵌套,条件语句可以嵌套,即把一个If Then Else 块放在另一个If Then Else 块内。语句形式为:If then if then endif Endif嵌套必须完全嵌套,也就是内层条件语句必须完全包含在外层条件语句之中,不得交叉!,比如上例计算分段函数的值,用嵌套实现Private Sub Command1_Click()Dim x As Single,y As Single x=Text
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 流程 控制 语句 课件
链接地址:https://www.31ppt.com/p-2109030.html