选择结构程序设计1.单行结构条件语句(单分支结构)If表_第1页
选择结构程序设计1.单行结构条件语句(单分支结构)If表_第2页
选择结构程序设计1.单行结构条件语句(单分支结构)If表_第3页
选择结构程序设计1.单行结构条件语句(单分支结构)If表_第4页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、选择结构程序设计选择结构程序设计 1.单行结构条件语句单行结构条件语句(单分支结构)(单分支结构) If Then If Then 语句块语句块 End If 当条件表达式的值为真时,执行当条件表达式的值为真时,执行Then后的后的语句,否则,不执行任何操作。语句,否则,不执行任何操作。 表达式为逻辑表达式,数值表达式和关系表达式为逻辑表达式,数值表达式和关系表达式视为逻辑表达式的特例。表达式视为逻辑表达式的特例。 语句块可以是一条或多条语句。语句块可以是一条或多条语句。 可以使用单行或多行语法有条件地执行一可以使用单行或多行语法有条件地执行一个语句。个语句。 If anyDateNow Th

2、en anyDate=Now If anyDateNow Then anyDate=Now End If IfThen的单行格式不用的单行格式不用End If语句。语句。 例3.52.双分支结构条件语句:双分支结构条件语句: If Then Else End If If ThenElse 当表达式值为非零时,执行当表达式值为非零时,执行Then后的语句后的语句1(或语句(或语句1)否则执行)否则执行Else后面的语句块后面的语句块2(或(或语句语句2)。)。 说明:块结构的条件语句可以嵌套,即把一说明:块结构的条件语句可以嵌套,即把一个个IfThen.Elsef块放在另一个块放在另一个IfTh

3、en.Elsef块内,嵌套必须完全嵌套,也就是内层条件语块内,嵌套必须完全嵌套,也就是内层条件语句必须完全包含在外层条件语句之中。句必须完全包含在外层条件语句之中。 例例3.6 -3.7 3.IfThenElseIf(多分支结构)(多分支结构) IfThen ElseIfThen Else End If 执行过程为:如果表达式执行过程为:如果表达式1为真,执行语句块为真,执行语句块1,否则,如果表达式否则,如果表达式2为真,则执行语句块为真,则执行语句块2,如果,如果条件都不是真,则执行条件都不是真,则执行Else后的语句块。后的语句块。说明:说明: 不管有几个分支,程序执行了一个分支后,不管

4、有几个分支,程序执行了一个分支后,其余分支不再进行。其余分支不再进行。 ElseIf子句的数量没有限制,可以根据需要子句的数量没有限制,可以根据需要使用任意多个使用任意多个ElseIf子句。子句。 语句中的语句中的ElseIf子句和子句和Else子句者是可选项,子句者是可选项,如果省略这些子句,则成为单分支结构。如果省略这些子句,则成为单分支结构。 IfThenElseIf只是只是 IfThenElse的一的一个特例。可以使用任意数量的个特例。可以使用任意数量的ElseIf子句,或者子句,或者一个也不用。可以有一个一个也不用。可以有一个Else子句,而不管有没子句,而不管有没有有ElseIf子

5、句。子句。 例例3.83.9 Private Sub Form_Click() Dim a As Single, b As Single, c As Single Dim p As Single, s As Single Text1.Text = : Text2.Text = : Text3.Text = a = val(Text1) : b = val(Text2) t :c = val(Text3) t If a+bc and b+ca and a+cb then p = (a + b + c) / 2 s = Sqr(p * (p - a) * (p - b) * (p - c) Els

6、e print “它不能构成一个三角形它不能构成一个三角形” End If End Sub 编写一个统计学生考试成绩的程序: 如果满足条件如果满足条件CJ60时,打印出时,打印出“成绩不成绩不及格及格”,采用的条件语句是:,采用的条件语句是: If CJ60 Then Print 成绩不及格成绩不及格 多行代码:多行代码: If CJ60 Then Print 成绩不及格成绩不及格“ Print 请准备补考请准备补考 End If Private Sub Command1_Click() Dim score As Integer, temp As String score = Val(Text

7、1.Text) temp = 成绩等级为:成绩等级为: If score 0 Then Label2.Caption = 成绩出错成绩出错 ElseIf score 60 Then Label2.Caption = temp + 不及格不及格 ElseIf score = 79 Then Label2.Caption = temp + 及格及格 ElseIf score = 100 Then Label2.Caption = temp + 优良优良 Else Label2.Caption = 成绩出错成绩出错 End IfEnd Sub4. Select Case选择结构(多分支结构) 格式:

8、Select Case 测试变量或表达式 Case 表达式表1 语句块1 Case 表达式表2 语句块2 Case 表达式表n 语句块n Case 表达式表n+1 语句块n+1 End Select Select Case在结构的上方处理一个测试变量或在结构的上方处理一个测试变量或表达式,并且只计算一次,然后根据测试变量或表达式,并且只计算一次,然后根据测试变量或表达式的值,从多个语句块中选择符合条件(值表达式的值,从多个语句块中选择符合条件(值相等)的一个语句块执行相等)的一个语句块执行,之后自动转到之后自动转到End Select 后的语句执行;如果没有找到与后的语句执行;如果没有找到与C

9、ase 子句子句中的表达式相匹配的值,则执行中的表达式相匹配的值,则执行Case Else子句后子句后面的语句块,然后转到面的语句块,然后转到End Select 后的语句执行。后的语句执行。 测试变量或表达式只能是数值表达式或字符测试变量或表达式只能是数值表达式或字符串表达式,不能是逻辑表达式。串表达式,不能是逻辑表达式。 语句块由一行或多行语句组成。语句块由一行或多行语句组成。 表达式表与测试变量或表达式的类型必须相表达式表与测试变量或表达式的类型必须相同,每一个表达式是一个或几个值的列表。如果同,每一个表达式是一个或几个值的列表。如果在一个列表中有多个值,用逗号分隔。在一个列表中有多个值

10、,用逗号分隔。一个表达式:一个表达式: Case 6一组枚举表达式:一组枚举表达式: Case 1,3,5,7 Case “I”,“YOU”,“Then”表达式表达式1To表达式表达式2。该形式指定某个数值范。该形式指定某个数值范围,较小的数值在前面,较大的数值在后面:围,较小的数值在前面,较大的数值在后面:字符串常量则按字母的字符串常量则按字母的ASCII码顺序从低到码顺序从低到高排列。高排列。 Case 1 To 10 Case “a” To “e”Is。 Case Is=80 Case Is”Y” 当有多个当有多个Case 子句的取值范围和测试表达子句的取值范围和测试表达式的值相符时,只

11、执行符合要求的第一个式的值相符时,只执行符合要求的第一个Case子句后面的语句块。子句后面的语句块。 Select Case语句只对单个表达式求值,并语句只对单个表达式求值,并根据求值结果执行不同的语句块;而根据求值结果执行不同的语句块;而IfThenElse语句可以对不同的表达式求语句可以对不同的表达式求值,然而招待不同的操作。值,然而招待不同的操作。 表达式表通常是一个具体值表达式表通常是一个具体值(如如Case 1),每一个,每一个值确定一个分支。还有三种方法可以确定设定值:值确定一个分支。还有三种方法可以确定设定值: (1)一组值一组值(用逗号隔开用逗号隔开)。示例:示例: Case

12、1,3,5 表示条件在表示条件在1,3,5范围内取值范围内取值 (2)表达式表达式1 TO 表达式表达式2。示例:示例: Case 60 To 80 表示条件取值范围为表示条件取值范围为6080 (3)Is关系式。关系式。示例:示例: Case Is 0计算复根的虚部计算复根的虚部P = sqr(D) / (2*a)X1 = (b + sqr(D) / (2*a)X2 = (bsqr(D) / (2*a)结束结束 Private Sub Command1_Click() Dim a As Single, b As Single, c As Single Dim D As Single, X1

13、As Single, X2 As Single Dim R As Single, P As Single a = Val(Text1.Text) 取数据取数据a b = Val(Text2.Text) 取数据取数据b c = Val(Text3.Text) 取数据取数据c If a = 0 Then 当当a=0 Text4.Text = 不是二次方程不是二次方程 Text5.Text = 不是二次方程不是二次方程 Else a0 D = b * b - 4 * a * c R = -b / (2 * a) If D = 0 Then D=0 Text4.Text = R Text5.Text = R ElseIf D 0 Then D0 X1 = (-b +

温馨提示

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

最新文档

评论

0/150

提交评论