VisualBasic控制结构.ppt_第1页
VisualBasic控制结构.ppt_第2页
VisualBasic控制结构.ppt_第3页
VisualBasic控制结构.ppt_第4页
VisualBasic控制结构.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual Basic语言程序设计,第7章 Visual Basic控制结构,2,第7章 Visual Basic控制结构,7.1 选择控制结构,7.2 多分支控制结构,7.3 For循环控制结构,7.4 当循环控制结构,7.5 Do循环控制结构,7.6 多重循环,3,7.1 选择控制结构,给定条件进行分析、比较和判断,并根据判断结果采取不同的操作,在VB中,这样的问题通过选择结构程序来解决。选择结构通过条件语句来实现。条件语句也称If语句,它有两种格式,一种是单行结构,一种是块结构。,7.1.1 单行结构条件语句 7.1.2 块结构条件语句 7.1.3 IIf函数,4,7.1.1 单行结构

2、条件语句,单行条件语句比较简单,其格式如下: If 条件 Then then部分Else else部分 该语句的功能是:如果“条件”为True,则执行“then部分”,否则执行“else部分”。 其中 Else部分是可选的,当省略时,简化为: If 条件Then then部分 它的功能是:如果“条件”为True,则执行“then部分”,否则执行下一行程序。,5,7.1.1 单行结构条件语句,例: 设有如下函数: 输入x值,求y值。 Private Sub Form_Click() Dim x As Single, y As Single x=InputBox(请输入x的值) If x0 The

3、n y=1 ElseIf x=0 Then y=0 Else y=-1 Print x=; x, y=; y End Sub,6,7.1.2 块结构条件语句,块结构条件语句一般格式如下: If 条件1 Then 语句块1 ElseIf 条件2 Then 语句块2 ElseIf 条件3 Then 语句块3 Else 语句块n End If,块结构条件语句的功能是:如果“条件1”为True,则执行“语句块1”;否则如果“条件2”为True,则执行“语句块2”否则执行“语句块n”。,7,7.1.2 块结构条件语句,例如: Check=InputBox(Enter a string: ,Check B

4、ox) If Len(Check)6 Then Print Input too long ElseIf Len(Check)6 Then Print Input too short ElseIf Left(Check)=a Then Print Cant start with an a End If,8,7.1.2 块结构条件语句,注意:当有多个条件时,单行语句和多行块结构的区别。,X=val(inputbox(“输入数字”) If x=5 then print “A” If x=7 then print “B” If x=9 then print “C” If x=11 then Print

5、 “D” 当输入8时,窗体上输出?,X=val(inputbox(“输入数字”) If x = 5 Then Print A ElseIf x = 7 Then Print B ElseIf x = 9 Then Print C ElseIf x = 11 Then Print D End If 当输入8时,窗体上输出?,9,7.1.3 IIf函数,IIf函数可用来执行简单的条件判断操作,它是“IfThenElse”结构的简写版本。 格式如下: result=IIf(条件, True部分, False部分) “result”是函数的返回值 “条件”是一个逻辑表达式。当“条件”为真时,IIf函数

6、返回“True部分”,而当“条件”为假时返回“False部分”。 “True部分”或“False部分”可以是表达式、变量或其他函数。,10,7.1.3 IIf函数,例如,块结构: if a5 Then r=1 Else r=2 End If 可用下面的IIf函数来代替: r=IIf(a5, 1, 2),11,7.2 多分支控制结构,在Visual Basic中,多分支结构程序通过情况语句来实现。情况语句也称Select Case语句或Case语句,它根据一个表达式的值,在一组相互独立的可选语句序列中挑选要执行的语句序列。,12,7.2 多分支控制结构,格式: Select Case 测试表达式

7、 Case 表达式表列1 语句块1 Case 表达式表列2 语句块2 Case Else 语句块n End Select,情况语句以Select Case开头,以End Select结束。其功能是,根据“测试表达式”的值,从多个语句块中选择符合条件的一个语句块执行。,13,7.2 多分支控制结构,格式: Select Case 测试表达式 Case 表达式表列1 语句块1 Case 表达式表列2 语句块2 Case Else 语句块n End Select, :变量、属性、计算式 :测试表达式可能的取值: 单一值例: Case A 枚举 例: Case 2,4,6,8 To区间例: Case

8、1 To 5 Is 关系表达式例: Case Is 10,注意:如果是is结构,则只能用简单关系运算,不能使用and or等逻辑表达,例如: Case is100 or is0 是不合法的,14,7.2 多分支控制结构,例: Sub Form_Click() msg=Enter data var=InputBox(msg) Select Case var Case 1 Text1.Text=1 Case 2 Text1.Text=2 Case 3 Text1.Text=3 Case Else Text1.Text=Good bye End Select End Sub,程序运行后,在输入对话框

9、中输入一个数值,如果输入的值为1,则在文本框中显示“1”,如果输入2或3,则在文本框中显示“2”或“3”,如果输入1、2、3之外的数值,则执行Case Else子句,在文本框中显示“Good bye”。,15,7.3 For循环控制结构,在实际应用中,经常遇到一些操作并不复杂,但需要反复多次处理的问题。对于这类问题,如果用顺序结构的程序来处理,将是十分繁琐的,有时候可能是难以实现的。为此,Visual Basic提供了循环语句。使用循环语句,可以实现循环结构程序设计。循环语句产生一个重复执行的语句序列,直到指定的条件满足为止。,16,7.3 For循环控制结构,Visual Basic提供了3

10、种不同风格的循环结构, 1 计数循环(ForNext循环) 2 当循环(WhileWend循环) 3 Do循环(DoLoop循环)。 其中ForNext循环按规定的次数执行循环体,而WhileWend循环和Do循环则是在给定的条件满足时执行循环体。,17,7.3 For循环控制结构,For循环一般格式如下: For 循环变量=初值 To 终值 Step 步长 循环体 Exit For Next 循环变量,循环变量 例: For x=1 to 100 Step 1 Sum=Sum + x Next x,18,7.3 For循环控制结构,参量的含义: 循环变量:数值型变量,控制循环执行。 初值:循

11、环变量的初值。 终值:循环变量的终值。 步长:循环变量的增量,是一个数值表达式。其值可以是正数或负数,不能为0。如果步长为1,可略去不写。 循环体:在For语句和Next语句之间的语句序列,可以是一个或多个语句。 Exit For:退出循环。 Next:循环终端语句,在Next后面的“循环变量”与For语句中的“循环变量”必须相同。,19,7.3 For循环控制结构,For循环语句的执行过程 首先把“初值”赋给“循环变量”,接着检查“循环变量”的值是否超过终值,如果超过就停止执行“循环体”,跳出循环,执行Next后面的语句;否则执行一次“循环体”,然后把“循环变量步长”的值赋给“循环变量”,重

12、复上述过程。,20,7.3 For循环控制结构,例: 求N! Sub Form_Click () Dim N As Integer N=InputBox(Enter N:) k=1 For i=1 To N k=k * i Next i Print N; !=; k End Sub,21,7.4 当循环控制结构,当循环(While循环)格式: While 条件 语句块 Wend While循环语句的执行过程是: 如果“条件”为True(非0值),则执行“语句块”,当遇到Wend语句时,控制返回到While语句并对“条件”进行测试,如仍然为True,则重复上述过程;如果“条件”为False,则不

13、执行“语句块”,而执行Wend后面的语句。,22,7.4 当循环控制结构,例: 从键盘上输入字符,对输入的字符进行计数,当输入的字符为“?”时,停止计数,并输出结果。 由于需要输入的字符的个数没有指定,无法用For循环来编写程序。停止计数的条件是输入的字符为“?”,可以用当循环语句来实现。,Sub Form_Click () Dim char As String Const ch$=? counter=0 msg$=Enter a character: char=InputBox$(msg$) While char ch counter=counter + 1 char=InputBox$(m

14、sg$) Wend Print counter End Sub,23,7.5 Do循环控制结构,Do循环和While循环很相似,但比While用法更加灵活。 格式如下: Do循环语句的功能是:当指定的“循环条件”为True或直到指定的“循环条件”变为True之前重复执行一组语句(即循环体)。,Do While | Until循环条件 语句块 Exit Do Loop,Do 语句块 Exit Do Loop While | Until循环条件,24,7.5 Do循环控制结构,在Do循环中,循环条件可以放在循环开始的Do语句后面,也可以放在循环结束的Loop语句后面。 Do WhileLoop循环

15、流程 Do UntilLoop循环流程,25,7.5 Do循环控制结构,DoLoop While循环流程 DoLoop Until循环流程,26,7.5 Do循环控制结构,例: 目前世界人口约为60亿,如果以每年1.4%的速度增长,多少年后世界人口达到或超过70亿。,Sub Form_Click() Dim p #, r!, n% p=6000000000# r=0.014 : n=0 Do p=p * (1 + r) n=n + 1 Loop Print n; 年后; 世界人口达; p End Sub,运行程序,单击窗体,程序输出为: 12 年后世界人口达7089354809.76375,U

16、ntil p = 7000000000#,27,7.6 多重循环,通常把循环体内不含有循环语句的循环叫做单层循环,而把循环体内含有循环语句的循环称为多重循环。例如在循环体内含有一个循环语句的循环称为二重循环。多重循环又称多层循环或嵌套循环。,28,7.6 多重循环,【例】 For i = 1 To 3 For j = 1 To 3 Print i, j Next j Next i,执行过程: 外循环一次,内循环完,再取外下次. i=1 j=1 输出11 j=2 12 j=3 13 i=2 j=1 21 j=2 22 j=3 23 i=3 j=1 31 j=2 32 j=3 33 i=4 退出循环,29,7.6 多重循环,例:打印“九九表”,结果如下:,30,7.6 多重循环,FontSize=12 Print Tab(30); 9 * 9 Table

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论