- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 选择结构程序设计 引言 顺序结构程序的执行次序是按语句的先后排列次序依次执行的,然而,计算机在处理实际问题时,往往需要根据条件是否成立,决定程序的执行方向,在不同的条件下,进行不同的处理。假如遇到这样一个问题: 5.1 单行结构条件语句 1. 格式 If 条件 Then [语句组1] [Else 语句组2] 2. 功能 如果条件成立,则执行语句组1 否则执行语句组2 3. 说明 (1) 条件 可以是: 关系表达式 布尔表达式 数值表达式:0为False;非0为True 字符串表达式: 0为False;非0为True (2) 可以没有Else部分,这时必须有语句组1。 (3) 语句组1、语句组2: 可以有多条语句,各语句之间用冒号隔开。 例: If N0 Then A=A+B:B=B+A Else A=A-B:B=B-A (4) 应作为一条语句书写。如果语句太长需要换行,必须在折行处使用续行符号。 (5) 无论条件是否成立,都具有共同出口 例: If X = 0 Then X = 1 + X Else X = 5 - X Y = 1 - X Print Y=; Y 若 X=2 则打印 Y=-2 若 X=-2 则打印 Y=-6 【例5-1】设界面如下图所示,用文本框输入x的值,单击“计算Y”按钮时,根据以下公式计算y的值。 分析:本例需要输入x,根据x的值决定y的值,然后输出y的值,该计算过程可以用流程图表示: 思考: 比较以下两段程序,是否都能够实现上例的功能。 【例5-2】平面直角坐标系中,不同的象限内,点的坐标的符号有以下4种情况: 分析:设分别用文本框Text1和Text2输入X和Y值,如果该坐标点在坐标轴上,则给出提示并退出;如果该坐标点不在坐标轴上,再按X、Y的不同取值给出判断结果。具体过程用流程图表示如下: 设运行时单击命令按钮Command1进行判断,并将结果直接打印在窗体上,Command1的Click事件过程如下: 5.2 块结构条件语句 1.格式 If 条件1 Then [语句组1] [ElseIf 条件2 Then [语句组2]] …… [ElseIf 条件N Then [语句组N]] [Else [其他语句组]] End If 2. 功能 【例5-4】输入华氏温度F,利用公式C=5/9*(F-32)转换成摄氏温度C,根据转换结果C的不同值,按以下要求给出相应的提示。 Private Sub Command1_Click() C = 5 / 9 * (Val(Text1.Text) - 32) Text2.Text = Format(C, 0.00) If C 40 Then Label2.Caption = HOT ElseIf C 30 Then Label2.Caption = WARM ElseIf C 20 Then Label2.Caption = ROOM TEMPERATURE ElseIf C 10 Then Label2.Caption = COOL ElseIf C 0 Then Label2.Caption = COLD Else Label2.Caption = FREEZING End If End Sub 4. 注意 1) ElseIf不能写成Else If,即中间不能有空格。 2) 在书写时,可以将If语句、ElseIf子句、Else子句、和End If语句左对齐,而各语句组向右缩进若干空格,以使程序结构更清楚。 3) 严格按格式要求书写,不可随意换行或将两行合并成一行。例如,对于条件结构: If x = 0 Then y = 1 Else y = 2 End If 以下两种写法都是错误的: 5.3 多分支选择语句 1. 格式 Select Case 测试表达式 Case 表达式表1 [语句组1] [Case 表达式表2 [语句组2]] … [Case Else [语句组n]] End Select 2. 功能: 根据测试表达式的值,按顺序匹配Case后的表达式,如果匹配成功,则执行该Case下的语句块,然后转到End Select语
文档评论(0)