《Visual Basic程序设计与实训教程》第4章:控制结构
合集下载
VB第4章
数据输入输出
例1:MsgBox "请确认交易金额",33,"交易 确认"
例2:MsgBox "请确认交易金额",52,"交易 确认"
MsgBox按钮设置
分组
内部常数 VBOkOnly VBOkCancel VBAboutRetryIgnore VBYesNoCancel VBYesNo VBRetryCancel VBCritical
数据输入输出
1、标签和文本框 说明:标签利用它的Caption属性;文本框利 用它的Text属性。 例如: a%=Val(Text1) ’完成数据输入 c!=5/9*(a-32) Text2=c ’完成数据输出 Label1.Caption=3.14*r*r
数据输入输出
2、输入对话框InputBox函数 功能:打开一个对话框,等待用户输入,返回 字符串类型的输入值。 例: InputBox("请输入数值")
If 条件语句
2、双分支结构
形式: (1)If <表达式> Then <语句块1> Else <语句块2> End if
(2)If <表达式> Then
T 表达式 F
语句块 1
语句块 2
<语句1>
Else
<语句 2>
例:下列哪一段代码是正确的?
1) if a>1 then k=0 else k=1 2) if a>1 then k=0 end if 错误 3) if a>1 then k=0 else k=1
Visual Basic 程序设计教程
第四章 VB控制结构
VB教程完整版第4章Visual Basic的基本控制结构PPT课件
第4章:Visual Basic基本控制结构
5
17.08.2020
第4章:Visual Basic基本控制结构
6
17.08.2020
3. If…Then…ElseIf语句(多分支结构) 当要处理的实际问题有多个条件时,就
要用到该语句结构。
语句格式如下:
If <条件表达式1> Then <语句块1>
17.08.2020
第4章:Visual Basic基本控制结构
14
4.3 循环结构 循环结构是根据某一条件(即循环条件)反
复执行某一段程序(即循环体)。循环体被反复 执行的次数称为循环次数。VB中提供了两种类型 的循环语句:计数型循环语句和条件型循环语句。
4.3.1 For…Next 语句 该语句是计数型循环语句,用于循环次数已知
13
Select Case 语句和If…Then…ElseIf语句 的区别
可以看出,对于多分支选择结构,用Select Case 语句比用If…Then…ElseIf语句更为 直观,程序可读性强。两者的区别在于: Select Case 语句只对单一表达式求值,并 根据求值结果执行不同的语句块,而 If…Then…ElseIf语句可以对不同的表达式 求值。所以,当对多个条件进行判断时, 只能用If…Then…ElseIf语句。
Select Case 语句的格式如下: Select Case 测试表达式
Case 表达式值1 <语句块1>
Case 表达式值2 <语句块2>
…
[Case Else <语句块n+1>]
End Select
第4章:Visual Basic基本控制结构
Visual Basic程序设计VB语言第4章 程序控制结构
d=20 End Select
Select Case months Case 1, 3, 5, 7, 8, 10, 12 days = 31 Case 4, 6, 9, 11 days = 30 Case 2 If years Mod 400 = 0 Or (years Mod 4 = 0 And years Mod 100 <> 0) Then days = 29 Else days = 28 End If
For…Next 语句
❖ For…Next 语句
在循环次数已知的情况下,采用 For…Next语句实现循环 结构是比较合适的选择。For…Next语句的格式如下: For <循环变量>=初值 To 终值 [Step 步长]
<语句>
[Exit For] <语句> Next <循环变量> 例:计算累加和:S=1+2+3+4+…+n (P75) 例:计算水仙花数 (P77) 如153,153=13+53+33 例:判断素数 (P77) for 2 to sqr(n) 例:计算Fibonacci数列 (P78) if i mod 5=0 then print
VbNo
MsgBox函数的返回值
Private Sub Command1_Click() Dim expS1$, expS2$, expN%, Response% expS1 = "是否继续?" expN = vbYesNo + vbCritical + vbDefaultButton2 expS2 = "MsgBox 信息显示窗口" Response = MsgBox(expS1, expN, expS2) If Response = vbYes Then Text1.Text = "您按下的按钮是""是""" Else Text1.Text = "您按下的按钮是""否""" End If
Select Case months Case 1, 3, 5, 7, 8, 10, 12 days = 31 Case 4, 6, 9, 11 days = 30 Case 2 If years Mod 400 = 0 Or (years Mod 4 = 0 And years Mod 100 <> 0) Then days = 29 Else days = 28 End If
For…Next 语句
❖ For…Next 语句
在循环次数已知的情况下,采用 For…Next语句实现循环 结构是比较合适的选择。For…Next语句的格式如下: For <循环变量>=初值 To 终值 [Step 步长]
<语句>
[Exit For] <语句> Next <循环变量> 例:计算累加和:S=1+2+3+4+…+n (P75) 例:计算水仙花数 (P77) 如153,153=13+53+33 例:判断素数 (P77) for 2 to sqr(n) 例:计算Fibonacci数列 (P78) if i mod 5=0 then print
VbNo
MsgBox函数的返回值
Private Sub Command1_Click() Dim expS1$, expS2$, expN%, Response% expS1 = "是否继续?" expN = vbYesNo + vbCritical + vbDefaultButton2 expS2 = "MsgBox 信息显示窗口" Response = MsgBox(expS1, expN, expS2) If Response = vbYes Then Text1.Text = "您按下的按钮是""是""" Else Text1.Text = "您按下的按钮是""否""" End If
第4章:Visual Basic的基本控制结构
4.1 顺序结构
【例4.1】 单击窗体,在窗体上输出两行不同格式 的文字。 新建工程,在窗体的Click事件中添加以下代码: Private Sub Form_Click() Form1.FontSize = 12 Form1.ForeColor = vbRed Form1.Print "您好" Form1.FontSize = 16 Form1.ForeColor = vbBlue Form1.Print "欢迎学习 Visual Basic" End Sub
信管教研室
例:计算等级分。计算规则如下: 分数 等级分 100-90 A 89-80 B 79-70 C 69-60 D <60 E
Private Sub Text1_KeyPress(KeyAscii As Integer) Dim Score As Integer, Degree As String If KeyAscii = 13 Then Score = Val(Text1.Text) If Score>=0 And Score <= 100 Then If Score >= 90 Then Degree = "A" Else If Score >= 80 Then Degree = "B" Else If Score >= 70 Then Degree = "C" Else If Score >= 60 Then Degree = "D" Else Degree = "E" End If End If End If End If Text2.Text = Cstr(Degree) End If End If End Sub
第4章 Visual Basic控制结构
2.直到型Do-Loop语句的格式
语句格式3: Do [Until <循环条件>] <循环体> Loop 语句格式4 Do <循环体> Loop [Until <循环条件>]
循环体
循环体
循环条件 True
False
循环条件 True
False
(a) Do Until-Loop结构流程图
(b) Do-Loop Until结构流程图
3.不同数据类型数据的赋值 ① 如果变量与表达式都是数值类型,系统先求出表 达式的值,然后将其转换为左边变量的类型后,再 赋值。 ② 如果变量为数值型,而表达式为字符型,则自动 转换成数值类型再赋值。如果表达式中含非数字字 符或空串,则系统将给出“类型不匹配”的错误提 示。
③ 当逻辑值赋给数值型变量时,True转换为-1, False转换为0;反之当数值赋给逻辑型变量时,非 0转换为True,0转换为False。 ④ 任何非字符的值赋给字符型变量,则系统将其自 动转换为字符型,再赋值。
2.赋值语句的两个常用形式 (1)累加。 形式:Sum = Sum +x 表示将变量Sum、x的当前值相加后再赋值给变量 Sum。与循环结构结合使用,可起到累加作用。 (2)计数。 形式:n = n +1 表示将变量n的当前值加上1后再赋给变量n。与循 环结构结合使用,可起到计数器作用。
图4-9 选择结构(单分支)流程图
2.If-Then-Else语句(双分支结构) 语句格式1: If <条件> Then <A语句> Else <B语句> ' 单行结构
Visual Basic第4章 Visual_Basic程序控制
4.3选择结构程序设计
选择结构又称为分支结构,根据条件有选择执行某一
分支。VB中用于选择结构的语句有IF语名和SELECT语句。
4.3 选择结构程序设计
◆If 语句是选择结构主要使用的语句。 ◆If 语句有三种形式:行If语句, 块If语句,多路分 支If语句。 1)行结构的 If 语句 格式: If <条件 > Then < 语句 1>[ Else < 语句 2>] 功能:如果条件成立,执行Then后面的语句,否则执 行Else后面语句或下一条语句。
4.2 顺序结构程序设计
InputBox 函数中,若处于中间位置上的某个参数被省略 时,分隔参数的逗号不能省略。 InputBox 函数的返回值是字符串类型在实际应用中,常 用赋值语句来调用 InputBox 函数。例如语句:。 X=InputBox(" 输入变量 X 的值", "输入数据",20)4.2 顺序结构程序设计
2 )消息框函数 MsgBox 和 MsgBox 语句 ( 1 ) MsgBox 函数 用于发布和接收简单的用户信息。 一般格式: MsgBox(<提示字符串>[,按钮][,消息框标题]) 功能: MsgBox 函数产生一个对话框来显示消 息,当用户单击其中的某个按钮后,将返回一个整型 数,以确定用户单击了哪个按钮。 消息框按钮组合及按钮返回值见教材表 4.2 与表 4.3
例 4.1 用赋值语句修改控件的属性。 要求:单击 Command1 ,标签中显示 "计算机" ; 单击 Command2 ,则标签中显示 "计算机" 界面 设置如图所示。
4.2 顺序结构程序设计
本例事件过程:
第04章VB控制结构
Visual Basic 程序设计教程
陈章良
E-MAIL:CHENZHL_YT@
第四章 VB控制结构
4.0 程序结构
4.1 顺序结构
4.2 选择结构
4.3 循环结构 4.4 其他辅助控制语句 4.5 综合应用 4.6 程序调试
4.0 程序结构
一个VB程序由两部分组成:
Viasual ,是由众多的对象构成了程序的可视 界面。 Basic,是响应各种事件的程序代码,也是程 序设计的重点和难点。
(1)对象:窗体、图形框或打印机。缺省为窗体。 (2)Spc(n):从当前位置起空n个空格 (3)Tab(n):从最左端开始计算的第n列 (4)分号:定位在上一个被显示的字符之后 (5)逗号:定位在下一个打印区开始处(每区14列) 例4.3 Print方法输出图mat格式输出函数 Format函数用于制定字符串或数字的输出 格式。
逻辑数据转换 为整形数据时 ,True为-1, False为0
1.5
其他类型数据转换 为逻辑数据时, 非0转换为True, 0转换为False
2.5
4.1.1 赋值语句
(4)任何非字符类型赋值给字符类型, 自动转换为字符类型。
例:strBh$=6012 【注意】
赋值号左边只能是变量,不能是常量 、常数符号或表达式。
3)If … Then … ElseIf语句(多分支结构)
4)If 语句的嵌套
4.2.1 If条件语句
1. If…Then语句(单分支结构) 形式:If <表达式> Then
语句块(一条或多条语句)
End If
或
If <表达式> Then <语句>
IF演示
陈章良
E-MAIL:CHENZHL_YT@
第四章 VB控制结构
4.0 程序结构
4.1 顺序结构
4.2 选择结构
4.3 循环结构 4.4 其他辅助控制语句 4.5 综合应用 4.6 程序调试
4.0 程序结构
一个VB程序由两部分组成:
Viasual ,是由众多的对象构成了程序的可视 界面。 Basic,是响应各种事件的程序代码,也是程 序设计的重点和难点。
(1)对象:窗体、图形框或打印机。缺省为窗体。 (2)Spc(n):从当前位置起空n个空格 (3)Tab(n):从最左端开始计算的第n列 (4)分号:定位在上一个被显示的字符之后 (5)逗号:定位在下一个打印区开始处(每区14列) 例4.3 Print方法输出图mat格式输出函数 Format函数用于制定字符串或数字的输出 格式。
逻辑数据转换 为整形数据时 ,True为-1, False为0
1.5
其他类型数据转换 为逻辑数据时, 非0转换为True, 0转换为False
2.5
4.1.1 赋值语句
(4)任何非字符类型赋值给字符类型, 自动转换为字符类型。
例:strBh$=6012 【注意】
赋值号左边只能是变量,不能是常量 、常数符号或表达式。
3)If … Then … ElseIf语句(多分支结构)
4)If 语句的嵌套
4.2.1 If条件语句
1. If…Then语句(单分支结构) 形式:If <表达式> Then
语句块(一条或多条语句)
End If
或
If <表达式> Then <语句>
IF演示
《Visual Basic程序设计》第4章-邵洁主编-第四版
省略此项,则将应用程序名放在标题栏中
Visual Basic 程序设计
MsgBox参数的设置
1.按钮的类型和数目的设置
设置参数=按钮设置值 + 图标设置值+ 缺省的活动按钮
值 0 1 2 3 4 5 按钮设置 对应按钮名称 vbOKOnly---------------确定 vbOKCancel-------------确定、取消 vbAbortRetryIgnore---终止、重试、忽略 vbYesNoCancel---------是、否、取消 vbYesNo------------------是、否 vbRetryCancel----------重试、取消
设置参数值= 1+64 或 vbOKCancel+ vbInformation
Visual Basic 程序设计
Msgbox参数的设置
3.说明哪一个是缺省按钮
设置参数=按钮设置值 + 图标设置值+缺省的活动按钮
对应值
0
符号常量
VbDefaultButton1
缺省的活动按钮
256
512
VbDefaultButton2
4.2 选择结构
先对条件测试,根据测试的结果选择执行不同的分支
1.If语句 2.Select Case 结构
Visual Basic 程序设计
1. If…Then 结构 (单分支结构)
格式: If 条件 Then (A组语句) EndIf …… 条件
T
F
A组语句
执行规则:若条件成立,执行A组语句; 例: If score >= 60 Then 条件不成立,跳过A组语句. Print score Print "祝贺你考试通过! " End If Print “继续努力!”
第4章 Visual Basic基本控制结构
4.1.3 数据的输出 数据的输出——Print方法 方法 (4)一般情况下,每执行一次Print方法要自 动换行,也就是说,后面执行Print时将在新的 一行显示信息。为了仍在同一行上显示,可以 在末尾加上逗号或分号。 【例4-5】 写出下列程序段的运行结果。 Private Sub Command1_Click() Print "m – n =", Print 60 - 20 Print "m - n ="; Print 60 - 20 End Sub
4.1.3 数据的输出 数据的输出——Print方法 方法
(2)<表达式>可以是数值或字符串表达式。对于数值表达 式,先计算表达式的值,然后输出;而字符串则原样输出。 如果缺省表达式表列,则输出一个空行。 【例4-3】 写出下列程序的运行结果。 Private Sub Command1_Click() m = 200: n = 300 Print m + n; m - n ' 输出表达式的值 Print ' 输出一个空行 Print "Good"; "Morning"; -10 ' 字符串必须放在双引号内 End Sub 注:在输出数值时,前面有一个空格,是符号位,后面还有 在输出数值时,前面有一个空格,是符号位, 一个尾随空格,字符串前后都不带空格,请注意观察。 一个尾随空格,字符串前后都不带空格,请注意观察。
• • •
4.1.7 数据输入——InputBox函数
Ypos。数值表达式,成对出现,指定对话框的上边与屏幕上边的 距离。如果省略 Ypos,则对话框被放置在屏幕垂直方向距下边大 约三分之一的位置。 HelpFile。字符串表达式,识别帮助文件,用该文件为对话框提供 上下文相关的帮助。如果已提供 HelpFile,则也必须提供Context。 Context。数值表达式,由帮助文件的作者指定给某个帮助主题的 帮助上下文编号。如果已提供Context,则也必须要提供HelpFile。 返回值x是用户在文本框里输入的数据,默认为字符串类型。如果 用户按了取消钮,则x为空字符串。
第04章 Visual Basic 程序控制结构
Print方法
(1)Tab函数
语法格式:Tab(n)
功能: 可选的 n 参数是在显示或打印列表中的下一个表达 式之前移动的列数。若省略此参数,则 Tab 将插入点 移动到下一个打印区的起点。当 Print 方法与 Tab 函 数一起使用时,打印的外观将会被分割为均匀、定宽的 列。各列的宽度等于选用字体内以磅数为单位的所有字 符的平均宽度。
标题
提示信息 缺省值
InputBox函数
参数 用法 提示信息参数是必须的。若包含多行, 可在各行之间用chr(13)(回车符)、 chr(10)(换行符)或chr(13)& chr(10)来分隔 对话框的标题,是可选的 文本框里的缺省值,是可选的
提示信息
标题
缺省值
X坐标,Y坐标 X坐标,y坐标决定输入框的位置
MsgBox函数
MsgBox函数的语法格式如下: [Action=]MsgBox(提示信息,显示类型,标题) 说明: (1)提示信息显示在提示框内; (2)显示类型为对话框所显示的效果; (3)Action获取用户所选择按钮对应的返回值。
MsgBox函数
数值 符号常量 意义
0
1
vbokonly
vbokcancel
MsgBox函数
(2)若返回值不需要做进一步的判断则可以省略“Action =”,同时使用MsgBox函数的时候不用圆括号。 例如: x = MsgBox("是否退出?", vbOKCancel, "提示") 在弹出的对话框中若选择“确定”按钮,则x=1,否 则x等于2。
Print方法
(2)Spc函数或Space[$]函数
语法格式:Spc(n)或Space(n) 功能:跳过n个空格后再输出下一个输出项。
第04章 Visual Basic 程序控制结构
14
步骤2: 双击“窗体(Form1) ” ,选择“Click”事件,添加如下代码:
步骤3: 运行与调试。按“F5”键或点击工具栏中运行按钮,运行程序,检验运行结果。 构成三角形:
15
计算面积:
不计算面积:
构不成三角形:
16
步骤4: 保存程序文件。
任务二、
【 P81 例 4-9】
【要求】输入学生的成绩,评定其等级。 步骤1: 设计应用程序界面。如下图所示:
步骤3: 运行与调试。按“F5”键或点击工具栏中运行按钮,运行程序,检验运行结果。
9
步骤4: 保存程序文件。
任务七、
【 P79 例 4-6】
【要求】已知 3 个数 a、b、c,将它们从小到大排列。 步骤1: 设计应用程序界面。如下图所示:
10
步骤2: 双击“窗体(Form1) ” ,选择“Click”事件,添加如下代码:
步骤1: 设计应用程序界面。如下图所示:
20
步骤2: 双击“窗体(Form1) ” ,选择“Click”事件,添加如下代码:
步骤3: 运行与调试。按“F5”键或点击工具栏中运行按钮,运行程序,检验运行结果。
步骤4: 保存程序文件。
21
任务五、
【 P85 例 4-12】
【要求】随机产生 1 个字符,判断该字符是字母还是数字。若是字母再判断是小写字母还 是大写字母;若是数字还是判断是奇数还是偶数。 步骤1: 设计应用程序界面。如下图所示:
步骤2: 双击“窗体(Form1) ” ,选择“Click”事件,添加如下代码:
17
步骤3: 运行与调试。按“F5”键或点击工具栏中运行按钮,运行程序,检验运行结果。
步骤4: 保存程序文件。
第4章VisualBasic程序控制结构
Private Sub Form_Click() Dim L As Single, s As Single,v As Single r = 1.8: h = 4 Const pi = 3.14159 L = 2 * pi * r s = pi * r * r v=s*h Print "圆周长="; Format(L, "0.000") Print "圆面积="; Format(s, "#.###") Print "圆柱的体积="; Format(v, "#.###") End Sub
4.1.3注释语句
为了提高程序的可读性,通常应在程序的适当位置加上必要的注释,
Visual Basic中的注释是“Rem”或“’”,一般格式为:
Rem
’
例如:Rem 交换变量a和b的值
c = a ´c
a = b:b = c
说明:
注释语句是非执行语句,仅对程序的有关内容起注释作用,它不
被解释和编译,但在程序清单中能被完整地列出。
赋值语句是在任何程序设计中最基本、最常用的语句。 它的作用是把计算右边表达式的运算结果赋值给左端的变量,Visual Basic使用赋值号“=”来赋值。
格式: [Let] 变量名=表达式 [Let] [<对象名.>]<属性名>=<表达式> 其中:Let表示赋值语句的关键字,通常可以省略。 功能:赋值语句具有计算和赋值的双重功能,它首先计算右端 的表达式,并把结果赋值给左边的变量,Visual Basic使用赋值号“=” 来赋值。 表达式:其类型应与变量名的类型一致,即同时为数值型或同 时为字符型等等。当两边同为数值型,但精度不同时,强制转换成 左边的精度,然后赋值。
4.1.3注释语句
为了提高程序的可读性,通常应在程序的适当位置加上必要的注释,
Visual Basic中的注释是“Rem”或“’”,一般格式为:
Rem
’
例如:Rem 交换变量a和b的值
c = a ´c
a = b:b = c
说明:
注释语句是非执行语句,仅对程序的有关内容起注释作用,它不
被解释和编译,但在程序清单中能被完整地列出。
赋值语句是在任何程序设计中最基本、最常用的语句。 它的作用是把计算右边表达式的运算结果赋值给左端的变量,Visual Basic使用赋值号“=”来赋值。
格式: [Let] 变量名=表达式 [Let] [<对象名.>]<属性名>=<表达式> 其中:Let表示赋值语句的关键字,通常可以省略。 功能:赋值语句具有计算和赋值的双重功能,它首先计算右端 的表达式,并把结果赋值给左边的变量,Visual Basic使用赋值号“=” 来赋值。 表达式:其类型应与变量名的类型一致,即同时为数值型或同 时为字符型等等。当两边同为数值型,但精度不同时,强制转换成 左边的精度,然后赋值。
Visual Basic程序设计第四章 Visual Basic控制结构
三、数据输出
2.用文本框输入
文本框控件可以用作数据的输入,在运行时接受用 户输入的数据。 例如,将文本框text1中输入的字符串赋给字符串变量 Mystr,代码如下:
Dim Mystr as String Mystr=Text1.Text
由于文本框的Text属性为字符串类型,因此要想将 输入到文本框的内容作为数值输入,要进行类型转 换。
二.数据的输入
1. 对话框输入 :InputBox函数
InputBox(提示[,标题][,缺省][,x 坐标位置] [,y坐 标位置]) 其中: 提示 提示信息, 不能省略,字符串表达式, 标题 对话框标题,字符串表达式 缺省字符串表达式,输入区缺省值
x, y 整型表达式,左上角的位置,Twip
注意:各项参数必须一一对应,可省略部分要用逗号分 开。
赋值语句
当表达式的类型与变量的类型不一致时,按 照下面的规则处理:
1 右边表达式为数值型而与左边变量精度不同时,强 制转换为左边的精度。 iA% = 10 / 3 iA中的结果为3 2 表达式为数字字符串型,左边变量是数值型,自动 转换成数值类型再赋值,但当有非数字字符或空串 时,则出错。 n%=“123” „n中的结果为:123 n%=val(“123”) n%=“1a23”
文本框控件 Print方法 用户交互的函数和过程
来完成输入、输出功能
一、赋值语句
形式: 变量名=表达式 作用: 先计算右边的表达式的值,然后将值赋给左 边的变量。一般用于给变量赋值或对控件设 定属性值. 例: sRate!=0.1 Text1.Text = "欢迎使用Visual Basic 6.0” intx=5+6*10 计数器 count%=0 count=count+1
Visual Basic程序设计实践教程的第4章
语法形式1: If <条件表达式1> Then <语句块> E1se If <条件表达式21> <语句块> EndIf „ EndIf
Then
语法形式2: If <条件表达式1> Then If <条件表达式21> <语句块> EndIf „ E1se <语句块> EndIf
Then
4.If…Then…ElseIf语句
Do While | Until <条件表达式> <循环体语句> [Exit Do]
Loop
15
(2)直到型循环结构的语法形式为: Do <循环体语句块> [Exit Do] Loop While | Unti1
While...Wend语句是另一种循环控制语句,只要指定 的条件为True,则会重复执行一系列的语句,其语法为: While<条件表达式> <循环体语句块> Wend
29
2.编写如图4.2所示的应用程序,计算应缴纳的个人 所得税额,个人所得税缴纳的起点是3500元,个人应缴纳 的税率如表4.1所示。
30
图4.2 程序运行的参考界面
31
表4.1
个人所得税税率表
32
3.某商场搞促销活动,在购买物品时,按照所标明
的价格用以下数学公式所对应的折扣付款。编写程序,根
据购买价格计算应付金额。应用程序的参考界面如图4.3所 示。
If„Then„ElseIf语句可以用来处理If语句的嵌套情 况,而且这种形式的语句在结构上更紧凑,更易于阅读、 调试和维护。其语法形式如下:
8
If <条件表达式1> Then <语句块1> ElseIf <条件表达式2> Then <语句块2> „ ElseIf <条件表达式n> Then <语句块n> E1se <语句块n+1> EndIf
《Visual Basic程序设计与实训教程》第4章:控制结构共28页文档
清华大学出版社
1
4.1 顺序结构
顺序结构是一种线性结构,也是程序设计中最简单、最常用的基本 结构。其特点是按照命令的书写顺序从上到下顺序执行的一种结构。在 “第三章简单VB程序设计”中已经叙述。
4.2 选择结构
选择结构的语句有:If…Then语句(单分支结构)、 If…Then…Else语句(双分支结构)、If…Then…ElseIf语句(多分 支结构)、If语句的嵌套、Select Case语句(情况语句)和条件函数。
过程添加如下代码:
Private Sub Command2_Click()
X = Val(Text1.Text)
If X <> 0 Then Y=X^2-5 Else Y=3*X+2 End If Text3.Text = Y End Sub
方法三:用两个单分支结构实现 Private Sub Command3_Click() X = Val(Text1.Text) If X <> 0 Then Y = X ^ 2 - 5 If X = 0 Then Y = 3 * X + 2 Text4.Text = Y End Sub
19.05.2020
清华大学出版社
6
4.2.3多分支结构
1.多分支结构语句格式:
If <表达式1> Then
<语句块1>
ElseIf <表达式2> Then
<语句块2>
…
[ Else <语句块 n+1> ]
End If
2.多分支结构语句作用
测试条件的顺序为:<表达式1>、<表达式2>……比较它们的大小,使得 x小于y。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
格式2: 格式 If <表达式 Then 表达式1> 表达式 <语句 语句1> 语句 else If <表达式 表达式2> Then 表达式 <语句 语句2> 语句 else <语句 语句3> 语句 End If End If
2011-1-17
清华大学出版社
10
4.2.5情况语句 :
1.情况语句格式为 Select Case <变量或表达式> Case <表达式列表1> <语句块1> [Case <表达式列表2> <语句块2> ] …… [Case Else <语句块n+1>] End Select 其中 <变量或表达式>:可以是数值型或字符串表达式。 <表达式列表>:必须与<变量或表达式>的类型相同,可以是表达式、 一组用逗号分隔的枚举值、表达式1 to 表达式2、Is关系运算符表达式, 并且这几种表达式形式可以混用。多个表达式列表间用逗号分隔。
2011-1-17
清华大学出版社
11
<表达式列表>可以是同类型的下面三种形式之一:
① 一组枚举表达式(用逗号分隔) 例: 2,4,6,8 或 ”A”,”B”,”C”,”D” ② 表达式1 To 表达式2 60 To 100 或 “A” To “Z” ③ Is 关系运算符表达式 ,适用的运算符包括<,<= ,>,>=,<>,= 如: Is < 60
注意: 注意:
(1)并不是所有的多分支结构都可以用情况语句代替。 (2)关键字To用来指定一个范围。必须将较小的值写在前面,较大的值写在后面, 字符串常量的范围必须按字母顺序写出。 (3)不能在case后直接用逻辑运算符将两个或多个简单条件组合在一起。 例如: Case Is>10 And Is<10 是不合法的。 (4)Case子句的顺序对执行结果没有影响,Case Else子句必须放在所有的Case 子句之后。
注意: 注意:
(1) 当某条件满足,执行相应的语句块,其余分支不再执行;若条件都不 满足,且有Else子句,则执行该语句块,否则什么也不执行。 (2)ElseIf 不能写成Else If 。 (3)若多分支中有多个表达式同时满足,则只执行第一个与之匹配的语句块。
2011-1-17
清华大学出版社
8
【例4.3】已知字符型变量strChar中存放了一个字符,判断该字符 是字母字符、数字字符还是其他字符。
2011-1-17
清华大学出版社
3
4.2.1 单分支结构条件语句
1.单分支结构条件语句格式: 单分支结构条件语句格式: 单分支结构条件语句格式 (1) If <关系表达式 Then 关系表达式> 关系表达式 <语句块 语句块> 语句块 End If (2) If <关系表达式 Then <语句 关系表达式> 语句> 关系表达式 语句 说明: 说明: 语句块可以是一句或多句,若用第二种形式表示, 语句块可以是一句或多句,若用第二种形式表示,则只能是一句语 若多句,语句间需用冒号(: 分隔 而且必须在一行上书写。 分隔, 句,若多句,语句间需用冒号 )分隔,而且必须在一行上书写。
【重点】
If语句的嵌套应用 循环语句及循环的嵌套在编程中的应用
【难点】
循环的嵌套
2011-1-17
清华大学出版社
2
4.1 顺序结构
顺序结构是一种线性结构,也是程序设计中最简单、最常用的基本 结构。其特点是按照命令的书写顺序从上到下顺序执行的一种结构。在 “第三章简单VB程序设计”中已经叙述。
4.2 选择结构
【例4.1】已知两个数x和y,比较它们的大小,使得 x小于y。 。
2011-1-17
清华大学出版社
4
方法一 If x>y Then t=x ‘ 将x与y交换 x=y y=t End if 4.2.2 双分支结构条件语句
方法二
If x>y Then t=x : x=y : y=t
1.双分支结构条件语句格式 If <表达式> Then <表达式 表达式> <语句块1> Else <语句块2> End If 双分支结构流程图如右图所示。
2011-1-17
清华大学出版社
7
4.2.3多分支结构
1.多分支结构语句格式:
If <表达式1> Then <语句块1> ElseIf <表达式2> Then <语句块2> … [ Else <语句块 n+1> ] < End If
2.多分支结构语句作用
测试条件的顺序为:<表达式1>、<表达式2>……,当遇到表达式值 为True时,则执行该条件下的语句块。
2011-1-17
清华大学出版社
6
方法二: 方法二:用双分支结构实现 双击窗体中【双分支结构实现】按钮,为Command2_Click()事件 过程添加如下代码: Private Sub Command2_Click() X = Val(Text1.Text) If X <> 0 Then 方法三: 方法三:用两个单分支结构实现 Y=X^2-5 Private Sub Command3_Click() Else X = Val(Text1.Text) Y=3*X+2 If X <> 0 Then Y = X ^ 2 - 5 End If If X = 0 Then Y = 3 * X + 2 Text3.Text = Y Text4.Text = Y End Sub End Sub
For语句执行流程如左图所示:
2011-1-17
清华大学出版社
16
说明: (1)<循环变量>:必须为数值型。 (2)<步长>:一般为正,初值小于终值;若为负,初值大于终值;默 认步长为1。 (3)<语句块>:可以是一句或多句语句,称为循环体。 (4)Exit For:表示当遇到该语句时,退出循环体,执行Next的下一条 语句。 (5)循环次数=int((<终值> - <初值>)/<步长>+1) (6)退出循环后,循环变量的值保持退出时的值。 (7)在循环体内对循环变量可多次引用,但不要对其赋值,否则影alse
语句块 1
语句块 2
2011-1-17
清华大学出版社
5
2.双分支结构条件语句 首先判断条件是否成立,如果成立,则执行语句块1而略过语句块2 继续向下执行程序;如果不成立,则执行语句块2而略过语句块1。 【例4.2】 计算分段函数,程序运行效果如图所示。 方法一:用单行结构实现 双击窗体中【单分支结构实现】按钮,为Command1_Click()事件添 加如下代码: Private Sub Command1_Click() X = Val(Text1.Text) Y=3*X+2 If X <> 0 Then Y = X ^ 2 - 5 Text2.Text = Y End Sub
选择结构的语句有: 语句(单分支结构 选择结构的语句有:If…Then语句 单分支结构 、 语句 单分支结构)、 If…Then…Else语句 双分支结构 、If…Then…ElseIf语句 多分 语句(双分支结构 语句(多分 语句 双分支结构)、 语句 支结构)、 语句的嵌套 语句的嵌套、 语句(情况语句 和条件函数。 支结构 、If语句的嵌套、Select Case语句 情况语句 和条件函数。 语句 情况语句)和条件函数
清华大学出版社
14
2011-1-17
4.2.6 IIf函数(条件函数)
函数形式: IIf(<条件>,<True部分>,<False部分>) 例如:求X、Y中大的数,并将大数放入变量iMax中。 iMax=IIf(X>Y, X, Y)根据表达式的值,返回两部分中的一个。
4.2.7常见错误
1.在选择结构中缺少配对的结束语句 1. 对多行式的If块语句中,应有配对的 EndIf语句结束。 2. 多分支结构ElseIf关键字的书写和条件表达式的表示 应注意多个条件表达式次序以及ElseIf 不要写成Else If。 3. Select Case语句的使用 Select Case 后不能出现多个变量,Case子句后不能出现变量。
2011-1-17
清华大学出版社
9
4.2.4 If语句的嵌套
格式1: 格式 : If <表达式 Then 表达式1> 表达式 If <表达式 表达式2> Then 表达式 <语句 语句1> 语句 else <语句 语句2> 语句 End If else <语句 语句3> 语句 End If 【例4.4】已知x、y、z 3个数,比 较它们的大小并排序,使得x>y>z。 程序运行效果
2011-1-17
清华大学出版社
15
4.3循环结构
vb中循环的3种结构即 ⑴计数循环(For - Next循环)⑵当循环 (While - Wend循环)⑶Do循环(Do – Loop循环)。
4.3.1 For循环控制结构
语句格式: 语句格式:
For <循环变量 = <初值 循环变量> 初值>To <终值 [ Step <步长 终值> 步长>] 循环变量 初值 终值 步长 <语句块 语句块> 语句块 [Exit For] <语句块 语句块> 语句块 Next <循环变量 循环变量> 循环变量