如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
VisualBasic基本控制结构第2讲——选择结构本节重点:If语句的分类If…Then结构If…Then…Else结构IIf函数多分支If结构:If…Then…ElseIf和If嵌套语句SelectCase结构分支结构是根据给定条件的真假(条件是否成立)从而决定从多种可能的分支中执行某一分支的相应操作。在任何情况下:“无论分支多少,必选其一;纵然分支众多,仅选其一。”实现分支结构的语句有:If语句、SelectCase语句。If语句又可以分为如下几类:If语句If…Then结构语法格式:功能:如果表达式的值为真(True),执行Then后的语句块内容;否则不执行语句块内容。说明:表达式可以是:关系表达式、逻辑表达式、算术表达式。若为算术表达式,值为0则为假,非0则为真。如果是单行If格式,所有的代码必须写在同一行中,绝对不能换行。如果是块If语句,各语句块必须独占一行,EndIf不能省略。语句块若是一条语句,可用单行If结构;为多条语句,则采用块If结构较好,当然也可以采用单行If格式,这时各语句必须在同一行中且用":"分隔,且不能出现EndIf。例1输入两个数,输出较大的数。例1输入两个数,输出较大的数。例1输入两个数,输出较大的数。【例】A=InputBox(“A值”):B=InputBox("B值")PrintA,BIfA<BThenT=AA=BB=TEndIfPrintA,B若输入1,2则输出结果为If语句If…Then…Else结构语法格式:功能:该结构用于解决"二选一"的问题。当表达式的值为真,执行语句块1的语句内容;否则执行语句块2的语句内容。说明:表达式最终的值必须为逻辑值,即取值为真或者是假。若语句块1和语句块2都是单条语句,可采用单行If格式,否则采用块If语句。跟If…Then不同,该结构中即使表达式值为假,就执行语句块2的语句内容。【例】计算分段函数的值。2.给计算按钮添加程序代码:Dimx,yAsSingleClsx=Val(InputBox("输入X的值:"))Ifx<0Theny=3*x+2Elsey=2*x-1EndIfPrint:Print:Print:PrintPrint“x=”;x;“时:y=”;y(输出结果应该是什么)例2编写一个程序,实现当用户输入的用户名和口令都正确时显示"欢迎登录"的消息对话框,当用户名或口令有错误时显示消息对话框报告错误。编写代码:PrivateSubCommand1_Click()DimuserAsStringDimpswAsStringuser=Text1.Textpsw=Text2.TextEndSubIf语句IIf函数语法格式:功能:当条件为真(True),该函数返回表达式1的值,否则返回表达式2的值。其中,函数的三个参数都是必须的,不可省略。说明:在使用IIf函数时,必须将其返回值赋值给一个变量,不可以单独调用。如上面的代码不可以写成:IIf(x=1,“Yes”,“No”),需为:a=IIf(x=1,“Yes”,“No”),或作为其他函数的参数。在使用IIf函数时,第2和第3个参数必须只能为一条语句,而且必须是有返回值的,这是IIf函数跟If…Then…Else结构的不同之处。例3编写一个程序,对输入的三个数进行排序,并将排好序的三个数输出。分析:本题需要三个文本框用于保存输入的三个数,另外还需要一个“排序”按钮和一个“退出”按钮。界面设计:编写代码:PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSingle,tAsSinglea=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)EndSubIf语句多分支If结构语法格式:执行过程:如表达式1为真则执行语句块1;否则测试表达式2的值,为真则执行语句块2;依次类推至找到一个值为真的表达式则执行相应的语句块;若都不为真时,执行Else后语句块内容。说明:表达式最终的值必须为逻辑型,即取值是真或者是假;如果要产生n个分支,则需要n-1个测试表达式;此结构不能转换成单行If格式。例4编写一个程序,根据用户输入的某个学生的成绩评出优、良好、中等、及格和不及个五个等级。判断标准如下:分析:本题要解决的问题是根据输入学生的成绩来判断该学生的成绩等级。有一个输入量(学生的成绩)和一个输出量(判断结果),所以用一个文本框来接受用户输入,一个文本框来进行输出。再添加一个"判断"按钮,和一个"退出"按钮。界面设计: