




已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章 選擇結構程序設計 選擇結構又稱為分支結構,需要先對給定的所有條件一一進行判斷,在眾多條件中,當某個條件成立(結果為True)時,將執(zhí)行該條件所對應的分支。一般情況下,在一個選擇結構的程序中,任意時刻最多只能有一個分支被執(zhí)行。 在Visual Basic中,條件表達式有三類:關系表達式、布爾表達式、算術表達式,這三類表達式作為條件表達式時,其結果都只可能是True或False,如果是數(shù)值將自動轉換成對應的布爾值,即0轉換成False,非0轉換成True。 實現(xiàn)選擇結構的語句有兩種:If語句和Select Case語句。,4.1 If語句 根據(jù)If語句所包含的分支數(shù),可以分成:單分支If語句、雙分支If語句和嵌套的If語句,即多分支If語句。 根據(jù)If語句的結構,可以分成:單行結構If語句和塊結構If語句。單行結構If語句只能寫成一行,而且行尾沒有End If語句;塊結構If語句必須寫成多行,而且一定是If語句開頭End If語句結束。,4.1.1 單分支If語句 單分支If語句只有一個分支,其流程圖如圖4-1所示。單分支If語句有兩種形式:單行結構和塊結構。,格式1:單行結構 If Then 格式2:塊結構 If Then End If,對于單行結構單分支If語句,當?shù)闹禐門rue時,執(zhí)行Then后面的,否則不執(zhí)行。語句組又稱語句序列,可以是一條或多條語句,在單行結構單分支If語句中,如果語句組包含多條語句,相互間用冒號“:”分隔。 對于塊結構單分支If語句,當?shù)闹禐門rue時,執(zhí)行Then和End If之間的,否則不執(zhí)行。如果語句組包含多條語句,一般寫成多行,如果要寫成一行,相互間用冒號“:”分隔。 注意: (1)在塊結構單分支If語句中,Then語句后必須換行; (2)在If語句中,賦值運算符“=”與關系運算符“=”的區(qū)別。 例如:語句If x=1 Then y=1中,“x=1”是條件表達式,表示x的值是否“等于”1,而“y=1”是賦值運算,表示將1賦給變量y,使得變量y的值為1。,【例4-1】隨機產(chǎn)生窗體的背景顏色,用消息框函數(shù)實現(xiàn)交互設置,程序運行結果如圖4-2所示。,【例4-2】輸入三個數(shù),計算并輸出這三個數(shù)中的最小值,程序運行結果如圖4-3所示。,【例4-3】用InputBox函數(shù)輸入三個數(shù),對這三個數(shù)按從大到小的順序排列并輸出,程序運行結果如圖4-4所示。,4.1.2 雙分支If語句 雙分支If語句有兩個分支,其流程圖如圖4-5所示。雙分支If語句也有兩種格式:單行結構和塊結構。 格式1:單行結構 If Then Else 格式2:塊結構 If Then Else End If,對于單行結構雙分支If語句,當?shù)闹禐門rue時,執(zhí)行Then和Else之間的,否則,執(zhí)行Else后面的。在單行結構雙分支If語句中,如果語句組包含多條語句,相互間用冒號“:”分隔。 對于塊結構雙分支If語句,當?shù)闹禐門rue時,執(zhí)行Then和Else之間的,否則,執(zhí)行Else和End If之間的。如果語句組包含多條語句,一般寫成多行,如果要寫成一行,相互間用冒號“:”分隔。 注意:在塊結構雙分支If語句中,Else語句必須是其所在行的第一條語句,即Else語句不能接在其他語句的后面。,【例4-4】輸入x的值,計算并輸出函數(shù)y的值,程序運行結果如圖4-6所示。,x0,x0,4.1.3 IIf函數(shù) IIf函數(shù)用于實現(xiàn)簡單的條件判斷,它是單行結構雙分支If語句的簡化形式。其語法格式如下: IIf(,) IIf函數(shù)的功能是:先計算的值,如果為True,則整個IIf函數(shù)的返回值為的值;如果為False,則整個IIf函數(shù)的返回值為的值。 注意:IIf函數(shù)的三個參數(shù)都是必選參數(shù),不能省略。 【例4-5】用IIf函數(shù)實現(xiàn)例4-4的函數(shù)計算。,4.1.4 If語句的嵌套及IIf函數(shù)的嵌套 If語句的嵌套指的是Then或Else后的或,本身也可以是一個If語句,即If語句的分支中又嵌套了If語句。使用If語句的嵌套可以實現(xiàn)多個分支的復雜選擇。 IIf函數(shù)的嵌套指的是IIf函數(shù)的第二個參數(shù)“”或第三個參數(shù)“”本身也可以是一個IIf函數(shù)。,【例4-6】用InputBox函數(shù)輸入一個學生某門課的成績,判斷并輸出該學生的成績等級,假定成績大于或等于85分為“優(yōu)秀”,大于或等于70分小于85分為“良好”,大于或等于60分小于70分為“合格”,小于60分為“不合格”,程序運行結果如圖4-7所示。,【例4-7】用嵌套的IIf函數(shù)實現(xiàn)例4-6的成績等級判斷。,4.1.5 If語句的專用嵌套形式ElseIf語句,由于If語句的嵌套層次過多,將導致程序書寫和閱讀困難,因此,Visual Basic提供了If語句的專用嵌套形式ElseIf語句,其流程圖如圖4-8所示。其語法格式如下:,If Then ElseIf Then ElseIf Then Else End If,注意: (1)在中,有且僅有一個被執(zhí)行; (2)可以有多個ElseIf語句,但只能有一個If語句和一個End If語句,最多只能有一個Else語句(可以沒有Else語句)。 【例4-8】用If語句的專用嵌套形式ElseIf語句實現(xiàn)例4-6的成績等級判斷。,4.2 多分支選擇語句Select Case 多分支選擇語句Select Case是在多個分支中,選擇滿足條件的一個分支執(zhí)行,其流程圖如圖4-9所示。其語法格式如下:,Select Case Case Case Case Case Else End Select,說明: (1)為必要參數(shù),可以是常量、變量或表達式,通常為變量; (2)有如下四種形式: 可以是數(shù)值、數(shù)值表達式、字符串或字符串表達式,相互之間用逗號分隔;,一個指定的值范圍,用To連接,較小的值放在關鍵字To之前,而且To關鍵字的左右要分別加一個空格; Is;只要輸入,Is關鍵字將自動插入,也可以輸入; 以上三種表達式表形式的混合;混合表達式表相互之間用逗號分隔。,注意: (1)當使用關鍵字Is表示條件時,只能使用簡單條件,不能將多個Is條件組合在一起。如:Case Is=5 Or Is=5,Is=0都是錯誤的; (2)當測試表達式與某個表達式列表相匹配后,將執(zhí)行對應的語句組,其余的表達式列表將不再測試,即僅執(zhí)行條件相匹配的第一個分支。 【例4-9】用多分支選擇語句Select Case實現(xiàn)例4-6的成績等級判斷。,【例4-10】輸入變量a的值(以角度為單位),按下列公式計算函數(shù)b的值并輸出,程序運行結果如圖4-10所示。,a0,a=0,a0,方程的根有如下幾種可能: (1)若a=0且b=0,則提示“數(shù)據(jù)輸入錯誤,請重新輸入!”; (2)若a=0且b0,則方程有一個實根x=-c/b; (3)若a0且b2-4ac=0,則方程有兩個相等的實根x1=x2=-b/(2*a); (4)若a0且b2-4ac0,則方程有兩個不相等的實根; (5)若a0且b2-4ac0,則方程有兩個共軛復根。,【例4-11】求一元二次方程,的根,程序運行結果如圖4-11所示。 分析:一元二次方程的求根公式為,OLE容器控件的常用屬性設置如下: (1)BackStyle:0-Transparent; (2)BorderStyle:0-None; (3)SizeMode:1-Stretch。,【例4-12】設計一個倒計時器,按照時間格式輸入兩位的時、分、秒值,開始倒計時后,每隔1秒,時間值(總的秒數(shù))減1,并且刷新一次時間,直到時間值為0,停止倒計時。,4.3 單選按鈕與復選框控件 單選按鈕與復選框控件的區(qū)別:單選按鈕控件在其組內,任意時刻最多只能選擇一項而且必須選擇一項;復選框控件則可以在0所有項之間任意選擇。,4.3.1 單選按鈕 1單選按鈕的常用屬性 (1)Value屬性 表示單選按鈕的狀態(tài)。Value屬性值為True,表示選中了該單選按鈕,顯示一個黑點“”,為False則沒有選中。 (2)Style屬性 設置單選按鈕的顯示樣式。Style屬性值有兩個:0-Standard(標準樣式,默認設置)、1-Graphical(圖形樣式)。 2單選按鈕的常用事件 單選按鈕的常用事件是Click事件。,【例4-13】西瓜按單個重量不同而售價不同,分別為 單個重量2千克以下,每千克2元; 單個重量23千克,每千克2.5元; 單個重量34千克,每千克3元; 單個重量45千克,每千克3.5元; 單個重量5千克以上,每千克4元; 編寫程序,輸入西瓜的重量,計算并輸出付款金額。,4.3.2 復選框 1復選框的常用屬性 (1)Value屬性 表示復選框的狀態(tài)。Value屬性值為1-Checked,表示選中了該復選框,顯示一個“”,為0-UnChecked,則沒有選中,為2-Grayed,則復選框為灰色,表示不可用。 (2)Style屬性 設置復選框的顯示樣式。Style屬性值有兩個:0-Standard(標準樣式,默認設置)、1-Graphical(圖形樣式)。 2復選框的常用事件 復選框的常用事件是Click事件。,4.4 框架控件 框架控件是一個容器控件,其主要功能是: (1)將其他控件分組,特別是對單選按鈕進行分組;,(2)框架的Enabled屬性和Visible屬性,會影響它所容納的控件,當框架的Enabled屬性值為True時,框架可用,它所容納的控件也可用,反之,框架和它所容納的控件都不可用;當框架的Visible屬性值為True時,框架可見,它所容納的控件也可見,反之,框架和它所容納的控件都不可見; (3)當移動框架時,被容納的控件也會隨之移動; (4)當刪除框架時,被容納的控件也會隨之被刪除。 將控件添加到框架中的方法: (1)單擊選擇框架,然后單擊工具箱中的相應控件(不能使用雙擊的方式),在框架中拖動鼠標指針畫出控件; (2)在窗體或其他容器控件中已經(jīng)畫好的控件,可以先選擇這些控件,然后通過剪貼板剪切或復制,再選中框架后粘貼到框架中。 框架的常用屬性:Capt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 船舶修理現(xiàn)場作業(yè)安全風險評估考核試卷
- 放射性廢物處理技術的環(huán)境倫理考量考核試卷
- 遠端胃切除術后護理要點
- 全球醫(yī)療記錄存儲租賃合同
- 寵物寄養(yǎng)權爭議解決與撫養(yǎng)費支付合同
- 子女作息習慣培養(yǎng)與家長支持合同
- 管理者的價值體現(xiàn)
- 建筑施工現(xiàn)場安全培訓與咨詢服務協(xié)議
- 婚后奢侈品共有及離婚后財產(chǎn)分割及權益維護實施協(xié)議
- 半導體引線框架研發(fā)與市場推廣合作協(xié)議
- 2025年北京市房山區(qū)九年級初三一模數(shù)學試卷(含答案)
- 五軸3D點膠機在手機中框制造中的應用技術研究
- 舞蹈老師安全培訓
- 2024年醫(yī)療改革政策分析試題及答案
- 2025年山西省中考一模語文試題(原卷版+解析版)
- 2025年上海高考數(shù)學重點知識點歸納總結(復習必背)
- 2025五級應急救援員職業(yè)技能精練考試題庫及答案(濃縮400題)
- 護理職業(yè)教育
- 風電場安全風險分析及預控措施
- 肝功能檢查的試題及答案
- 食品檢測專業(yè)畢業(yè)論文
評論
0/150
提交評論