




已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章 選擇結(jié)構(gòu)程序設(shè)計(jì) 選擇結(jié)構(gòu)又稱為分支結(jié)構(gòu),需要先對(duì)給定的所有條件一一進(jìn)行判斷,在眾多條件中,當(dāng)某個(gè)條件成立(結(jié)果為True)時(shí),將執(zhí)行該條件所對(duì)應(yīng)的分支。一般情況下,在一個(gè)選擇結(jié)構(gòu)的程序中,任意時(shí)刻最多只能有一個(gè)分支被執(zhí)行。 在Visual Basic中,條件表達(dá)式有三類:關(guān)系表達(dá)式、布爾表達(dá)式、算術(shù)表達(dá)式,這三類表達(dá)式作為條件表達(dá)式時(shí),其結(jié)果都只可能是True或False,如果是數(shù)值將自動(dòng)轉(zhuǎn)換成對(duì)應(yīng)的布爾值,即0轉(zhuǎn)換成False,非0轉(zhuǎn)換成True。 實(shí)現(xiàn)選擇結(jié)構(gòu)的語(yǔ)句有兩種:If語(yǔ)句和Select Case語(yǔ)句。,4.1 If語(yǔ)句 根據(jù)If語(yǔ)句所包含的分支數(shù),可以分成:?jiǎn)畏种f語(yǔ)句、雙分支If語(yǔ)句和嵌套的If語(yǔ)句,即多分支If語(yǔ)句。 根據(jù)If語(yǔ)句的結(jié)構(gòu),可以分成:?jiǎn)涡薪Y(jié)構(gòu)If語(yǔ)句和塊結(jié)構(gòu)If語(yǔ)句。單行結(jié)構(gòu)If語(yǔ)句只能寫成一行,而且行尾沒有End If語(yǔ)句;塊結(jié)構(gòu)If語(yǔ)句必須寫成多行,而且一定是If語(yǔ)句開頭End If語(yǔ)句結(jié)束。,4.1.1 單分支If語(yǔ)句 單分支If語(yǔ)句只有一個(gè)分支,其流程圖如圖4-1所示。單分支If語(yǔ)句有兩種形式:?jiǎn)涡薪Y(jié)構(gòu)和塊結(jié)構(gòu)。,格式1:?jiǎn)涡薪Y(jié)構(gòu) If Then 格式2:塊結(jié)構(gòu) If Then End If,對(duì)于單行結(jié)構(gòu)單分支If語(yǔ)句,當(dāng)?shù)闹禐門rue時(shí),執(zhí)行Then后面的,否則不執(zhí)行。語(yǔ)句組又稱語(yǔ)句序列,可以是一條或多條語(yǔ)句,在單行結(jié)構(gòu)單分支If語(yǔ)句中,如果語(yǔ)句組包含多條語(yǔ)句,相互間用冒號(hào)“:”分隔。 對(duì)于塊結(jié)構(gòu)單分支If語(yǔ)句,當(dāng)?shù)闹禐門rue時(shí),執(zhí)行Then和End If之間的,否則不執(zhí)行。如果語(yǔ)句組包含多條語(yǔ)句,一般寫成多行,如果要寫成一行,相互間用冒號(hào)“:”分隔。 注意: (1)在塊結(jié)構(gòu)單分支If語(yǔ)句中,Then語(yǔ)句后必須換行; (2)在If語(yǔ)句中,賦值運(yùn)算符“=”與關(guān)系運(yùn)算符“=”的區(qū)別。 例如:語(yǔ)句If x=1 Then y=1中,“x=1”是條件表達(dá)式,表示x的值是否“等于”1,而“y=1”是賦值運(yùn)算,表示將1賦給變量y,使得變量y的值為1。,【例4-1】隨機(jī)產(chǎn)生窗體的背景顏色,用消息框函數(shù)實(shí)現(xiàn)交互設(shè)置,程序運(yùn)行結(jié)果如圖4-2所示。,【例4-2】輸入三個(gè)數(shù),計(jì)算并輸出這三個(gè)數(shù)中的最小值,程序運(yùn)行結(jié)果如圖4-3所示。,【例4-3】用InputBox函數(shù)輸入三個(gè)數(shù),對(duì)這三個(gè)數(shù)按從大到小的順序排列并輸出,程序運(yùn)行結(jié)果如圖4-4所示。,4.1.2 雙分支If語(yǔ)句 雙分支If語(yǔ)句有兩個(gè)分支,其流程圖如圖4-5所示。雙分支If語(yǔ)句也有兩種格式:?jiǎn)涡薪Y(jié)構(gòu)和塊結(jié)構(gòu)。 格式1:?jiǎn)涡薪Y(jié)構(gòu) If Then Else 格式2:塊結(jié)構(gòu) If Then Else End If,對(duì)于單行結(jié)構(gòu)雙分支If語(yǔ)句,當(dāng)?shù)闹禐門rue時(shí),執(zhí)行Then和Else之間的,否則,執(zhí)行Else后面的。在單行結(jié)構(gòu)雙分支If語(yǔ)句中,如果語(yǔ)句組包含多條語(yǔ)句,相互間用冒號(hào)“:”分隔。 對(duì)于塊結(jié)構(gòu)雙分支If語(yǔ)句,當(dāng)?shù)闹禐門rue時(shí),執(zhí)行Then和Else之間的,否則,執(zhí)行Else和End If之間的。如果語(yǔ)句組包含多條語(yǔ)句,一般寫成多行,如果要寫成一行,相互間用冒號(hào)“:”分隔。 注意:在塊結(jié)構(gòu)雙分支If語(yǔ)句中,Else語(yǔ)句必須是其所在行的第一條語(yǔ)句,即Else語(yǔ)句不能接在其他語(yǔ)句的后面。,【例4-4】輸入x的值,計(jì)算并輸出函數(shù)y的值,程序運(yùn)行結(jié)果如圖4-6所示。,x0,x0,4.1.3 IIf函數(shù) IIf函數(shù)用于實(shí)現(xiàn)簡(jiǎn)單的條件判斷,它是單行結(jié)構(gòu)雙分支If語(yǔ)句的簡(jiǎn)化形式。其語(yǔ)法格式如下: IIf(,) IIf函數(shù)的功能是:先計(jì)算的值,如果為True,則整個(gè)IIf函數(shù)的返回值為的值;如果為False,則整個(gè)IIf函數(shù)的返回值為的值。 注意:IIf函數(shù)的三個(gè)參數(shù)都是必選參數(shù),不能省略。 【例4-5】用IIf函數(shù)實(shí)現(xiàn)例4-4的函數(shù)計(jì)算。,4.1.4 If語(yǔ)句的嵌套及IIf函數(shù)的嵌套 If語(yǔ)句的嵌套指的是Then或Else后的或,本身也可以是一個(gè)If語(yǔ)句,即If語(yǔ)句的分支中又嵌套了If語(yǔ)句。使用If語(yǔ)句的嵌套可以實(shí)現(xiàn)多個(gè)分支的復(fù)雜選擇。 IIf函數(shù)的嵌套指的是IIf函數(shù)的第二個(gè)參數(shù)“”或第三個(gè)參數(shù)“”本身也可以是一個(gè)IIf函數(shù)。,【例4-6】用InputBox函數(shù)輸入一個(gè)學(xué)生某門課的成績(jī),判斷并輸出該學(xué)生的成績(jī)等級(jí),假定成績(jī)大于或等于85分為“優(yōu)秀”,大于或等于70分小于85分為“良好”,大于或等于60分小于70分為“合格”,小于60分為“不合格”,程序運(yùn)行結(jié)果如圖4-7所示。,【例4-7】用嵌套的IIf函數(shù)實(shí)現(xiàn)例4-6的成績(jī)等級(jí)判斷。,4.1.5 If語(yǔ)句的專用嵌套形式ElseIf語(yǔ)句,由于If語(yǔ)句的嵌套層次過多,將導(dǎo)致程序書寫和閱讀困難,因此,Visual Basic提供了If語(yǔ)句的專用嵌套形式ElseIf語(yǔ)句,其流程圖如圖4-8所示。其語(yǔ)法格式如下:,If Then ElseIf Then ElseIf Then Else End If,注意: (1)在中,有且僅有一個(gè)被執(zhí)行; (2)可以有多個(gè)ElseIf語(yǔ)句,但只能有一個(gè)If語(yǔ)句和一個(gè)End If語(yǔ)句,最多只能有一個(gè)Else語(yǔ)句(可以沒有Else語(yǔ)句)。 【例4-8】用If語(yǔ)句的專用嵌套形式ElseIf語(yǔ)句實(shí)現(xiàn)例4-6的成績(jī)等級(jí)判斷。,4.2 多分支選擇語(yǔ)句Select Case 多分支選擇語(yǔ)句Select Case是在多個(gè)分支中,選擇滿足條件的一個(gè)分支執(zhí)行,其流程圖如圖4-9所示。其語(yǔ)法格式如下:,Select Case Case Case Case Case Else End Select,說(shuō)明: (1)為必要參數(shù),可以是常量、變量或表達(dá)式,通常為變量; (2)有如下四種形式: 可以是數(shù)值、數(shù)值表達(dá)式、字符串或字符串表達(dá)式,相互之間用逗號(hào)分隔;,一個(gè)指定的值范圍,用To連接,較小的值放在關(guān)鍵字To之前,而且To關(guān)鍵字的左右要分別加一個(gè)空格; Is;只要輸入,Is關(guān)鍵字將自動(dòng)插入,也可以輸入; 以上三種表達(dá)式表形式的混合;混合表達(dá)式表相互之間用逗號(hào)分隔。,注意: (1)當(dāng)使用關(guān)鍵字Is表示條件時(shí),只能使用簡(jiǎn)單條件,不能將多個(gè)Is條件組合在一起。如:Case Is=5 Or Is=5,Is=0都是錯(cuò)誤的; (2)當(dāng)測(cè)試表達(dá)式與某個(gè)表達(dá)式列表相匹配后,將執(zhí)行對(duì)應(yīng)的語(yǔ)句組,其余的表達(dá)式列表將不再測(cè)試,即僅執(zhí)行條件相匹配的第一個(gè)分支。 【例4-9】用多分支選擇語(yǔ)句Select Case實(shí)現(xiàn)例4-6的成績(jī)等級(jí)判斷。,【例4-10】輸入變量a的值(以角度為單位),按下列公式計(jì)算函數(shù)b的值并輸出,程序運(yùn)行結(jié)果如圖4-10所示。,a0,a=0,a0,方程的根有如下幾種可能: (1)若a=0且b=0,則提示“數(shù)據(jù)輸入錯(cuò)誤,請(qǐng)重新輸入!”; (2)若a=0且b0,則方程有一個(gè)實(shí)根x=-c/b; (3)若a0且b2-4ac=0,則方程有兩個(gè)相等的實(shí)根x1=x2=-b/(2*a); (4)若a0且b2-4ac0,則方程有兩個(gè)不相等的實(shí)根; (5)若a0且b2-4ac0,則方程有兩個(gè)共軛復(fù)根。,【例4-11】求一元二次方程,的根,程序運(yùn)行結(jié)果如圖4-11所示。 分析:一元二次方程的求根公式為,OLE容器控件的常用屬性設(shè)置如下: (1)BackStyle:0-Transparent; (2)BorderStyle:0-None; (3)SizeMode:1-Stretch。,【例4-12】設(shè)計(jì)一個(gè)倒計(jì)時(shí)器,按照時(shí)間格式輸入兩位的時(shí)、分、秒值,開始倒計(jì)時(shí)后,每隔1秒,時(shí)間值(總的秒數(shù))減1,并且刷新一次時(shí)間,直到時(shí)間值為0,停止倒計(jì)時(shí)。,4.3 單選按鈕與復(fù)選框控件 單選按鈕與復(fù)選框控件的區(qū)別:?jiǎn)芜x按鈕控件在其組內(nèi),任意時(shí)刻最多只能選擇一項(xiàng)而且必須選擇一項(xiàng);復(fù)選框控件則可以在0所有項(xiàng)之間任意選擇。,4.3.1 單選按鈕 1單選按鈕的常用屬性 (1)Value屬性 表示單選按鈕的狀態(tài)。Value屬性值為True,表示選中了該單選按鈕,顯示一個(gè)黑點(diǎn)“”,為False則沒有選中。 (2)Style屬性 設(shè)置單選按鈕的顯示樣式。Style屬性值有兩個(gè):0-Standard(標(biāo)準(zhǔn)樣式,默認(rèn)設(shè)置)、1-Graphical(圖形樣式)。 2單選按鈕的常用事件 單選按鈕的常用事件是Click事件。,【例4-13】西瓜按單個(gè)重量不同而售價(jià)不同,分別為 單個(gè)重量2千克以下,每千克2元; 單個(gè)重量23千克,每千克2.5元; 單個(gè)重量34千克,每千克3元; 單個(gè)重量45千克,每千克3.5元; 單個(gè)重量5千克以上,每千克4元; 編寫程序,輸入西瓜的重量,計(jì)算并輸出付款金額。,4.3.2 復(fù)選框 1復(fù)選框的常用屬性 (1)Value屬性 表示復(fù)選框的狀態(tài)。Value屬性值為1-Checked,表示選中了該復(fù)選框,顯示一個(gè)“”,為0-UnChecked,則沒有選中,為2-Grayed,則復(fù)選框?yàn)榛疑硎静豢捎谩?(2)Style屬性 設(shè)置復(fù)選框的顯示樣式。Style屬性值有兩個(gè):0-Standard(標(biāo)準(zhǔn)樣式,默認(rèn)設(shè)置)、1-Graphical(圖形樣式)。 2復(fù)選框的常用事件 復(fù)選框的常用事件是Click事件。,4.4 框架控件 框架控件是一個(gè)容器控件,其主要功能是: (1)將其他控件分組,特別是對(duì)單選按鈕進(jìn)行分組;,(2)框架的Enabled屬性和Visible屬性,會(huì)影響它所容納的控件,當(dāng)框架的Enabled屬性值為True時(shí),框架可用,它所容納的控件也可用,反之,框架和它所容納的控件都不可用;當(dāng)框架的Visible屬性值為True時(shí),框架可見,它所容納的控件也可見,反之,框架和它所容納的控件都不可見; (3)當(dāng)移動(dòng)框架時(shí),被容納的控件也會(huì)隨之移動(dòng); (4)當(dāng)刪除框架時(shí),被容納的控件也會(huì)隨之被刪除。 將控件添加到框架中的方法: (1)單擊選擇框架,然后單擊工具箱中的相應(yīng)控件(不能使用雙擊的方式),在框架中拖動(dòng)鼠標(biāo)指針畫出控件; (2)在窗體或其他容器控件中已經(jīng)畫好的控件,可以先選擇這些控件,然后通過剪貼板剪切或復(fù)制,再選中框架后粘貼到框架中。 框架的常用屬性:Capt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外語(yǔ)學(xué)習(xí)與文化認(rèn)同的協(xié)同發(fā)展
- 雙十一購(gòu)物良策
- 2025年加氣柱項(xiàng)目提案報(bào)告
- 2025最權(quán)威的電子商務(wù)平臺(tái)會(huì)員信息服務(wù)合同
- 2025設(shè)備臨時(shí)租賃合同
- 2025至2030年中國(guó)家禽線用掛牌行業(yè)投資前景及策略咨詢報(bào)告
- 機(jī)械租賃合同解除協(xié)議書
- 2025年電波特性測(cè)試儀器項(xiàng)目提案報(bào)告模板
- 2025至2030年中國(guó)冷凍杏瓣行業(yè)投資前景及策略咨詢報(bào)告
- 美容院股權(quán)合同協(xié)議書
- 如何落實(shí)“三管三必須”完整ppt
- SPC基礎(chǔ)知識(shí)培訓(xùn)教材ppt課件
- 2022年《明碼標(biāo)價(jià)和禁止價(jià)格欺詐規(guī)定》重點(diǎn)解讀
- LED臺(tái)燈及亮度調(diào)節(jié)電路設(shè)計(jì)
- 公路線形設(shè)計(jì)外文文獻(xiàn)中英對(duì)照
- 現(xiàn)場(chǎng)質(zhì)量管理
- 結(jié)核分枝桿菌實(shí)驗(yàn)活動(dòng)風(fēng)險(xiǎn)評(píng)估報(bào)告
- 電力電子第三版習(xí)題及解答
- 鋼結(jié)構(gòu)管廊安裝施工方案-zshj
- 人教版九年級(jí)化學(xué)教材分析(共20頁(yè))
- 2MCL457離心壓縮機(jī)結(jié)構(gòu)設(shè)計(jì)說(shuō)明書
評(píng)論
0/150
提交評(píng)論