资源描述
1 第 四 章 选 择 结 构4.1 运 算 符 与 表 达 式4.2 顺 序 结 构 4.3 If语 句 4.4 多 条 件 选 择 语 句4.5 选 项 按 钮4.6 复 选 框 2 4.1.1 算 术 运 算 符 与 算 术 表 达 式4.1 运 算 符 与 表 达 式运 算 符 运 算 示 例 结 果 乘 方 23 8- 取 负 -a(a=2) -2* 乘 法 6.5*6 39.0/ 除 法 13/2 6.5 整 除 132 6Mod 取 模 15Mod4 3+ 加 法 45+6 51- 减 法 23-11 12两种含义:减法或者取负区别求整型除法的余数 3 4.1.2 关 系 运 算 符 与 关 系 表 达 式运 算 符 含 义 示 例 结 果 大 于 53 True= 大 于 等 于 “a”=“b” False 小 于 “abc”“bcd” True= 小 于 等 于 5=6 True= 等 于 “56”=“65” False 不 等 于 “ABCD”ABC” True优先级的级别都是相同的 4 进 行 关 系 运 算 时 , 先 算 出 关 系 运 算 符 两 侧 表 达 式的 值 , 然 后 再 进 行 比 较表 达 式 均 为 数 值 型 时 , 按 数 值 大 小 进 行 比 较表 达 式 是 字 符 串 型 时 , 对 应 的 字 符 按 ASCII值 进行 比 较数 值 型 与 可 转 换 成 数 值 型 的 数 据 比 较 , 按 转 换 后的 数 值 进 行 比 较日 期 型 数 据 的 比 较 , 看 成 ”yyyymmdd”的 8位 整 数单 精 度 数 不 能 直 接 进 行 ”=”的 比 较 , 计 算 机 中 的 浮点 数 的 误 差 。 5 4.1.3 布 尔 运 算 符 与 布 尔 表 达 式 运 算 符 含 义 示 例 结 果 说 明Not 取 反 Not T F 对 其 后 的 布 尔 值 取 反And 与 T And F F 当 两 个 值 均 为 真 时 结 果 为 真Or 或 T Or F T 当 两 个 值 均 为 假 时 结 果 为 假Xor 异 或 T Xor F T 两 个 值 相 反 时 , 结 果 才 为 真Eqv 等 价 T Eqv F F 两 个 值 相 同 时 , 结 果 才 为 真Imp 蕴 含 T Imp F F 第 一 个 值 为 真 , 第 二 个 值 为假 时 结 果 为 假 , 否 则 结 果 为 真 6 4.1.4 字 符 串 运 算 符 与 字 符 串 表 达 式 VB只 有 一 种 字 符 串 连 接 符 , 即 连 接 运 算 符 “ a b=2*a Print “b=”; bEnd Sub 结 果 : a=12 b=24 12 4.3.1 单 行 选 择 语 句 IfThenElse单 行 选 择 语 句 的 语 法 格 式 为 :If Then 语 句 序 列 1 Else 语 句 序 列 24.3 If语 句 条 件语 句 序 列 1 语 句 序 列 2真 假条件表达式的结果为一个布尔值;可以是关系表达式;布尔表达式;数值表达式,非0值为True,0为False;字符串表达式,只允许出现包含数字的字符串。 13分 析 : 当 x2时 , 用 公 式 y x3 9来 求 y的 值 ; 当x= 2 Then y = x 3 - 9 Else y = x 2 + 5 * x - 6 Text2.Text = yEnd Sub 16 IIF语 句 也 是 单 条 件 选 择 结 构 语 句 , 其 语 法 格 式 为 :IIF(条 件 , 语 句 序 列 1, 语 句 序 列 2)其 中 : 语 句 序 列 1是 条 件 为 真 时 要 执 行 的 语 句 块 部 分 ,语 句 序 列 2是 条 件 为 假 时 要 执 行 的 语 句 块 部 分 。If x = 2 Then y = x 3 - 9 Else y = x 2 + 5 * x - 6利 用 IIF语 句 可 将 改 其 写 成 如 下 形 式 :y=IIF(x=2, x 3 9,x 2 + 5 * x 6)4.3.2 IIF语 句 17 其 语 法 格 式 如 下 :If Then Else End If4.3.3 块 结 构 条 件 语 句 IfThenElseEnd If 当 If语 句 中 的 语 句 序 列 要 包 含 多 条 语 句 时 , 采 用 块结 构 条 件 语 句 。 If x = 2 Then y = x 3 - 9 Else y = x 2 + 5 * x 6End If块 结 构 中 的 If语 句 必 须 以 End If结束 18 If语 句 的 嵌 套 是 指 语 句 序 列 1或 语 句 序 列 2本 身 又是 一 个 If语 句 。 语 法 格 式 : If Then If Then Else End If Else End If4.3.4 If语 句 的 嵌 套 19 条 件 2 条 件 1 20 例 : 铁 路 托 运 行 李 , 从 甲 地 到 乙 地 , 规 定 每 张 客 票 托 运费 计 算 方 法 是 行 李 重 量 不 超 过 50kg时 , 0.25元 /kg, 超过 50kg而 不 超 过 100kg时 , 其 超 过 部 分 按 0.35元 /kg收 费 ,超 过 100kg时 , 其 超 过 部 分 按 0.45元 /kg收 费 。 编 写 程 序 ,输 入 行 李 重 量 , 计 算 并 输 出 托 运 的 费 用 。 分 析 : 设 行 李 重 量 为 wkg, 应 付 运 费 为 x元 , 则 运 费 公式 为 : )100( )10050( )50()100(45.05035.05025.0 )50(35.05025.025.0 wwwwwwx 21 Private Sub Command1_Click() Dim w As Single, x As Single w = Val(Text1.Text) If w = 50 Then x = 0.25 * w Else If w = 100 Thenx = 0.25 * 50 + 0.35 * (w50) Else x = 0.25 * 50 + 0.35 * 50 + 0.45 * (w100) End If End If Text2.Text = xEnd Sub 22 多 层 的 If语 句 嵌 套 格 式 使 程 序 冗 长 复 杂 。 ElseIf语 句 的 语 法 格 式 如 下 : If Then 语 句 序 列 1 ElseIf Then 语 句 序 列 2 Else 语 句 序 列 n+1 End If4.3.5 ElseIf语 句 23 例 【 4-8】 学 生 成 绩 采 用 五 分 制 : 成 绩 小 于 60分为 “ 不 及 格 ” , 大 于 等 于 60小 于 70为 “ 及 格 ” ,大 于 等 于 70小 于 80为 “ 中 ” , 大 于 等 于 80小 于90为 “ 良 ” , 大 于 等 于 90为 “ 优 ” 。 试 编 写 程序 判 断 某 学 生 的 成 绩 等 级 。分 析 : 可 从 文 本 框 1中 获 取 学 生 成 绩 , 然 后 进 行判 断 并 在 文 本 框 2中 输 出 。 24 If score = 0 And score = 60 And score = 70 And score = 80 And score = 90 And score 60 then b=1If a70 then b=2If a80 then b=3If a90 then b=4 a=75If a60 then b=1ElseIf a70 then b=2ElseIf a80 then b=3ElseIf a90 then b=4Else b=0End If 26 语 法 格 式 如 下 : Select Case Case 语 句 序 列 1 Case 语 句 序 列 2 Case 语 句 序 列 n Case Else 语 句 序 列 n+1 End Select4.4 多 条 件 选 择 语 句Select Case 27 28 Case子 句 中 的 表 达 式 列 表 可 以 有 以 下 几 种 形 式 :形 式 示 例 说 明表 达 式 Case 2*a,12, 14 数 值 或 字 符 串 , 测 试 条 件 的 值 可 以 是 2*a,12, 14三 者 之 一表 达 式 1 To 表达 式 2 Case 1 To 10 1测 试 条 件 值 10Is 关 系 运 算 符表 达 式 Is100 测 试 条 件 值 100 29 例 【 4-10】 判 断 某 一 闰 年 中 任 意 给 定 的 月 份 有 多少 天 。分 析 : 在 闰 年 中 , 2月 有 29天 , 1、 3、 5、 7、 8、10、 12月 有 31天 , 其 他 月 份 有 30天 。 这 是 个 多个 条 件 的 选 择 问 题 , 用 Select Case语 句 实 现 。 设计 时 有 文 本 框 1提 供 月 份 的 输 入 , 文 本 框 2用 于 输出 该 月 有 多 少 天 , 点 击 “ 判 断 ” 按 钮 进 行 判 断 。 30 Private Sub Command1_Click( ) Dim m As Integer m = Val(Text1.Text) Select Case m Case Is 12 Text2.Text = 输 入 错 误 Case 2 Text2.Text = 本 月 有 29天 Case 1, 3, 5, 7, 8, 10, 12 Text2.Text = 本 月 有 31天 Case Else Text2.Text = 本 月 有 30天 End SelectEnd Sub 312.输 入 3个 不 同 的 数 , 将 它 们 从 大 到 小 排 序3.假 定 每 周 的 工 作 安 排 : 星 期 一 、 三 : 计 算 机 ; 星期 二 、 四 : 高 等 数 学 ; 星 期 五 : 英 语 ; 星 期 六 、 日 :休 息 。 输 入 星 期 , 输 出 安 排 。 提 示 : 用 06代 表 星 期 日 到 星 期 六 。 y x x x x x x x sin c o s 2 3 1 0 3 0 1.按 下 列 公 式 计 算 Y值练 习 32 4.5 选 项 按 钮 控 件 选 项 按 钮 (OptionButton)就 是 我 们 通 常 所 说 的 单 选按 钮 , 它 的 主 要 功 能 是 提 供 一 组 选 择 , 这 些 选 择 是 互 斥的 , 要 求 在 这 些 互 斥 的 选 择 中 根 据 需 要 选 取 一 个 且 只 能选 取 一 个 。属 性 名 说 明Value 选 项 按 钮 的 选 择 状 态 : True表 示 被 选 中 , False表 示 未 被 选 中Caption 显 示 出 现 在 选 项 按 钮 旁 边 的 文 本 Style 显 示 风 格 : 0标 准 方 式 , 选 中 时 出 现 圆 黑 点 ,1图 形 方 式 , 外 观 类 似 命 令 按 钮 , 按 下 时 表 示 选 中Picture 在 选 项 按 钮 选 用 图 片常 用 属 性 33 选 项 按 钮 的 Value属 性 指 出 是 否 选 定了 此 按 钮 。 选 定 时 , 值 将 变 为 True, 可 在 代 码 中设 置 选 项 按 钮 的 Value属 性 来 选 定 按 钮 。 例 如 : Option1 Value=True要 在 选 项 按 钮 组 中 设 置 缺 省 选 项 按 钮 , 可 在 设 计 时通 过 设 置 Value属 性 , 也 可 在 运 行 时 在 代 码 中 用 上述 语 句 来 设 置 Value属 性 。 34 选 项 按 钮 常 用 的 事 件 是 Click、 GotFocus(获 得 焦点 )、 LostFocus(失 去 焦 点 )事 件 。 常 用 的 方 法 是SetFocus方 法 , 即 让 该 选 项 按 钮 获 得 焦 点 , 此 时其 Value值 为 True。一 个 选 项 按 钮 可 以 用 以 下 几 种 方 法 选 择 :1.在 运 行 时 单 击 该 选 项 按 钮2.用 代 码 使 它 的 Value值 为 True, 即 Option1.Value=True3.在 选 项 按 钮 组 内 使 用 方 向 键 选 择 选 项 按 钮 35 选 定 选 项 按 钮 时 将 触 发 其 Click事 件 。是 否 有 必 要 响 应 此 事 件 , 这 将 取 决 于 应 用 程 序 的功 能 。在 平 常 应 用 中 , 常 常 需 要 几 组 选 项 , 这 就 需 要 创 建选 项 组 。 要 将 选 项 按 钮 分 组 , 可 把 它 们 创 建 在 不 同的 容 器 控 件 中 , 像 Frame控 件 、 Picture控 件 。 运行 时 , 用 户 在 每 个 选 项 组 中 只 能 选 定 一 个 选 项 按 钮 。 36 例 【 4-11】 利 用 选 项 按 钮 修 改 文 本 框 中 文 字 的 字体 , 共 有 宋 体 、 隶 书 和 楷 体 3中 字 体 。分 析 : 3中 字 体 是 互 斥 的 , 所 以 需 要 使 用 3个 选 项 按钮 Option1Option3, 将 其 Caption依 次 修 改 为 宋体 、 隶 书 和 楷 体 ; 此 外 还 有 一 个 文 本 框 用 于 输 入 。 37 4.6 复 选 框 复 选 框 (CheckBox)也 称 为 检 查 框 , 主 要 功 能是 提 供 在 多 种 选 择 中 选 择 一 种 、 选 择 两 种 或 选 择多 种 的 方 法 。 复 选 框 可 以 单 独 使 用 , 也 可 以 成 组使 用 ; 成 组 使 用 时 , 组 内 每 个 复 选 框 是 独 立 的 ,可 以 被 独 立 选 择 。 38 复 选 框 常 用 的 属 性 有 :1.Caption属 性 : 显 示 出 现 在 复 选 框 旁 边 的 文 本2.Value属 性 : 0 - Unchecked、 1 - Checked、2 - Grayed, 分 别 代 表 未 选 定 、 选 定 和 禁 用 状 态 。复 选 框 的 常 用 事 件 有 Click事 件 、 GotFocus和LostFocus事 件 。 39 该 属 性 指 示 复 选 框 处 于 选 定 、 未 选定 或 禁 用 状 态 ( 灰 色 的 ) 中 的 哪 一 种 。 有 三 种 设置 值 : 0 - Unchecked、 1 - Checked、 2 Grayed。 其 缺 省 值 是 未 选 定 状 态 。 若 要 预 先 在 一 系 列 复 选 框 中 选 定 若 干 复 选 框 ,则 应 在 Form_Load或 Form_Initialize过 程 中 将Value属 性 设 置 为 Checked, 也 可 将 属 性 值 设 置为 Grayed以 禁 用 复 选 框 。 40 例 【 4-13】 设 计 一 个 程 序 , 窗 体 上 包 括 学 生 的 基本 信 息 , 学 生 可 以 利 用 复 选 框 进 行 课 程 选 择 , 信 息及 课 程 选 择 完 毕 后 单 击 “ 确 定 ” 即 可 将 所 有 信 息 在下 面 显 示 出 来 。 41 小 结 本 章 主 要 介 绍 了 VB语 言 中 的 一 种 重 要 程 序 结构 选 择 结 构 , 该 结 构 是 Visual Basic程 序 中 常用 的 3种 基 本 结 构 之 一 , 首 先 介 绍 选 择 结 构 中 所用 到 的 基 本 知 识 : 算 术 运 算 符 、 比 较 运 算 符 、 连接 运 算 符 、 逻 辑 运 算 符 与 表 达 式 , 然 后 简 单 介 绍一 下 顺 序 结 构 , 最 后 依 次 介 绍 几 种 选 择 语 句 。 本章 最 后 介 绍 了 两 种 控 件 。
展开阅读全文