理论教育 VisualBasic中的条件控制结构选择

VisualBasic中的条件控制结构选择

时间:2023-11-19 理论教育 版权反馈
【摘要】:选择结构是根据给定的判断条件的结果来控制程序的流程。VB中选择结构可以分为If语句和Select Case语句两大类。多分支If结构在某些情况下可能有多个条件为True,但也只能执行一个语句块。界面设计:图7-1例7.1界面设计图7-2例7.1运行结果属性设置:表7-1属性设置续表编写程序代码:二、块结构的条件语句If...Then...Else结构语法格式:功能:该结构用于解决“二选一”的问题。

VisualBasic中的条件控制结构选择

选择结构是根据给定的判断条件的结果来控制程序的流程。VB中选择结构可以分为If语句和Select Case语句两大类。

条件语句也称If语句,一种是单行结构,一种是块结构。

一、单行结构条件语句If...Then结构

语法格式:

(1)If 表达式Then 语句块

(2)If 表达式Then

语句块

End If

功能:如果表达式的值为真(True),执行Then后的语句块内容;否则不执行语句块内容。

说明:

(1)表达式可以是:关系表达式(x>5)、逻辑表达式(x>5 and x<10)、算术表达式(Check1.Value)。若为算术表达式,值为0则为假,非0则为真。而当“条件”为关系表达式或逻辑表达式时,-1表示True,0表示False。

(2)如果是单行If格式,所有的代码必须写在同一行中,绝对不能换行。如果是块If语句,各语句块必须独占一行,End If不能省略。

(3)语句块若是一条语句,可用单行If结构;为多条语句,则采用块If结构较好,当然也可以采用单行If格式,这时各语句必须在同一行中且用“:”分隔,且不能出现End If。

(4)多分支If结构在某些情况下可能有多个条件为True,但也只能执行一个语句块。

【例7.1】输入两个数,输出较大的数。

分析:本题由用户输入两个数,经计算机判断后将较大数输出,即有两个输入量和一个输出量。所以需要两个文本框接受用户输入,可以采用标签来实现数据的输出。

界面设计

图7-1 例7.1界面设计

图7-2 例7.1运行结果

属性设置:

表7-1 属性设置

续表

编写程序代码:

二、块结构的条件语句

If...Then...Else结构语法格式:

功能:该结构用于解决“二选一”的问题。当表达式的值为真,执行语句块1的语句内容;否则执行语句块2的语句内容。

说明:

1.表达式最终的值必须为逻辑值,即取值为真或者是假。

2.若语句块1和语句块2都是单条语句,可采用单行If格式,否则采用块If语句。

3.跟If...Then不同,该结构中若表达式值为假,就执行语句块2的语句内容。

【例7.2】编写一个程序,实现当用户输入的用户名和口令都正确时显示“欢迎登录”的消息对话框,当用户名或口令有错误时显示消息对话框报告错误。

分析:本题需要两个文本框分别保存用户输入的用户名和口令,一个“登录”按钮,一个“退出”按钮。当输入的用户名和口令与正确的相符时显示“合法用户”,不相符时显示“非法用户”,所以应当采用If...Then...Else结构来实现。

界面设计:

图7-3 例7.2界面设计

图7-4 例7.2运行结果

编写代码:

Private Sub Command1_Click()

If Text1.Text="LanMing"And Text2.Text=123456 Then

MsgBox“欢迎登录”

Else

MsgBox“非法用户”

End If

End Sub

Private Sub Command2_Click()(www.daowen.com)

End

End Sub

三、IIf函数

语法格式:Result=IIf(条件,True部分,False部分)

功能:Result是函数的返回值,条件是一个逻辑表达式,当条件为真(True),该函数返回True部分,否则就返回False部分。True部分或False部分可以是表达式、变量或其他函数。其中,该函数的三个参数都是必需的,不可省略。而且要求True部分、False部分及结果变量的类型一致,如果False部分存在被0除问题,则程序将会出错(即使“条件”为True)。

1.在使用IIf函数时,必须要将其返回值赋值给一个变量,不可以单独调用。如上面的代码不可以写成:IIf(x=1,"Yes","No")。

2.在使用IIf函数时,第2和第3个参数必须只能为一条语句,而且必须是有返回值的,这是IIf函数跟If...Then...Else结构的不同之处。如下所示:

MsgBox IIf(user="SYL"And psw="123456","正确!","错误!")

IIf(user="SYL"And psw="123456",MsgBox("正确!"),MsgBox("错误!"))

Result=iif(val(str)>12,”str大于12”,“str不大于12”)

四、多分支If结构

语法格式:

执行过程:如表达式1为真,则执行语句块1;否则测试表达式2的值,为真则执行语句块2;依次类推至找到一个值为真的表达式则执行相应的语句块;若都不为真时,执行Else后语句块内容。

说明:

1.表达式最终的值必须为逻辑型,即取值是真或者是假;

2.如果要产生n个分支,则需要n-1个测试表达式;

3.此结构不能转换成单行If格式。

【例7.3】编写一个程序,根据用户输入的某个学生的成绩评出优、良好、中等、及格和不及个五个等级。判断标准如下:

不及格:score<60及格;60≤score<70;中等:70≤score<80;良好:80≤score<90;优:score≥90。

分析:本题要解决的问题是根据输入学生的成绩来判断该学生的成绩等级。有一个输入量(学生的成绩)和一个输出量(判断结果),所以用一个文本框来接受用户输入,一个文本框来进行输出。再添加一个“判断”按钮,和一个“退出”按钮。

界面设计:

图7-5 例7.3界面设计

图7-6 例7.3运行效果

编写代码:

【例7.4】学校对学习成绩优良的同学给予奖励,只要满足以下条件之一就可以获得奖励:所考语文数学英语总分在285以上;每门课的成绩都在90分以上;语文和数学的成绩各为100分,英语在80分以上。

界面设计:

图7-7 例7.4奖励界面

图7-8 例7.4无奖励界面

编写代码:

五、If嵌套

所谓If嵌套,是指在If的Then或者Else语句块中还可以嵌套If结构,以达到多分支的目的。

语法格式:

【例7.5】编写一个程序,让用户输入三个数并判断该三个数能否组成一个直角三角形

分析:本题根据用户输入的三个数,判断它们能否组成一个直角三角形。程序中有三个输入量(即输入的三个数)和一个输出量(即能否组成一个直角三角形)。故可以用三个文本框来接受用户输入的三个数,一个标签框来显示判断结果。

界面设计:

图7-9 例7.5界面设计

图7-10 例7.5运行效果

编写代码:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈