书签 分享 收藏 举报 版权申诉 / 64
上传文档赚钱

类型第3章流程控制语句课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:3861072
  • 上传时间:2022-10-19
  • 格式:PPTX
  • 页数:64
  • 大小:284.86KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第3章流程控制语句课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    流程 控制 语句 课件
    资源描述:

    1、 Visual Basic语言作为结构化程序设计语言,提供了三种控制流来控制程序的流程:顺序,条件分支和循环。第三章 流程控制语句第三章第三章 流程控制语句流程控制语句 程序中的语句依照其在程序中的位置自上而下地执行,叫做语句的顺序执行。顺序结构程序由声明、输入、计算和输出等部分组成。3-1 顺序结构程序设计A AB Ba ab b图图1.1 1.1 顺序结构示意图顺序结构示意图3-1-1 赋值语句格式:变量名=表达式 或 对象属性名=表达式 功能:将赋值号右边表达式的值赋给赋值号左边的变量或对象 属性。举例:Form1.width=300 Form1.caption=输入框 Temp=Tem

    2、p+20说明:说明:赋值号左边只能是变量,不能是表达式、常量赋值号左边只能是变量,不能是表达式、常量。如下面的赋如下面的赋值语句是错误的:值语句是错误的:sin(x)=x+y 左边是表达式左边是表达式 5=sqr(s)+a+b 左边是常量左边是常量 x+y=a+b 左边是表达式左边是表达式 当当表达式为数值型且与变量的精度不相同时,强制转换成左表达式为数值型且与变量的精度不相同时,强制转换成左边变量的精度。例如:边变量的精度。例如:XA%=4.7 XAXA%=4.7 XA是整型变量,是整型变量,XAXA中的结果是中的结果是5 5。当右边的表达式当右边的表达式是数字字符串,左边变量是数值类型时,

    3、自是数字字符串,左边变量是数值类型时,自动转换成数值类型再赋值;但当表达式有非数字字符或空串时,动转换成数值类型再赋值;但当表达式有非数字字符或空串时,则出错。例如;则出错。例如;n%=n%=“123123”n n中的结果是中的结果是123123,与,与n%=Val(n%=Val(“123123”)效果相同效果相同 n%=n%=“1a231a23”出现出现“类型不匹配类型不匹配”的错误的错误 任何非字符类型的值赋给字符变量时,系统自动转换为字符类型。比如x$=123,将数值123转换为字符串赋给字符型变量x 当逻辑型赋值给数值型时,True转换为-1,False转换为0;反之,当数值型赋给逻辑

    4、型时,非0转换为True,0转换为False.赋值语句中的“=”与关系运算符中的“=”的作用截然不同。例如:A=7=9 第一个“=”是赋值运算符,第二个“=”是关系运算符。A的结果是False 赋值语句a=b和b=a是两个含义完全不同的赋值语句;而在关系表达式中a=b和b=a是两种等价的表示方式。不能在同一语句中给多个变量赋值。例如:Dim a As Integer,b As Integer,c As Integera=b=c=1我们的本意是给a、b、c赋初值1,书写上没有错误。但VB编译时,将右边两个“=”作为关系运算符处理,先进行b=c的的比较,结果为-1(True);接着进行-1=1的比

    5、较,结果为False;最后将False给a,而False 转换为整型值为0,故a的值最后为0.变量的默认值声明了变量后,不同的数据类型有不同的默认值:数值型为 0Boolean型为 FalseString型为 空Date型为 0:00:00Variant型为 空 Dim A As Integer 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单元的内容互换。3-1-2.3-1-2.数据输入数据输入数据输入的方法有很多种。比如键盘、鼠标、数据输入的方法有很多种。比如键盘、

    6、鼠标、磁盘文件、网络端口、声卡及其它输入设备。最常用的是用键磁盘文件、网络端口、声卡及其它输入设备。最常用的是用键盘和鼠标。盘和鼠标。1.1.使用使用InputBox()InputBox()函数函数格式格式:InputBox(InputBox(提示信息提示信息,标题标题,默认值默认值,x,x座标座标,y,y座标座标)该函数返回用户的输入,为字符型的函数。该函数返回用户的输入,为字符型的函数。可以指定一个提示信息,在进行输入时向使用者提示输入可以指定一个提示信息,在进行输入时向使用者提示输入数据的性质。也可以指定输入框的标题和指定其显示位置,还数据的性质。也可以指定输入框的标题和指定其显示位置,

    7、还可以设置一个缺省值。可以设置一个缺省值。功能:功能:打开一个对话框,等待用户键入内容。当用户单击打开一个对话框,等待用户键入内容。当用户单击“确定确定”按钮或按回车键时,函数返回输入的值按钮或按回车键时,函数返回输入的值(字符串类型字符串类型),单击取,单击取消按钮时,返回空字符串。消按钮时,返回空字符串。例例3.1 使用使用InputBox函数显示用户输入的数据函数显示用户输入的数据 MyValue=InputBox$(请输入学校名或系名请输入学校名或系名,Inputbox 函数的例函数的例子子,校名校名,2000,2000)Print MyValue标题提示信息 默认值其中:其中:“提示

    8、信息提示信息”:字符串表达式,字符串表达式,必选项必选项。在对话框中作为提示信息,可。在对话框中作为提示信息,可以是字符或汉字。如果提示信息包含多行,则必须在每行末用回车符以是字符或汉字。如果提示信息包含多行,则必须在每行末用回车符(VbCRVbCR)、换行符()、换行符(VbLFVbLF)或回车换行符的组合()或回车换行符的组合(VbNewLineVbNewLine或或VbCRLFVbCRLF)来分)来分隔。比如:隔。比如:MyValue MyValue=InputBox$(=InputBox$(请输入请输入学校学校名名 +vbNewLine+vbNewLine+或或系名系名,Inputbo

    9、x Inputbox 函数的例子函数的例子,校名校名,2000,2000,2000,2000)“标题标题”:可选项。显示在对话框标题栏中的字符串表达式。如果省略,可选项。显示在对话框标题栏中的字符串表达式。如果省略,则把应用程序名放在标题栏中。则把应用程序名放在标题栏中。“默认值默认值”:可选项,显示文本框中的字符串表达式。当在输入对话框可选项,显示文本框中的字符串表达式。当在输入对话框中无输入内容时,该缺省值作为输入的内容。如果省略,则文本框为空。中无输入内容时,该缺省值作为输入的内容。如果省略,则文本框为空。“X X坐标,坐标,Y Y坐标坐标”:可选项,数值表达式。指定对话框在屏幕上的位置

    10、。可选项,数值表达式。指定对话框在屏幕上的位置。屏幕左上角为坐标原点,向右为屏幕左上角为坐标原点,向右为x x正方向,向下为正方向,向下为y y的正方向。的正方向。InputBox InputBox()函数返回的是字符,若要得到数值型数据,可以使用()函数返回的是字符,若要得到数值型数据,可以使用valval()()函数,或者直接赋给数值型变量函数,或者直接赋给数值型变量 Dim x As IntegerDim x As Integer x=InputBox(x=InputBox(请输入数据请输入数据)Print xPrint x2.2.使用文本框使用文本框(TextBox)(TextBox)

    11、控件控件 该控件可以让用户输入或者编辑一个字符串,它的该控件可以让用户输入或者编辑一个字符串,它的T e x tT e x t 属 性 包 括 了 控 件 内 的 文 本。例:属 性 包 括 了 控 件 内 的 文 本。例:u A g e =u A g e =Val(TxtAge.Text)Val(TxtAge.Text)注:注:TxtAgeTxtAge是一个文本框控件的名字,是一个文本框控件的名字,ValVal是将字符是将字符串转为数值的函数。串转为数值的函数。例3.2 使用TextBox控件输入数据在窗体上创建两个文本框:text1和text2,然后输入以下代码:Dim name As S

    12、tring,age As Integername=Text1.Text:age=Val(Text2.Text)Print name,ageVal()函数,将文本转换为数值有三种方法进行输出有三种方法进行输出u 使用使用printprint方法方法u 使用控件(文本框、标签)使用控件(文本框、标签)u 使用消息框使用消息框1 1.使用使用PrintPrint方法进行输出方法进行输出格式:格式:对象名对象名.Print.Print 输出项输出项 功能:功能:在指定对象上显示数据。在指定对象上显示数据。说明:说明:对象名:可以是窗体对象名:可以是窗体(Form)(Form)、图片框、图片框(Pict

    13、ure)(Picture)、打印机、打印机(Printer)(Printer)或者调试窗口或者调试窗口(Debug)(Debug),如果不指定,则认为是当,如果不指定,则认为是当前窗体。前窗体。输出项:可选项。可以是一个或多个任意表达式。当有多输出项:可选项。可以是一个或多个任意表达式。当有多个表达式时,其间要用分隔符隔开。显示的字符串内容要用个表达式时,其间要用分隔符隔开。显示的字符串内容要用双引号括起来。当省略表达式和分隔符时,输出一空行。双引号括起来。当省略表达式和分隔符时,输出一空行。3-1-3 3-1-3 数据输出数据输出例:例:S$=“S$=“你好呀!你好呀!”X%=100X%=1

    14、00Print Print 5+6,100 5+6,100Print“hello!”Print“hello!”Print Print“s=s=”;s,s,“x=x=”;x xPrint x=200 Print x=200,x x 输出什么呢?输出什么呢?分隔符:分隔符:“,”代表随后的输入自下一个制表代表随后的输入自下一个制表位(每位(每1414列一个)开始,列一个)开始,“;”代表连续输出。代表连续输出。PrintPrint输出的位置是在对象的左上角输出的位置是在对象的左上角0,00,0处处输出的时候可以作用输出的时候可以作用Tab(n)Tab(n)和和Spc(n)Spc(n)函数来进行函数

    15、来进行绝对和相对定位。绝对和相对定位。TabTab(n n)函数:)函数:可选。用来将插入点定位在绝对可选。用来将插入点定位在绝对列号上,这里,列号上,这里,n n 为列号。为列号。Spc(n)Spc(n)函数:函数:可选。用来在输出中插入若干个空可选。用来在输出中插入若干个空白字符,这里,白字符,这里,n n 为要插入的空白字符数。为要插入的空白字符数。例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(

    16、20);“abcc Print Print Spc(20);0.000000282.使用控件进行输出使用控件进行输出(1 1)使用标签)使用标签 Label Label 控件进行输出控件进行输出 标签控件可用于输出固定标签控件可用于输出固定(无须进行编辑的无须进行编辑的)文本,方法是给文本,方法是给LabelLabel控件的控件的CaptionCaption属性赋值。属性赋值。例:例:Label1.Caption=Label1.Caption=“这是一个标签这是一个标签”Label1.Caption=Date&vbCrLf&TimeLabel1.Caption=Date&vbCrLf&Time

    17、(2 2).使用文本框使用文本框 TextBox TextBox 控件输出控件输出 文本框控件既可用于输入也可以用于输出,使用的方法是给文本框控件既可用于输入也可以用于输出,使用的方法是给文本框控件的文本框控件的TextText属性赋值。属性赋值。例:例:Text1.Text=“Text1.Text=“可以进行输出可以进行输出”回车换行符3.3.用消息框输出用消息框输出消息框可以实现系统和用户间的交互,使用消息框可以实现系统和用户间的交互,使用MsgBoxMsgBox函数来实现函数来实现格式:格式:变量变量%=MsgBox(%=MsgBox(提示提示 ,按钮类型按钮类型,标题标题)或者:或者:

    18、MsgBox MsgBox 提示提示 ,按钮类型按钮类型,标题标题 说明:说明:第一种是函数的使用方法,能取得返回值,知道用户点第一种是函数的使用方法,能取得返回值,知道用户点击了哪个按钮,第二种方法只是显示消息。击了哪个按钮,第二种方法只是显示消息。“提示提示”和和“标题标题”的含义与的含义与InputBox()InputBox()函数中对应函数中对应的参数相同。的参数相同。“按钮类型按钮类型”:可选项,为整型表达式(或内部常:可选项,为整型表达式(或内部常数)。由按钮的数目、图标类型和默认按钮三类数值相加产生。数)。由按钮的数目、图标类型和默认按钮三类数值相加产生。例:例:MsgBox M

    19、sgBox“这是一个消息框这是一个消息框”,VbOkCancel VbOkCancel,“测试测试”或或 MsgBox“这是一个消息框这是一个消息框”,1,“测试测试”又如:又如:MsgBox 这是一个消息框这是一个消息框,1+16,测试测试“按钮按钮”设置见下表。设置见下表。分组 内部常数 按钮值 描 述 按钮 数目VbOkOnlyVbOkCancelVbAboutRetryIgnoreVbYesNoCancelVbYesNoVbRetyCancel012345只显示确定按钮显示“确定”、“取消”按钮显示“终止”、“重试”、“忽略”按钮显示“是”、“否”、“取消”按钮显示“是”、“否”显示“

    20、重试”、“取消”按钮图标类型VbCriticalVbQuestionVbExclamationVbInformation16324864关键信息图标,红色STOP标志询问信息图标?警告信息图标!信息图标 I默认按钮VbDefaultButton1VbDefaultButton2VbDefaultButton30256512第1个按钮为默认第2个按钮为默认第3个按钮为默认模式VbApplicationModaleVbSystemModal04096应用模式系统模式MsgBox函数函数“按钮类型按钮类型”设置值设置值“变量%”:返回值。当用户按下消息框按钮时,系统将返回按键相对应的数值。返回值的定

    21、义见下表例:Dim x As Integerx=MsgBox(这是一个消息框,vbOKCancel,测试)Print xMsgBoxMsgBox函数返回值的定义函数返回值的定义内部常数返回值被单击的按钮vbOkvbCancelvbAboutvbRetryvbIgnorevbYesvbNo1234567确定取消终止重试忽略是否利用这个返回信息,用户可以在以后的程序中作出不同的响应。例如,在打印文件时,如果选择“确定”按钮,那么程序就应该打印文件;如果选择“取消”按钮,程序就不再打印文件;4.使用使用Format函数对输出信息进行格式化处理函数对输出信息进行格式化处理格式:格式:Format(表达

    22、式表达式,格式字符串,格式字符串)功能:功能:对数值、日期、时间、字符等类型数据按指定格式进对数值、日期、时间、字符等类型数据按指定格式进行编排,产生需要的输出行编排,产生需要的输出字符串字符串。说明:说明:“表达式表达式”是要格式化的数值。是要格式化的数值。“格式字符串格式字符串”格式字符串由一些符号组成,这些符号用来格式字符串由一些符号组成,这些符号用来说明如何确定该数字的格式,格式字符串一定要用引号括起说明如何确定该数字的格式,格式字符串一定要用引号括起来。见教材表来。见教材表3-1。下面仅对常用的格式进行举例说明。下面仅对常用的格式进行举例说明。Format(8315.4,Format

    23、(8315.4,“00000.0000000.00”)08315.4008315.40Format(8315.4,Format(8315.4,“#.#.#”)8315.48315.4Format(8315.4,Format(8315.4,“#,#0.00#,#0.00”)8,315.408,315.40Format(315.4,Format(315.4,“$#0.00$#0.00”)$315.40$315.40例:例:print print Format(8315.4,“00000.00”)5.清屏清屏 cls上课教程上课教程61页页【例例3.8】上机实验:上机实验:实验教材的实验实验教材的实

    24、验3:3.编程题编程题(1)、(、(2)、()、(3)Visual Basic Visual Basic 选择结构的实现:选择结构的实现:*IfIfThen Then 语句(单分支结构)语句(单分支结构)*IfIfThenThenElse Else 语句(双分支结构)语句(双分支结构)*Select Case Select Case 语句(多分支结构)语句(多分支结构)3-2 选择结构程序设计1.IfThen语句(单分支结构)格式格式1 1:IfIf表达式表达式Then Then 语句语句 格式格式2 2:IfIf表达式表达式ThenThen 语句(块)语句(块)End IfEnd IfT T

    25、F F 语句(块)表达式图图3-6 3-6 单分支结构单分支结构功能:功能:当表达式的值为当表达式的值为“真真”时,则时,则执行执行ThenThen后面的语句或语句块;否则后面的语句或语句块;否则不执行任何操作。不执行任何操作。格式格式1 1称为行称为行IFIF,格式,格式2 2称为块称为块IFIF。说明:说明:表达式表达式为为逻辑表达式。逻辑表达式。数值表达式数值表达式和关系表达式被和关系表达式被视为逻辑表达式的特例。当表达式为数值表达式时,视为逻辑表达式的特例。当表达式为数值表达式时,VB VB 将将这个值解释为这个值解释为 True True 或或 FalseFalse:一个为零的数值为

    26、一个为零的数值为 FalseFalse,而任何非零数值都被看作而任何非零数值都被看作 TrueTrue。如:如:if 5 then print“if 5 then print“非非0”0”语句块可以是一条或多条语句。如果使用格式语句块可以是一条或多条语句。如果使用格式1 1的的简单形式表示,则只能是一条语句;或用冒号隔开的多条简单形式表示,则只能是一条语句;或用冒号隔开的多条语句,但这些语句必须书写在一行上。语句,但这些语句必须书写在一行上。比如:比如:If anyDate Now Then anyDate=NowIf anyDate Now Then anyDate=Now 和下面语句等效:

    27、和下面语句等效:If anyDate Now ThenIf anyDate=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例例:求一元二次方程的两个实根求一元二次方程的两个实根格式化输出的是字符串,若将+号改成&则不必要format2.If2.IfThen Then Else Else 语句语句2.IfThen Else 语句结构(双分支结构)格式1:If Then Else En

    28、d If格式2:If Then Else FT语句(块)1语句(块)2表达式图图3-8 3-8 双分支结构双分支结构功能:功能:当表达式的值为非当表达式的值为非0 0(TrueTrue)时)时,执行执行ThenThen后面的语句后面的语句块块1 1,否则执行,否则执行ElseElse后面的语句块后面的语句块2 2。【例1】求两个输入值的较大者Dim x As Integer,y As IntegerLabel1.Caption=“较大值是:x=Val(InputBox(请输入第一个数:)y=Val(InputBox(请输入第二个数:)If x y Then Label1.Caption=Lab

    29、el1.Caption&xElse Label1.Caption=Label1.Caption&yEnd If【例例2 2】计算分段函数计算分段函数1sin2xxxxx3cos3Y=Y=x0 x0 x=0 x=0建立一个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)3.If3.IfThenThenElse If Else If 语句语句3.IfThen Else If 语句(多分支结构

    30、)结构语句格式:If 表达式1 Then 语句块1ElseIf 表达式2Then 语句块2 Else 语句块 n+1 End If FTTT表达式1表达式2表达式nn语句块11语句块2语句块nn语句块n+11F图图3-9 3-9 多分支结构多分支结构说明:说明:不管有几个分支,程序执行了一个分支后,其余不管有几个分支,程序执行了一个分支后,其余分支不再执行。分支不再执行。ElseIfElseIf子句的数量没有限制,可以根据需要使用子句的数量没有限制,可以根据需要使用任意多个任意多个ElseIfElseIf子句。子句。语句中的语句中的ElseIfElseIf子句和子句和ElseElse子句都是可

    31、选项,如子句都是可选项,如果省略这些子句,则成为单分支结构。果省略这些子句,则成为单分支结构。If.Then.ElseIf If.Then.ElseIf 只是只是 If.Then.Else If.Then.Else 的一个特例。的一个特例。Private Sub Command1_Click()Dim x As Single,y As Single x=Text1.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 的值并输出的值并

    32、输出y=5 x0 x+1 0 x2x2+2 x2不要写成x=0程序设计界面如下程序设计界面如下Label3Label2Label1Command1例例:求一元二次方程求一元二次方程ax2+bx+c=0的根的根Private Sub Command1_Click()Dim a As Single,b As Single,c As Single,d As Single,x1 As Single,x2 As Single,x As Single a=InputBox(“输入a的值”,“输入框”):b=InputBox(“输入b的值”,“输入框”):c=InputBox(输入c的值,输入框)If a=

    33、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(x1):Label3.Caption=Label3.Caption+Format(x2)ElseIf d=0 Then x=-b/(2*a)Label2.Caption=Label2.Caption+Fo

    34、rmat(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,#.#)+-+Format(Abs(x2),#.#)+i End If End IfEnd Sub程序代码如下程序代码如下4.If 语句的嵌套语句的嵌套4.If 语句的嵌套条件语句可以嵌套,即把一个条件语句

    35、可以嵌套,即把一个If Then Else 块放在另一块放在另一个个If Then Else 块内。块内。语句形式为:语句形式为:If then if then endif Endif嵌套必须完全嵌套,也就是内嵌套必须完全嵌套,也就是内层条件语句必须完全包含在外层条件语句必须完全包含在外层条件语句之中层条件语句之中,不得交叉!不得交叉!比如上例计算分段函数的值,用嵌套实现Private Sub Command1_Click()Dim x As Single,y As Single x=Text1.Text If x=0 Then If x=2 Then y=x 2+2 Else y=x+1 E

    36、nd IfElse y=5 End If Text2.Text=yEnd Suby=5 x0 x+1 0 xYZ。If xy (x=5,y=3)EndifIf yz(y=8,z=3)if xy then 此时此时x,y的值已变化的值已变化 t=x:x=y:y=t(x=8,y=5)endifEndif结果:结果:x=8,y=5,z=3 FTFF表达式表n语句块n+1语句块nT表达式表2语句块2T表达式表1语句块1图图 2.11 Select Case 2.11 Select Case 结构结构 格式:格式:Select CaseSelect Case 测试表达式测试表达式 CaseCase 表达

    37、式表表达式表1 1 语句块语句块11 CaseCase 表达式表表达式表2 2 语句块语句块22 CaseCase 表达式表表达式表n n 语句块语句块nn Case ElseCase Else 语句块语句块n+1n+1 End SelectEnd Select5 5Select CaseSelect Case语句语句(多分支结构多分支结构)功能:功能:Select Case语句在执行时,先求测试表达式的值,然后寻找该值与哪一个语句在执行时,先求测试表达式的值,然后寻找该值与哪一个Case子句的表达式值相匹配,找到后则执行与该子句的表达式值相匹配,找到后则执行与该Case语句有关的语句块,语句

    38、有关的语句块,之后自动转到之后自动转到EndSelect后的语句执行;如果没有找到与后的语句执行;如果没有找到与Case子句中的表达子句中的表达式相匹配的值,则执行式相匹配的值,则执行Case Else子句有关的语句块,然后转到子句有关的语句块,然后转到End Select后面的语句执行。后面的语句执行。说明:说明:测试表达式测试表达式只能是数值表达式或字符串表达式只能是数值表达式或字符串表达式,不能是逻辑表达式。,不能是逻辑表达式。表达式表与测试表达式的类型必须相同,每一个表达式表是一个或几表达式表与测试表达式的类型必须相同,每一个表达式表是一个或几个值的列表。个值的列表。表达式表有四种形式

    39、:表达式表有四种形式:一个表达式。一个表达式。如:如:Case 6 一组用逗号隔开的枚举值。一组用逗号隔开的枚举值。如:如:Case 1,3,5,7 或或 Case“A”,“B”一个范围,一个范围,表达式表达式1 TO 表达式表达式2。如:如:Case 1 To 10 或或 Case“a”to“z”Is 。如:如:Case Is=80 或或 Case Is”t”另外,在一个情况语句中,上述四种形式可以混合使用另外,在一个情况语句中,上述四种形式可以混合使用 当有多个当有多个Case子句的取值范围和测试表达式的子句的取值范围和测试表达式的值域相符时,只执行符合要求的第一个值域相符时,只执行符合要

    40、求的第一个Case子句后的子句后的语句块。语句块。Select Case语句只对单个表达式求值,并根据语句只对单个表达式求值,并根据求值结果执行不同的语句块;而求值结果执行不同的语句块;而If Then Else语句语句可以对不同的表达式求值,然后执行不同的操作。这是可以对不同的表达式求值,然后执行不同的操作。这是两者的主要区别。两者的主要区别。例例311:使用使用case语句改变窗体标题语句改变窗体标题Private Sub Form_Click()Dim index As Integerindex=Val(InputBox(请输入一个数:)Select Case index Case 1

    41、Form1.Caption=复制操作 Case 2 Form1.Caption=剪切操作 Case 3 Form1.Caption=粘贴操作 Case 4 Form1.Caption=清除操作 Case Else Form1.Caption=其他操作End SelectEnd SubPrivate Sub Form_Click()Dim Score As IntegerScore=Val(Text1.Text)Select Case Score Case Is=90 Label1.Caption=优秀 Case Is=80 Label1.Caption=良好 Case Is=70 Label1

    42、.Caption=中等 Case Is=60 Label1.Caption=及格 Case Else Label1.Caption=不及格End SelectEnd Sub例例 输入输入19001999年中的任意一个年份,编写程序,计算该年的生肖。年中的任意一个年份,编写程序,计算该年的生肖。CmdCalcuLabel1Label2界面设计如下界面设计如下Private Sub CmdCalcu_Click()Dim Year As Integer Dim Name As Integer Year=InputBox(请输入一个19001999间的年份:)Label1.Caption=Str(Y

    43、ear)+年的生肖为:Year=Year-1984 If Year=0 Then Name=Year Mod 12 Else Year=Abs(Year)Name=12-(Year Mod 12)End If Select Case Name Case 0 Label2.Caption=鼠 Case 1 Label2.Caption=牛 Case 2 Label2.Caption=虎Case 3 Label2.Caption=兔 Case 4 Label2.Caption=龙 Case 5 Label2.Caption=蛇 Case 6 Label2.Caption=马 Case 7 Labe

    44、l2.Caption=羊 Case 8 Label2.Caption=侯 Case 9 Label2.Caption=鸡 Case 10 Label2.Caption=狗 Case 11 Label2.Caption=猪 End SelectEnd Sub程序代码如下程序代码如下条件函数:条件函数:IIfIIf(表达式(表达式1 1,表达式,表达式2 2,表达式,表达式3 3)首先执行表达式首先执行表达式1 1,若为真,则结果为表达式,若为真,则结果为表达式2 2,若为假,若为假,则结果为表达式则结果为表达式3 3Private Sub Command1_Click()Dim x As Sin

    45、gle,y As Single,max As Singlex=InputBox(请输入第一个数,输入)y=InputBox(请输入第二个数,输入)max=IIf(x y,x,y)Print 最大值为:&maxEnd Sub上机实验:上机实验:实验教材的实验实验教材的实验4:3.编程题编程题(1)、(、(3)、()、(4)、()、(6)、()、(7)3-3 循环结构程序设计 循环是在指定的条件下多次重复执行一组语句,循环是在指定的条件下多次重复执行一组语句,这可通过循环结构来实现。循环分当型和直到型。这可通过循环结构来实现。循环分当型和直到型。VBVB中提供了两种类型的循环语句:一种是计数循中提

    46、供了两种类型的循环语句:一种是计数循环语句;另一种是条件循环语句。环语句;另一种是条件循环语句。Visual Basic Visual Basic 支持的支持的循环结构有多种,这里只介绍两种:循环结构有多种,这里只介绍两种:For.NextFor.Next DoDoLoopLoop说明:说明:For.Next For.Next 循环用于事先知道次数的循环。循环用于事先知道次数的循环。DoDoLoop Loop 循环用于事先不知道循环次数的循环结构。循环用于事先不知道循环次数的循环结构。1.For 1.For NextNext循环循环 1.For Next循环循环体循环变量增加步长循环变量获得初

    47、值变量超过终值图图 ForFor循环的执行过程循环的执行过程注意:教材中的和有误!注意:教材中的和有误!格式:格式:For For 循环变量循环变量 =初值初值 To To 终值终值 Step Step 步长步长 Next Next 循环变量循环变量 说明:说明:格式中的参数说明:格式中的参数说明:循环变量必须为数值型。循环变量必须为数值型。循环的初值、终值和步长都是数值表达式。循环的初值、终值和步长都是数值表达式。其中,步长可正可负。如果没有设置其中,步长可正可负。如果没有设置stepstep,则增量默认为则增量默认为1 1。增量为正时,初值应该小于。增量为正时,初值应该小于等于终值,增量为

    48、负时初值应该大于等于终等于终值,增量为负时初值应该大于等于终值值,否则不执行循环。步长不能为否则不执行循环。步长不能为 0 0 NextNext是循环终端语句,在是循环终端语句,在NextNext后面的循环后面的循环变量与变量与ForFor中的循环变量必须相同。当循环是中的循环变量必须相同。当循环是单层循环时,单层循环时,NextNext后面的循环变量可以不写。后面的循环变量可以不写。For For循环的执行过程:首先把初值赋给循环变量,接循环的执行过程:首先把初值赋给循环变量,接着检查循环变量的值是否超过终值,如果超过就不执行着检查循环变量的值是否超过终值,如果超过就不执行循环体,跳出循环,

    49、执行循环体,跳出循环,执行NextNext后面的语句;否则执行一后面的语句;否则执行一次循环体,然后把循环变量增加步长,再赋给循环变量,次循环体,然后把循环变量增加步长,再赋给循环变量,重复上述过程。重复上述过程。当初值等于终值时,不管步长是正数还是负数,都当初值等于终值时,不管步长是正数还是负数,都执行一次循环体。执行一次循环体。循环次数由初值、终值和步长决定,计算公式为:循环次数由初值、终值和步长决定,计算公式为:循环次数循环次数=INT=INT(终值(终值 初值)初值)/步长步长+1+1)程序进入程序进入ForFor循环后,是否跳离循环的判断条件是依据循循环后,是否跳离循环的判断条件是依

    50、据循环变量的值做决定的。在循环体中可以使用循环变量,但环变量的值做决定的。在循环体中可以使用循环变量,但一般不再对循环变量赋值。如果在循环中任意改变循环变一般不再对循环变量赋值。如果在循环中任意改变循环变量的值,会导致循环异常(见下页的例子)。量的值,会导致循环异常(见下页的例子)。例:找出所有小于例:找出所有小于50的正的正整数中等于整数中等于7的倍数的数。的倍数的数。Private Sub Form_Click()Dim I As IntegerFor I=1 To 50 If I Mod 7=0 Then Print INextEnd SubPrivate Sub Form_Click(

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第3章流程控制语句课件.pptx
    链接地址:https://www.163wenku.com/p-3861072.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库