VB程序设计第四章 基本的控制结构

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB与用户之间的数据交互通过两个 函数和一个过程完成。 函数有返回值,过程没有返回值。 (第六章) 函数: InputBox(), MsgBox() 过程: MsgBox

1 InputBox函数

语法: 变量名=InputBox(提示[,标题][,默认] [,x坐标位置][,y坐标位置]) 其中: 提示:字符串表达式,显示信息。如果 要显示多行,则在每行未加上回 车Chr(13)和换行Chr(10),或者, 加上VB系统常数vbCrLf。
1 赋值语句
赋值语句是任何程序设计的最基本语句。 语法结构: 变量名 = 表达式

其中: 变量名:已经定义(声明)的变量名称 表达式:任何类型表达式(算术、逻辑、 函数等等),类型与变量名的 类型一致。
赋值语句的作用: 先计算等号右边表达式的值,然后赋给等 号左边的变量。 VB赋值语句的两项任务
MaxLength属性设置为6; – 输入结束后,通过LostFocus事件,来判断账 号输入的正确性。 – 若出错,则显示出错信息,重新输入。

密码
– 要显示“ * ”, 将PasswordChar属性设置为“ * ”即
可。 – 输入结束按确定键后,判断密码的正确性。正确 没有显示,出错显示出错信息。
最后计分
显示题目、结果和正确是否
4.2.3 条件函数

VB提供了两个条件函数
– IIF( )函数
– Choose( )函数
代替 If 语句 代替 Select语句
(1) IIf( )函数
IIf(表达式,当条件为T的值,当条件为F的值) 例如:求x, y中的大的数,放入Tmax变量中 TMax = IIf ( x > y, x, y ) 等效于: If x>y then Tmax=x Else Tmax=y End If
– IIF( )函数
– Choose( )函数
4.3 循环结构
循环是在指定的条件下重复执行某 些指令。 两种类型的循环语句:
– 计数型循环语句:用于循环次数确定的
情况 (FOR循环语句) – 条件循环语句:用于循环次数未知的 情况 (Do Loop循环语句)
InputBox函数的作用

打开一个标准对话框,等待用户输入内容, 用户单击“确定(OK)”或者按回车键, 则该函数返回输入的值,其类型为字符型。 例如:
Dim strName As String * 40, strS1 As String strS1 = "请输入你的姓名" + vbCrLf + "然后回车确定" strName = InputBox(strS1, "输入框", , 100, 100)
作用
根据变量或表达式中的结果,与 各case语句中的表达式列表的值进 行比较,匹配则执行该语句块。如 果有多个匹配,则只执行第一个匹 配的语句块。
T
表达式列表1 F T 表达式列表2 F …… T 表达式列表n F 语句块n+1 语句块n 语句块2 语句块1
注意:
Select Case 语句只能有一个变量,不能 对多个变量进行条件判断。 多个变量只能采用If…Then…ElseIf 语句

例题4.4 (P83)
4.2.2 Select case语句
Select Case 语句是多分支结构的另一 种表示。比If 语句更直观。 选择多于三个以上,采用Select Case 较好。

Select case 变量或表达式 Case 表达式列表1 <语句块1> Case 表达式列表2 <语句块2> …… [ Case Else <语句块n> ] End Select
4.2 选择结构

选择结构作用
– 对条件进行判断,根据判断结果,选择
执行不同的分支。
If 条件语句 Select case语句 条件函数

4.2.1 If 条件语句

If 条件语句有多种形式
– 单分支
– 双分支
– 多分支
1 单分支结构
If …Then 语句
(1) If < 表达式 > Then < 语句块> End If (2)If < 表达式 > Then < 语句>
按钮值
描述 “确定” “确定”、“取消” “终止”、“重试”, “忽略” “是”、“否”、“取 消” “是”、“否” “重试”、“取消”
按钮 数目
0 1 2 3 4 5
按钮 类型
vbCritical vbQuestion vbExclamation vbInformation vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 vbApplicationMode vbSystemMode
(2) Choose( )函数
Choose(整数表达式,选项列表) 根据整数表达式的值,选择选项列表的项: 1 第一项 2 第二项 ……. <1 或 > 选项数目 Null strOp=Choose(intNOp, “+” , ”-”, ”x”, ” ÷”)
忠告:

最好不要采用这两个函数
按钮值
被单击的按钮 确定 取消 终止 重试 忽略 是 否
1 2 3 4 5 6 7
3 MsgBox过程
语法: MsgBox(提示[,按钮][,标题]) 其中: 提示、标题、 按钮:与MsgBox函数相同 作用: Msgbox()函数和Msgbox过程的作用都是打开 一个信息框,等待用户选择一个按钮。 区别: Msgbox()函数返回所选按钮的整数值; Msgbox过程没有返回值。
n%=“123” „结果为123,与n%=Val(“123”)效果一样

n%=“1a23”
„出现“类型不匹配”错误
当逻辑类型赋值给数值类型时,True
转换为-1,False转换为0; 反之,当数值型赋值给逻辑类型,则 非零转换为True,0转换为False。
任何非字符类型赋值给字符类型,自
其中, 变量或表达式:数值型或字符串表达式 表达式列表 : 类型必须相同,可以为 (1)表达式 (2)一组逗号分开的值 (3)表达式1 To 表达式2 (4)Is关系运算符表达式
例如:
Case 1 to 10 „ 1-10范围内 Case “a”,”e”,”I”,”o”,”u” „ 元音字母 Case 2,4,6,Is>10 „ 2,4,6,或大于10
标题:字符串表达式,在对话框的标题 显示。如果省略,则显示应用程 序的名称。 默认:字符串表达式。当对话框中没有 输入时,则该默认值作为输入的 内容。 x坐标位置,y坐标位置:整数表达式, 确定对话框左上角在屏幕上的位 置,屏幕左上角为坐标原点,单 位:twip。1000 twip = 1 inch。

P85,例题4.6
组合应用:

算术运算:要求给出随机的1~10的操作 数和四则运算符,计算机根据学生的答 案判断准确是否,结束时给出成绩。
分析:
运算符 “ “ 采用1, 2, 3, 4 表 示; (2) 随机数用Rnd函数确定; (3) 产生表达式由Form_load过程给出,在标
(1)
(4) (5) (6)

2 MsgBox()函数

语法: 变量名=MsgBox(提示[,按钮][,标题]) 其中: 提示:与InputBox函数相同 标题:与InputBox函数相同 按钮:整数表达式,决定信息框按钮的 数目和类型及其图标类型。参见 P77,表1.4.1
表1.4.1 “按钮”设置值及其意义
分组
内部常数 vbOkOnly vbOkCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel
表达式
T
F
语句块
2 双分支结构
If …Then…Else 语句
(1) If < 表达式 > Then < 语句块 1 > Else < 语句块 2 > End If
(2)If < 表达式 > Then < 语句1> Else <语句2>
作用

当表达式为非零(True)时,执行Then 后的语句块1(或语句1),否则,执行 Else后面的语句块2(或语句2)。
第四章
基本的控制结构
Summary
1. 顺序结构(Sequence) 2. 选择结构(Selection) 3. 循环结构(Repetition) 4. 其它辅助控制语句 5. 常用算法(一)
4.1 顺序结构

顺序结构
– 按照各语句出现的先后顺序执行
– 包括: 赋值语句 输入 / 输出语句

P82, 例4.3
4 If 语句的嵌套

在If 或者Else后面的语句中又 有If 语,称为If 嵌套。
If < 表达式1 > Then if <表达式2> Then …… End If …… End If
注意
If 嵌套一般采用锯齿型,增强程序的可 读性。 一个If 必须与一个End If匹配,End If与 最近的If语句配对。

例题:
编程实现账号和密码的输入程序,要求: (1)账号不超过6位数字,密码为4位字符, 假设为“Gong” (2)密码输入时,不显示输入的字符,用 “*”代替。 (3)输入不正确,显示有关信息。单击“重 试”,则清除原来输入的内容,等待重新 输入;单击“取消”,终止程序运行。
分析 账号
– 账号不超过6位数字,则将文本框的
其中,
表达式 可为关系表达式、逻辑表达式、算术 表达式。非零为True,零为False。 语句块:一条或者多条语句。 形式(2)中的语句只能是一条,或者多条 简单语句,之间用冒号分开。 尽量用第一种形式编程。



当表达式为 True时,执行 Then后的语句 块。 否则,不作任 何处理
学生在文本框中输入答案; 图形框中显示正确是否; 最后单击“计分”时,显示成绩。
控件名
lblExpression txtAnswer amdCalculation picDisplay
主要属性 Caption=“ ” Text=“ ”
说 明 显示产生的题目Leabharlann Baidu输入计算结果
Caption=“计分”
Picture默认值空
16 32 48 64 0 256 512 0 4096
红色STOP标志 询问信息图标 ? 警告信息图标 ! 信息图标 i 第一个按钮为默认
第二个按钮为默认 第三个按钮为默认
默认 按钮
模式
应用模式 系统模式
注意:

四组方式可以组合使用。一般采用内部常数形 式,而不采用按钮值形式。 例如:
I=MsgBox(“密码错误”,vbRetryCancel+vbExclamation,”输入密码”)

– 给变量赋值
– 给控件的属性赋值

例如: sngRate! =0.1 „将0.1赋给单精度变量sngRate txtName.Text = “Hu”
赋值处理

当赋值等号左右数值类型不相同时,强制转换成 左边变量的类型(精度) n%=3.5 „结果为4(四舍五入)
当赋值等号左边是数值类型,而右边表达式是数 字字符串,则VB自动转换成数值类型再赋值,如 表达式不是数字字符串,则出错。
T F
表达式
语句块1
语句块2
3 多分支结构
If …Then…Elseif 语句
If < 表达式1 > Then < 语句块 1 > Elseif <表达式2> Then < 语句块 2 > …… Else < 语句块n > End If
注意:
不管有几个分支,程序执行一个 分支后,就不再执行其它分支。 ElseIf不能写作Else If 当多个分支有多个表达式同时满 足时,则只执行第一个匹配的语 句块。
动转换为字符类型。
注意:
尽量采用转换函数进行转换,避免VB
系统自动转换。这样能避免出现意想 不到的错误。 VB系统会自动判断赋值符号“=“ 和关 系运算符等于符号”=“。 赋值符号”=“左边只能是变量,不能 是常量、或者表达式。 赋值语句: intX = intX + 1
2 人机交互函数和过程
I=MsgBox(“密码错误”,53,”输入密码”)

模式:若应用模式建立对话框,则必须响应对 话框才能继续当前的应用程序,但可以切换到 其它应用程序。若应用系统模式建立对话框, 则所有的应用程序都被挂起,直到用户响应对 话框为止。
表1.4.2 MsgBox函数返回值意义 内部常数 vbOk vbCancel vbAbort vbRetry vbIgnore vbYes VBNo
相关文档
最新文档