《VB 選擇結(jié)構(gòu)課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《VB 選擇結(jié)構(gòu)課件.ppt(41頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1 第 四 章 選 擇 結(jié) 構(gòu)4.1 運 算 符 與 表 達 式4.2 順 序 結(jié) 構(gòu) 4.3 If語 句 4.4 多 條 件 選 擇 語 句4.5 選 項 按 鈕4.6 復(fù) 選 框 2 4.1.1 算 術(shù) 運 算 符 與 算 術(shù) 表 達 式4.1 運 算 符 與 表 達 式運 算 符 運 算 示 例 結(jié) 果 乘 方 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兩種含義:減法或者取負區(qū)別求整型除法的余數(shù) 3 4.1.2 關(guān) 系 運 算
2、 符 與 關(guān) 系 表 達 式運 算 符 含 義 示 例 結(jié) 果 大 于 53 True= 大 于 等 于 “a”=“b” False 小 于 “abc”“bcd” True= 小 于 等 于 5=6 True= 等 于 “56”=“65” False 不 等 于 “ABCD”ABC” True優(yōu)先級的級別都是相同的 4 進 行 關(guān) 系 運 算 時 , 先 算 出 關(guān) 系 運 算 符 兩 側(cè) 表 達 式的 值 , 然 后 再 進 行 比 較表 達 式 均 為 數(shù) 值 型 時 , 按 數(shù) 值 大 小 進 行 比 較表 達 式 是 字 符 串 型 時 , 對 應(yīng) 的 字 符 按 ASCII值 進行
3、比 較數(shù) 值 型 與 可 轉(zhuǎn) 換 成 數(shù) 值 型 的 數(shù) 據(jù) 比 較 , 按 轉(zhuǎn) 換 后的 數(shù) 值 進 行 比 較日 期 型 數(shù) 據(jù) 的 比 較 , 看 成 ”yyyymmdd”的 8位 整 數(shù)單 精 度 數(shù) 不 能 直 接 進 行 ”=”的 比 較 , 計 算 機 中 的 浮點 數(shù) 的 誤 差 。 5 4.1.3 布 爾 運 算 符 與 布 爾 表 達 式 運 算 符 含 義 示 例 結(jié) 果 說 明Not 取 反 Not T F 對 其 后 的 布 爾 值 取 反And 與 T And F F 當(dāng) 兩 個 值 均 為 真 時 結(jié) 果 為 真Or 或 T Or F T 當(dāng) 兩 個 值 均 為
4、假 時 結(jié) 果 為 假Xor 異 或 T Xor F T 兩 個 值 相 反 時 , 結(jié) 果 才 為 真Eqv 等 價 T Eqv F F 兩 個 值 相 同 時 , 結(jié) 果 才 為 真Imp 蘊 含 T Imp F F 第 一 個 值 為 真 , 第 二 個 值 為假 時 結(jié) 果 為 假 , 否 則 結(jié) 果 為 真 6 4.1.4 字 符 串 運 算 符 與 字 符 串 表 達 式 VB只 有 一 種 字 符 串 連 接 符 , 即 連 接 運 算 符 “ a b=2*a Print “b=”; bEnd Sub 結(jié) 果 : a=12 b=24 12 4.3.1 單 行 選 擇 語 句 If
5、ThenElse單 行 選 擇 語 句 的 語 法 格 式 為 :If Then 語 句 序 列 1 Else 語 句 序 列 24.3 If語 句 條 件語 句 序 列 1 語 句 序 列 2真 假條件表達式的結(jié)果為一個布爾值;可以是關(guān)系表達式;布爾表達式;數(shù)值表達式,非0值為True,0為False;字符串表達式,只允許出現(xiàn)包含數(shù)字的字符串。 13分 析 : 當(dāng) x2時 , 用 公 式 y x3 9來 求 y的 值 ; 當(dāng)x= 2 Then y = x 3 - 9 Else y = x 2 + 5 * x - 6 Text2.Text = yEnd Sub 16 IIF語 句 也 是 單
6、條 件 選 擇 結(jié) 構(gòu) 語 句 , 其 語 法 格 式 為 :IIF(條 件 , 語 句 序 列 1, 語 句 序 列 2)其 中 : 語 句 序 列 1是 條 件 為 真 時 要 執(zhí) 行 的 語 句 塊 部 分 ,語 句 序 列 2是 條 件 為 假 時 要 執(zhí) 行 的 語 句 塊 部 分 。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
7、Else End If4.3.3 塊 結(jié) 構(gòu) 條 件 語 句 IfThenElseEnd If 當(dāng) If語 句 中 的 語 句 序 列 要 包 含 多 條 語 句 時 , 采 用 塊結(jié) 構(gòu) 條 件 語 句 。 If x = 2 Then y = x 3 - 9 Else y = x 2 + 5 * x 6End If塊 結(jié) 構(gòu) 中 的 If語 句 必 須 以 End If結(jié)束 18 If語 句 的 嵌 套 是 指 語 句 序 列 1或 語 句 序 列 2本 身 又是 一 個 If語 句 。 語 法 格 式 : If Then If Then Else End If Else End If4.3
8、.4 If語 句 的 嵌 套 19 條 件 2 條 件 1 20 例 : 鐵 路 托 運 行 李 , 從 甲 地 到 乙 地 , 規(guī) 定 每 張 客 票 托 運費 計 算 方 法 是 行 李 重 量 不 超 過 50kg時 , 0.25元 /kg, 超過 50kg而 不 超 過 100kg時 , 其 超 過 部 分 按 0.35元 /kg收 費 ,超 過 100kg時 , 其 超 過 部 分 按 0.45元 /kg收 費 。 編 寫 程 序 ,輸 入 行 李 重 量 , 計 算 并 輸 出 托 運 的 費 用 。 分 析 : 設(shè) 行 李 重 量 為 wkg, 應(yīng) 付 運 費 為 x元 , 則
9、運 費 公式 為 : )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 Tex
10、t2.Text = xEnd Sub 22 多 層 的 If語 句 嵌 套 格 式 使 程 序 冗 長 復(fù) 雜 。 ElseIf語 句 的 語 法 格 式 如 下 : If Then 語 句 序 列 1 ElseIf Then 語 句 序 列 2 Else 語 句 序 列 n+1 End If4.3.5 ElseIf語 句 23 例 【 4-8】 學(xué) 生 成 績 采 用 五 分 制 : 成 績 小 于 60分為 “ 不 及 格 ” , 大 于 等 于 60小 于 70為 “ 及 格 ” ,大 于 等 于 70小 于 80為 “ 中 ” , 大 于 等 于 80小 于90為 “ 良 ” , 大
11、于 等 于 90為 “ 優(yōu) ” 。 試 編 寫 程序 判 斷 某 學(xué) 生 的 成 績 等 級 。分 析 : 可 從 文 本 框 1中 獲 取 學(xué) 生 成 績 , 然 后 進 行判 斷 并 在 文 本 框 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 a
12、80 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 數(shù) 值 或 字 符 串 , 測 試 條 件 的 值 可 以 是 2*a,12,
13、14三 者 之 一表 達 式 1 To 表達 式 2 Case 1 To 10 1測 試 條 件 值 10Is 關(guān) 系 運 算 符表 達 式 Is100 測 試 條 件 值 100 29 例 【 4-10】 判 斷 某 一 閏 年 中 任 意 給 定 的 月 份 有 多少 天 。分 析 : 在 閏 年 中 , 2月 有 29天 , 1、 3、 5、 7、 8、10、 12月 有 31天 , 其 他 月 份 有 30天 。 這 是 個 多個 條 件 的 選 擇 問 題 , 用 Select Case語 句 實 現(xiàn) 。 設(shè)計 時 有 文 本 框 1提 供 月 份 的 輸 入 , 文 本 框 2用
14、于 輸出 該 月 有 多 少 天 , 點 擊 “ 判 斷 ” 按 鈕 進 行 判 斷 。 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.輸 入
15、3個 不 同 的 數(shù) , 將 它 們 從 大 到 小 排 序3.假 定 每 周 的 工 作 安 排 : 星 期 一 、 三 : 計 算 機 ; 星期 二 、 四 : 高 等 數(shù) 學(xué) ; 星 期 五 : 英 語 ; 星 期 六 、 日 :休 息 。 輸 入 星 期 , 輸 出 安 排 。 提 示 : 用 06代 表 星 期 日 到 星 期 六 。 y x x x x x x x sin c o s 2 3 1 0 3 0 1.按 下 列 公 式 計 算 Y值練 習(xí) 32 4.5 選 項 按 鈕 控 件 選 項 按 鈕 (OptionButton)就 是 我 們 通 常 所 說 的 單 選按 鈕
16、, 它 的 主 要 功 能 是 提 供 一 組 選 擇 , 這 些 選 擇 是 互 斥的 , 要 求 在 這 些 互 斥 的 選 擇 中 根 據(jù) 需 要 選 取 一 個 且 只 能選 取 一 個 。屬 性 名 說 明Value 選 項 按 鈕 的 選 擇 狀 態(tài) : True表 示 被 選 中 , False表 示 未 被 選 中Caption 顯 示 出 現(xiàn) 在 選 項 按 鈕 旁 邊 的 文 本 Style 顯 示 風(fēng) 格 : 0標(biāo) 準(zhǔn) 方 式 , 選 中 時 出 現(xiàn) 圓 黑 點 ,1圖 形 方 式 , 外 觀 類 似 命 令 按 鈕 , 按 下 時 表 示 選 中Picture 在 選
17、項 按 鈕 選 用 圖 片常 用 屬 性 33 選 項 按 鈕 的 Value屬 性 指 出 是 否 選 定了 此 按 鈕 。 選 定 時 , 值 將 變 為 True, 可 在 代 碼 中設(shè) 置 選 項 按 鈕 的 Value屬 性 來 選 定 按 鈕 。 例 如 : Option1 Value=True要 在 選 項 按 鈕 組 中 設(shè) 置 缺 省 選 項 按 鈕 , 可 在 設(shè) 計 時通 過 設(shè) 置 Value屬 性 , 也 可 在 運 行 時 在 代 碼 中 用 上述 語 句 來 設(shè) 置 Value屬 性 。 34 選 項 按 鈕 常 用 的 事 件 是 Click、 GotFocus
18、(獲 得 焦點 )、 LostFocus(失 去 焦 點 )事 件 。 常 用 的 方 法 是SetFocus方 法 , 即 讓 該 選 項 按 鈕 獲 得 焦 點 , 此 時其 Value值 為 True。一 個 選 項 按 鈕 可 以 用 以 下 幾 種 方 法 選 擇 :1.在 運 行 時 單 擊 該 選 項 按 鈕2.用 代 碼 使 它 的 Value值 為 True, 即 Option1.Value=True3.在 選 項 按 鈕 組 內(nèi) 使 用 方 向 鍵 選 擇 選 項 按 鈕 35 選 定 選 項 按 鈕 時 將 觸 發(fā) 其 Click事 件 。是 否 有 必 要 響 應(yīng) 此
19、事 件 , 這 將 取 決 于 應(yīng) 用 程 序 的功 能 。在 平 常 應(yīng) 用 中 , 常 常 需 要 幾 組 選 項 , 這 就 需 要 創(chuàng) 建選 項 組 。 要 將 選 項 按 鈕 分 組 , 可 把 它 們 創(chuàng) 建 在 不 同的 容 器 控 件 中 , 像 Frame控 件 、 Picture控 件 。 運行 時 , 用 戶 在 每 個 選 項 組 中 只 能 選 定 一 個 選 項 按 鈕 。 36 例 【 4-11】 利 用 選 項 按 鈕 修 改 文 本 框 中 文 字 的 字體 , 共 有 宋 體 、 隸 書 和 楷 體 3中 字 體 。分 析 : 3中 字 體 是 互 斥 的
20、, 所 以 需 要 使 用 3個 選 項 按鈕 Option1Option3, 將 其 Caption依 次 修 改 為 宋體 、 隸 書 和 楷 體 ; 此 外 還 有 一 個 文 本 框 用 于 輸 入 。 37 4.6 復(fù) 選 框 復(fù) 選 框 (CheckBox)也 稱 為 檢 查 框 , 主 要 功 能是 提 供 在 多 種 選 擇 中 選 擇 一 種 、 選 擇 兩 種 或 選 擇多 種 的 方 法 。 復(fù) 選 框 可 以 單 獨 使 用 , 也 可 以 成 組使 用 ; 成 組 使 用 時 , 組 內(nèi) 每 個 復(fù) 選 框 是 獨 立 的 ,可 以 被 獨 立 選 擇 。 38 復(fù)
21、選 框 常 用 的 屬 性 有 :1.Caption屬 性 : 顯 示 出 現(xiàn) 在 復(fù) 選 框 旁 邊 的 文 本2.Value屬 性 : 0 - Unchecked、 1 - Checked、2 - Grayed, 分 別 代 表 未 選 定 、 選 定 和 禁 用 狀 態(tài) 。復(fù) 選 框 的 常 用 事 件 有 Click事 件 、 GotFocus和LostFocus事 件 。 39 該 屬 性 指 示 復(fù) 選 框 處 于 選 定 、 未 選定 或 禁 用 狀 態(tài) ( 灰 色 的 ) 中 的 哪 一 種 。 有 三 種 設(shè)置 值 : 0 - Unchecked、 1 - Checked、
22、2 Grayed。 其 缺 省 值 是 未 選 定 狀 態(tài) 。 若 要 預(yù) 先 在 一 系 列 復(fù) 選 框 中 選 定 若 干 復(fù) 選 框 ,則 應(yīng) 在 Form_Load或 Form_Initialize過 程 中 將Value屬 性 設(shè) 置 為 Checked, 也 可 將 屬 性 值 設(shè) 置為 Grayed以 禁 用 復(fù) 選 框 。 40 例 【 4-13】 設(shè) 計 一 個 程 序 , 窗 體 上 包 括 學(xué) 生 的 基本 信 息 , 學(xué) 生 可 以 利 用 復(fù) 選 框 進 行 課 程 選 擇 , 信 息及 課 程 選 擇 完 畢 后 單 擊 “ 確 定 ” 即 可 將 所 有 信 息 在下 面 顯 示 出 來 。 41 小 結(jié) 本 章 主 要 介 紹 了 VB語 言 中 的 一 種 重 要 程 序 結(jié)構(gòu) 選 擇 結(jié) 構(gòu) , 該 結(jié) 構(gòu) 是 Visual Basic程 序 中 常用 的 3種 基 本 結(jié) 構(gòu) 之 一 , 首 先 介 紹 選 擇 結(jié) 構(gòu) 中 所用 到 的 基 本 知 識 : 算 術(shù) 運 算 符 、 比 較 運 算 符 、 連接 運 算 符 、 邏 輯 運 算 符 與 表 達 式 , 然 后 簡 單 介 紹一 下 順 序 結(jié) 構(gòu) , 最 后 依 次 介 紹 幾 種 選 擇 語 句 。 本章 最 后 介 紹 了 兩 種 控 件 。