




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、程序控制結(jié)構(gòu)程序控制結(jié)構(gòu)計(jì)算機(jī)系信息教研室計(jì)算機(jī)系信息教研室n面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,事件驅(qū)動(dòng)的面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,事件驅(qū)動(dòng)的編程機(jī)制編程機(jī)制 一個(gè)一個(gè)VB應(yīng)用程序由若干個(gè)對象構(gòu)成應(yīng)用程序由若干個(gè)對象構(gòu)成 各個(gè)對象的功能主要通過其事件過程完成各個(gè)對象的功能主要通過其事件過程完成 系統(tǒng)根據(jù)當(dāng)前發(fā)生的事件,驅(qū)動(dòng)執(zhí)行與該事系統(tǒng)根據(jù)當(dāng)前發(fā)生的事件,驅(qū)動(dòng)執(zhí)行與該事件相對應(yīng)的事件過程代碼。件相對應(yīng)的事件過程代碼。n事件過程代碼采用結(jié)構(gòu)化程序設(shè)計(jì)事件過程代碼采用結(jié)構(gòu)化程序設(shè)計(jì)VB程序設(shè)計(jì)特點(diǎn)程序設(shè)計(jì)特點(diǎn)n任何算法功能都可以通過由程序模塊組任何算法功能都可以通過由程序模塊組成的三種基本程序結(jié)構(gòu)的組合成的三
2、種基本程序結(jié)構(gòu)的組合: 順序結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)選擇結(jié)構(gòu)和和循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)。來實(shí)現(xiàn)。 4.1.1 算法概述算法概述n算法是解決問題的方法步驟。算法是解決問題的方法步驟。n編制程序的過程首先要設(shè)計(jì)算法編制程序的過程首先要設(shè)計(jì)算法 方法方法 步驟步驟 n例:例:將兩個(gè)變量將兩個(gè)變量x和和y的值進(jìn)行交換,設(shè)的值進(jìn)行交換,設(shè)x = 10,y = 20 分析:分析: 不能直接進(jìn)行交換不能直接進(jìn)行交換 必須借助一個(gè)中間變量暫存必須借助一個(gè)中間變量暫存x的值。的值。 算法算法:(1) 將將x的值暫存在的值暫存在t中;中;(2) 將將y的值存入的值存入x中;中;(3) 將將t的值存入的值存入y中。中
3、。n比較三個(gè)變量比較三個(gè)變量A、B、C中的值,然后輸中的值,然后輸出其中最大的數(shù)。出其中最大的數(shù)。算法為:算法為:(1)設(shè)置一個(gè)變量)設(shè)置一個(gè)變量Max。(2)若)若AB,則,則MaxA;否則;否則MaxB。(3)若)若CMax,則,則MaxC。(4)輸出)輸出Max。 用計(jì)算機(jī)編程解決問題的算法應(yīng)具有的特點(diǎn)用計(jì)算機(jī)編程解決問題的算法應(yīng)具有的特點(diǎn)n有窮性(操作步驟是有限的)有窮性(操作步驟是有限的)n確定性(每一步具有確定的操作內(nèi)容)確定性(每一步具有確定的操作內(nèi)容)n有效性(每一步都有確定的結(jié)果)有效性(每一步都有確定的結(jié)果)n有數(shù)據(jù)輸入和結(jié)果輸出有數(shù)據(jù)輸入和結(jié)果輸出算法的表示方法算法的表示
4、方法n語言描述法語言描述法 用計(jì)算機(jī)編程就是用計(jì)算機(jī)語言來表示算法用計(jì)算機(jī)編程就是用計(jì)算機(jī)語言來表示算法n圖形法圖形法 對于較復(fù)雜的問題還要借助流程圖或?qū)τ谳^復(fù)雜的問題還要借助流程圖或N-S圖圖來表示算法來表示算法n流程圖流程圖也稱為框圖,它是用一些幾何圖也稱為框圖,它是用一些幾何圖形、流向線和文字說明來表示各種類型形、流向線和文字說明來表示各種類型的操作。在流程圖中所用的基本圖形及的操作。在流程圖中所用的基本圖形及其意義都是由國家頒布的標(biāo)準(zhǔn)(其意義都是由國家頒布的標(biāo)準(zhǔn)(GB ISO5807-85)規(guī)定的。)規(guī)定的。圖形法圖形法例例1 將兩個(gè)變量將兩個(gè)變量x和和y的值的值進(jìn)行交換,設(shè)進(jìn)行交換,
5、設(shè)x = 10,y = 20n例例2開開始始 AB Max=A Max=B CMax Max=C 打打印印 Max 結(jié)結(jié)束束 YYNN4.1.3 三種基本結(jié)構(gòu)表示三種基本結(jié)構(gòu)表示 n順序結(jié)構(gòu)順序結(jié)構(gòu) 程序的流程是按照一個(gè)方向進(jìn)行的,一個(gè)入口,一程序的流程是按照一個(gè)方向進(jìn)行的,一個(gè)入口,一個(gè)出口,中間有若干條依次執(zhí)行的語句。個(gè)出口,中間有若干條依次執(zhí)行的語句。n選擇結(jié)構(gòu)選擇結(jié)構(gòu) 程序的流程出現(xiàn)一個(gè)或多個(gè)分支,按一定的程序的流程出現(xiàn)一個(gè)或多個(gè)分支,按一定的條件選擇其中之一執(zhí)行,即選擇結(jié)構(gòu)也叫分條件選擇其中之一執(zhí)行,即選擇結(jié)構(gòu)也叫分支結(jié)構(gòu)。它有一個(gè)入口,一個(gè)出口。中間可支結(jié)構(gòu)。它有一個(gè)入口,一個(gè)出口
6、。中間可以有兩條或多條分支。以有兩條或多條分支。n循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 程序流程是按一定的條件重復(fù)多次執(zhí)行一程序流程是按一定的條件重復(fù)多次執(zhí)行一段程序,被重復(fù)執(zhí)行的程序段叫循環(huán)體。段程序,被重復(fù)執(zhí)行的程序段叫循環(huán)體。n循環(huán)結(jié)構(gòu)的種類循環(huán)結(jié)構(gòu)的種類 按退出循環(huán)的條件按退出循環(huán)的條件 當(dāng)型(當(dāng)型(While)循環(huán)結(jié)構(gòu))循環(huán)結(jié)構(gòu) 直到型(直到型(Until)循環(huán)結(jié)構(gòu))循環(huán)結(jié)構(gòu) 按循環(huán)體至少執(zhí)行的次數(shù)按循環(huán)體至少執(zhí)行的次數(shù) 0次循環(huán)次循環(huán) 1次循環(huán)次循環(huán)n循環(huán)結(jié)構(gòu)也只有一個(gè)入口和一個(gè)出口。循環(huán)結(jié)構(gòu)也只有一個(gè)入口和一個(gè)出口。且只允許且只允許有限次的重復(fù)有限次的重復(fù),不能無限循環(huán)。,不能無限循環(huán)。當(dāng)型當(dāng)型0次
7、循環(huán)次循環(huán)直到型直到型1次循環(huán)次循環(huán)4.2數(shù)據(jù)的輸入與輸出操作數(shù)據(jù)的輸入與輸出操作4.2.1 數(shù)據(jù)輸出數(shù)據(jù)輸出1Print方法object.Print Spc(n) | Tab(n) expression charposobject:窗體:窗體(form)、立即窗口、立即窗口(Debug)、圖片框、圖片框(PictureBox)、打印機(jī)、打印機(jī)(Printer)等對象。等對象。如果省略如果省略“對象對象名名”,則在當(dāng)前窗體上輸出。,則在當(dāng)前窗體上輸出。 Expression:要打印的數(shù)值表達(dá)式或字符串表達(dá)式。:要打印的數(shù)值表達(dá)式或字符串表達(dá)式。 Charpos:逗號(hào)或分號(hào),指定下個(gè)字符的插入點(diǎn)
8、。:逗號(hào)或分號(hào),指定下個(gè)字符的插入點(diǎn)。 逗號(hào)分隔,則按標(biāo)準(zhǔn)格式顯示數(shù)據(jù)項(xiàng),以逗號(hào)分隔,則按標(biāo)準(zhǔn)格式顯示數(shù)據(jù)項(xiàng),以14個(gè)字符位個(gè)字符位置為單位把輸出行分成若干個(gè)區(qū)段,每區(qū)段輸出一個(gè)置為單位把輸出行分成若干個(gè)區(qū)段,每區(qū)段輸出一個(gè)表達(dá)式的值。表達(dá)式的值。1. 分號(hào)或空格作分隔符,則按緊湊格式輸出。分號(hào)或空格作分隔符,則按緊湊格式輸出。 注意注意:每執(zhí)行一次:每執(zhí)行一次print方法自動(dòng)換行。如果要在同一行繼續(xù)顯示,方法自動(dòng)換行。如果要在同一行繼續(xù)顯示,需在末尾加上逗號(hào)或分號(hào)需在末尾加上逗號(hào)或分號(hào)2. 與與Print方法有關(guān)的函數(shù)方法有關(guān)的函數(shù)(1)Tab函數(shù)函數(shù)與與 Print # 語句或語句或 P
9、rint 方法一起使用,對輸出進(jìn)行定方法一起使用,對輸出進(jìn)行定位。位。格式:格式: Tab(n)n參數(shù)參數(shù)n可選??蛇x。n如果當(dāng)前行上允許的輸出寬度如果當(dāng)前行上允許的輸出寬度(格數(shù)格數(shù))大于大于n,則,則Tab將將輸出位置移動(dòng)到第輸出位置移動(dòng)到第n列上列上;如果如果n小于小于1,則,則Tab將輸出位置移動(dòng)到第將輸出位置移動(dòng)到第1列。列。如果如果n大于輸出行的寬度大于輸出行的寬度width,則,則Tab函數(shù)使用以下函數(shù)使用以下公式計(jì)算下一個(gè)輸出位置:公式計(jì)算下一個(gè)輸出位置: NextPosition=n Mod width n每個(gè)每個(gè)Tab函數(shù)對應(yīng)一個(gè)輸出項(xiàng),各輸出項(xiàng)之間用分號(hào)函數(shù)對應(yīng)一個(gè)輸出項(xiàng)
10、,各輸出項(xiàng)之間用分號(hào)分隔。分隔。 Tab使用舉例使用舉例Print Hello;Tab(10);Visual Basic第二個(gè)字從第第二個(gè)字從第10列開始輸出列開始輸出Print Hello;Tab; Visual Basic 如果省略參數(shù),光標(biāo)移至下一個(gè)輸出區(qū)如果省略參數(shù),光標(biāo)移至下一個(gè)輸出區(qū)n輸出結(jié)果為:輸出結(jié)果為: Hello Visual Basic Hello Visual Basic(2)Spc函數(shù)函數(shù)格式:格式: Spc(n)在顯示或打印列表中的下一個(gè)表達(dá)式之前插入在顯示或打印列表中的下一個(gè)表達(dá)式之前插入n個(gè)空白數(shù),個(gè)空白數(shù),n為為032767之間的整數(shù)。之間的整數(shù)。Spc函數(shù)與
11、輸出項(xiàng)之間用分號(hào)隔函數(shù)與輸出項(xiàng)之間用分號(hào)隔開。開。 n如果如果 n 小于輸出行的寬度,則下一個(gè)打印位置將緊接小于輸出行的寬度,則下一個(gè)打印位置將緊接在數(shù)個(gè)已打印的空白之后。在數(shù)個(gè)已打印的空白之后。如果如果 n 大于輸出行的寬度,則大于輸出行的寬度,則 Spc 利用下列公式計(jì)算利用下列公式計(jì)算下一個(gè)打印位置:下一個(gè)打印位置: 當(dāng)前位置當(dāng)前位置+ (n Mod 行寬行寬)nSpc函數(shù)函數(shù)只表示兩個(gè)輸出項(xiàng)之間的間隔只表示兩個(gè)輸出項(xiàng)之間的間隔。n各輸出項(xiàng)之間用分號(hào)分隔。各輸出項(xiàng)之間用分號(hào)分隔。Format函數(shù)函數(shù)n格式:格式: Format() 用用Format函數(shù)可以使數(shù)值按函數(shù)可以使數(shù)值按“格式字
12、格式字符串符串”指定的格式輸出。指定的格式輸出。 n說明:說明:“#”“#”表示一個(gè)數(shù)字占位符。表示一個(gè)數(shù)字占位符。# #的個(gè)數(shù)決定了顯的個(gè)數(shù)決定了顯示串的長度。在格式字符串中示串的長度。在格式字符串中“#”#”的位置上的位置上有數(shù)字存在,就顯示出來;否則,該位置就什有數(shù)字存在,就顯示出來;否則,該位置就什么都不顯示。么都不顯示?!?”“0”表示一個(gè)數(shù)字占位符,與表示一個(gè)數(shù)字占位符,與# #的功能相同,的功能相同,只是多余位以只是多余位以0 0補(bǔ)齊。補(bǔ)齊?!?”“.”表示小數(shù)點(diǎn)占位符。小數(shù)點(diǎn)與表示小數(shù)點(diǎn)占位符。小數(shù)點(diǎn)與# #或或0 0結(jié)合結(jié)合使用,根據(jù)格式字符串的位置。根據(jù)格式串,使用,根據(jù)格
13、式字符串的位置。根據(jù)格式串,小數(shù)部分多余的數(shù)字按四舍五入顯示,但不會(huì)小數(shù)部分多余的數(shù)字按四舍五入顯示,但不會(huì)改變變量的實(shí)際數(shù)值。改變變量的實(shí)際數(shù)值?!?”“,”表示千分位符號(hào)占位符。在格式字符串表示千分位符號(hào)占位符。在格式字符串中插入逗號(hào),起到中插入逗號(hào),起到“分位分位”作用。逗號(hào)可以放作用。逗號(hào)可以放在小數(shù)點(diǎn)前的任何位置,但不能放在串首部。在小數(shù)點(diǎn)前的任何位置,但不能放在串首部。百分號(hào)。通常放在格式字符串的尾部,百分號(hào)。通常放在格式字符串的尾部,用來輸出百分?jǐn)?shù)。用來輸出百分?jǐn)?shù)。$ $美元符號(hào)。通常作為格式字符串的起美元符號(hào)。通常作為格式字符串的起始字符。始字符。+ +正號(hào)、正號(hào)、- -負(fù)號(hào)。
14、放在格式字符串的首部,負(fù)號(hào)。放在格式字符串的首部,為輸出數(shù)據(jù)添加正負(fù)號(hào)。為輸出數(shù)據(jù)添加正負(fù)號(hào)。 E+ E-E+ E-表示用指數(shù)形式顯示數(shù)值。表示用指數(shù)形式顯示數(shù)值。 n【例【例4-3】 用窗體事件過程試驗(yàn)數(shù)值的格式化用窗體事件過程試驗(yàn)數(shù)值的格式化輸出。輸出。Private Sub Form_Click() Print Format(12345.6, 000,000.00) Print Format(12345.678, #,#.#) Print Format(12345.6, #) Print Format(12345.6, #,#0.00) Print Format(12345.6, $#,
15、#0.00) Print Format(12345.6, -#,#0.00) Print Format(0.123, 0.00%) Print Format(12345.6, 0.00E+00)End Sub4.2.2輸入框函數(shù)輸入框函數(shù)InputBox()() 變量名變量名=InputBox(=InputBox(, ,,x,y) 作用:在一對話框中顯示提示,等待用戶輸作用:在一對話框中顯示提示,等待用戶輸入正文或按下按鈕,并返回包含文本框中內(nèi)容,入正文或按下按鈕,并返回包含文本框中內(nèi)容,函數(shù)值的類型為函數(shù)值的類型為 String類型。類型。 例如,要用例如,要用InputBoxInputBo
16、x函數(shù)給變量函數(shù)給變量x x賦值,可以用下面的賦賦值,可以用下面的賦值語句:值語句:X=Val(InputBox(請輸入(請輸入xxx的成績,數(shù)據(jù)輸?shù)某煽儯瑪?shù)據(jù)輸入,入,80) n1:該項(xiàng)是必須有的。它是:該項(xiàng)是必須有的。它是在在InputBox對話框中作為提示用戶操作對話框中作為提示用戶操作的信息,如上例中的的信息,如上例中的“請輸入請輸入xxx的成的成績績”。該項(xiàng)可以是字符常量、變量和字。該項(xiàng)可以是字符常量、變量和字符串表達(dá)式。它的最大長度為符串表達(dá)式。它的最大長度為1024個(gè)字個(gè)字符,若要顯示多行,必須將要顯示的信符,若要顯示多行,必須將要顯示的信息通過字符連接符息通過字符連接符“+”或
17、或“&”組成字符組成字符串表達(dá)式,在要換行處加回車串表達(dá)式,在要換行處加回車Chr(13)、)、換行換行Chr(10)控制符或使用系統(tǒng)常量)控制符或使用系統(tǒng)常量vbCrLf。 n2 2 :用于對話框標(biāo)題區(qū)顯示的:用于對話框標(biāo)題區(qū)顯示的信息,如上例中的信息,如上例中的“數(shù)據(jù)輸入框數(shù)據(jù)輸入框”。該。該項(xiàng)是字符串表達(dá)式,若省略,則將應(yīng)用項(xiàng)是字符串表達(dá)式,若省略,則將應(yīng)用程序名,即工程名作為對話框的標(biāo)題。程序名,即工程名作為對話框的標(biāo)題。n3 3 :輸入文本編輯區(qū)默認(rèn)值,:輸入文本編輯區(qū)默認(rèn)值,如上例中的如上例中的8080,如果用戶不輸入值而直,如果用戶不輸入值而直接按回車鍵或單擊接按回車鍵或單擊“確
18、定確定”按鈕,則該按鈕,則該值便作為函數(shù)的輸入值。該項(xiàng)為數(shù)值常值便作為函數(shù)的輸入值。該項(xiàng)為數(shù)值常量、字符串常數(shù)量或常量表達(dá)式。若省量、字符串常數(shù)量或常量表達(dá)式。若省略,則相當(dāng)于空字符串。略,則相當(dāng)于空字符串。n4、:確定對話框在:確定對話框在屏幕上顯示的位置,為整型表達(dá)式,用屏幕上顯示的位置,為整型表達(dá)式,用來確定對話框左上角在屏幕上的位置,來確定對話框左上角在屏幕上的位置,屏幕左上角的坐標(biāo)為(屏幕左上角的坐標(biāo)為(0,0),向下為),向下為Y的正方向,向右為的正方向,向右為X的正方向。的正方向。 n注意:注意:(1 1)各項(xiàng)參數(shù)次序必須一一對應(yīng),除第一)各項(xiàng)參數(shù)次序必須一一對應(yīng),除第一項(xiàng)參數(shù)項(xiàng)
19、參數(shù)“提示信息提示信息”不能省略外,其余參不能省略外,其余參數(shù)均可忽略,如果處于中間位置的參數(shù)省數(shù)均可忽略,如果處于中間位置的參數(shù)省略,則其對應(yīng)的符號(hào)不能省略。略,則其對應(yīng)的符號(hào)不能省略。例如:省略除提示信息的參數(shù),則上例應(yīng)例如:省略除提示信息的參數(shù),則上例應(yīng)改為:改為:X=InputBox(X=InputBox(請輸入請輸入xxxxxx的成績,的成績,80)80)(2 2)由)由InputBoxInputBox函數(shù)返回的數(shù)據(jù)類型是字函數(shù)返回的數(shù)據(jù)類型是字符類型數(shù)據(jù),如果要得到數(shù)值類型數(shù)據(jù),符類型數(shù)據(jù),如果要得到數(shù)值類型數(shù)據(jù),則必須用則必須用Val()Val()函數(shù)進(jìn)行類型轉(zhuǎn)換。函數(shù)進(jìn)行類型轉(zhuǎn)
20、換。4.2.3 消息框消息框MsgBoxMsgBox函數(shù)在對話框中顯示信息,等待用戶單函數(shù)在對話框中顯示信息,等待用戶單擊按鈕,并返回一個(gè)整數(shù)以標(biāo)明用戶單擊了哪個(gè)擊按鈕,并返回一個(gè)整數(shù)以標(biāo)明用戶單擊了哪個(gè)按鈕。其語法格式為:按鈕。其語法格式為:變量變量=MsgBox(, , ) 設(shè)置值及其意義設(shè)置值及其意義分組分組系統(tǒng)常數(shù)系統(tǒng)常數(shù)值值描述描述按鈕數(shù)目按鈕數(shù)目vbOKOnly0只顯示只顯示 OK 按鈕。按鈕。VbOKCancel1顯示顯示 OK 及及 Cancel 按鈕。按鈕。VbAbortRetryIgnore2顯示顯示 Abort、Retry 及及 Ignore 按鈕。按鈕。VbYesNoC
21、ancel3顯示顯示 Yes、No 及及 Cancel 按鈕。按鈕。VbYesNo4顯示顯示 Yes 及及 No 按鈕。按鈕。VbRetryCancel5顯示顯示 Retry 及及 Cancel 按鈕。按鈕。圖標(biāo)類型圖標(biāo)類型VbCritical16顯示顯示 Critical Message 圖標(biāo)。圖標(biāo)。VbQuestion32顯示顯示 Warning Query 圖標(biāo)。圖標(biāo)。VbExclamation48顯示顯示 Warning Message 圖標(biāo)。圖標(biāo)。VbInformation64顯示顯示 Information Message 圖標(biāo)。圖標(biāo)。默認(rèn)按鈕默認(rèn)按鈕vbDefaultButton
22、10第一個(gè)按鈕是缺省值。第一個(gè)按鈕是缺省值。vbDefaultButton2256第二個(gè)按鈕是缺省值。第二個(gè)按鈕是缺省值。vbDefaultButton3512第三個(gè)按鈕是缺省值。第三個(gè)按鈕是缺省值。模式模式vbApplicationModal0應(yīng)用程序強(qiáng)制返回;應(yīng)用程序一直被掛起,應(yīng)用程序強(qiáng)制返回;應(yīng)用程序一直被掛起,直到用戶對消息框作出響應(yīng)才繼續(xù)工作。直到用戶對消息框作出響應(yīng)才繼續(xù)工作。vbSystemModal4096系統(tǒng)強(qiáng)制返回;全部應(yīng)用程序都被掛起,直系統(tǒng)強(qiáng)制返回;全部應(yīng)用程序都被掛起,直到用戶對消息框作出響應(yīng)才繼續(xù)工作。到用戶對消息框作出響應(yīng)才繼續(xù)工作。n【例【例4 -4】 Msg
23、=Hope Wang。 & vbCrLf & is a good teacher。Style= VbYesNo + VbQuestion + VbDefaultButton2a = MsgBox(Msg, Style, 詢問詢問)MsgBox函數(shù)的返回值函數(shù)的返回值系統(tǒng)常數(shù)系統(tǒng)常數(shù)返回值返回值描述描述VbOK1確定確定vbCancel2取消取消vbAbort3終止終止vbRetry4重試重試vbIgnore5忽略忽略VbYes6是是VbNo7否否n【例【例4-5】使用條件】使用條件(If)語句,利用語句,利用MsgBox函數(shù)的返回值作為不同操作的函數(shù)的返回值作為不同操作的選擇選擇:If a=v
24、bYes Then 用戶按下用戶按下”是是” MyString=你選擇的是你選擇的是“是是”按鈕按鈕 Else 用戶按下用戶按下”否否” MyString=你選擇的是你選擇的是“否否”按鈕按鈕 Print mystringEnd if4.3 選擇結(jié)構(gòu)選擇結(jié)構(gòu)4.3.1 If語句語句單行條件語句格式如下單行條件語句格式如下: If Then Else 代碼舉例:代碼舉例:a = inputbox(“請輸入字符:請輸入字符:”)If a=“0” and a=“9” Then print a;”為數(shù)字為數(shù)字!”If語句的語句的Else部分是可選的,當(dāng)該項(xiàng)省略時(shí),簡化為:部分是可選的,當(dāng)該項(xiàng)省略時(shí),簡
25、化為: If Then 它的功能是,如果它的功能是,如果“條件條件”為為True,執(zhí)行,執(zhí)行“語句語句1”,否則,否則執(zhí)行下一行語句執(zhí)行下一行語句 。單行條件語句要作為一條語句書寫,其中語句塊、語句單行條件語句要作為一條語句書寫,其中語句塊、語句塊可以是一條語句也可是由冒號(hào)間隔的多條語句塊可以是一條語句也可是由冒號(hào)間隔的多條語句True邏輯表達(dá)式邏輯表達(dá)式語句語句1語句語句2FalseIf語句執(zhí)行流程語句執(zhí)行流程編程舉例編程舉例n輸入三個(gè)數(shù)輸入三個(gè)數(shù)a,b,c,輸出三者之中最小者。,輸出三者之中最小者。 分析分析 輸入三個(gè)數(shù)值;從中找出最小值;輸出結(jié)果。輸入三個(gè)數(shù)值;從中找出最小值;輸出結(jié)果。
26、Private Sub Command1_Click()Dim a as Integer,b as IntegerDim c as Integer,min as Integera=Val(InputBox(請輸入第請輸入第1個(gè)數(shù)個(gè)數(shù):)b=Val(InputBox(請輸入第請輸入第2個(gè)數(shù)個(gè)數(shù):)c=Val(InputBox(請輸入第請輸入第3個(gè)數(shù)個(gè)數(shù):)min =a 設(shè)設(shè)a為最小值為最小值If b min Then min =b 比較后保留最小值比較后保留最小值If c min Then min =cPrint a; 、; b;與與; c;之中最小值是:之中最小值是:; minEnd Sub
27、n雙分支塊結(jié)構(gòu)的雙分支塊結(jié)構(gòu)的ifThenElseifThenElse語句語句單行結(jié)構(gòu)條件語句中,如果條件分支執(zhí)行的操作單行結(jié)構(gòu)條件語句中,如果條件分支執(zhí)行的操作比較復(fù)雜,不能在一個(gè)邏輯行內(nèi)書寫完畢,可以比較復(fù)雜,不能在一個(gè)邏輯行內(nèi)書寫完畢,可以使用塊結(jié)構(gòu)條件語句。塊結(jié)構(gòu)條件語句一般格式使用塊結(jié)構(gòu)條件語句。塊結(jié)構(gòu)條件語句一般格式如下:如下:If If Then Then 1ElseElse 2End IfEnd Ifn語句的執(zhí)行過程和單行結(jié)構(gòu)條件語句相同語句的執(zhí)行過程和單行結(jié)構(gòu)條件語句相同, ,即即當(dāng)條件的值為當(dāng)條件的值為True(True(滿足條件滿足條件) )時(shí)執(zhí)行時(shí)執(zhí)行 ThenThen
28、后后面的面的 ,1,否則執(zhí)行否則執(zhí)行Else Else 后面的后面的 2。 n【例【例4-74-7】 求求x x的絕對值。的絕對值。分析:問題可以描述為:分析:問題可以描述為:l l 輸入一個(gè)數(shù)值輸入一個(gè)數(shù)值x x。l l 判斷判斷x x是正數(shù)還是負(fù)數(shù),取絕對值。是正數(shù)還是負(fù)數(shù),取絕對值。l l 輸出結(jié)果。輸出結(jié)果。Private Sub Command1_Click()Dim x as Integerx=Val(InputBox(請輸入請輸入1個(gè)數(shù)個(gè)數(shù):)If x 0 Then Print - xElsePrint xEnd IfEnd SubPrivate Sub Command2_Cli
29、ck() EndEnd Subn多分支塊結(jié)構(gòu)的多分支塊結(jié)構(gòu)的ifThenElseifThenElse語句語句在雙分支塊結(jié)構(gòu)的在雙分支塊結(jié)構(gòu)的if.Then.Elseif.Then.Else語句中,由于語句中,由于中間為語句塊,即多條語句。這就難免在某個(gè)語句中間為語句塊,即多條語句。這就難免在某個(gè)語句塊 中 仍 然 存 在 有 一 個(gè) 雙 分 支 塊 結(jié) 構(gòu) 的塊 中 仍 然 存 在 有 一 個(gè) 雙 分 支 塊 結(jié) 構(gòu) 的if.Then.Elseif.Then.Else語句。其格式如下:語句。其格式如下:If If Then1 Then If If Then2 Then 1 Else Else
30、2 End If End If 其它語句其它語句 ElseElse 3End IfEnd If If If Then1 Then 1ElseElse If If Then2 Then 2 Else Else 3 End If End If 其它語句其它語句 End IfEnd Ifn【例【例4-84-8】從鍵盤輸入一個(gè)數(shù),判斷其】從鍵盤輸入一個(gè)數(shù),判斷其為為“大于零大于零”、“等于零等于零”或者或者“小于小于零零”。分析:分析:問題可以描述為:問題可以描述為:l l 輸入一個(gè)數(shù)值輸入一個(gè)數(shù)值x x。l l 判定其結(jié)果。判定其結(jié)果。Private Sub Command1_Click()Dim
31、x as Integerx=Val(InputBox(請輸入請輸入1個(gè)數(shù)個(gè)數(shù):)If x 0 Then Print “該數(shù)為大于零的數(shù)該數(shù)為大于零的數(shù)”ElsePrint “該數(shù)為等于零的數(shù)該數(shù)為等于零的數(shù)” End IfEnd IfEnd SubPrivate Sub Command2_Click() EndEnd Subn多分支塊結(jié)構(gòu)的多分支塊結(jié)構(gòu)的ifThenElseIfifThenElseIf語句語句在上面的多分支結(jié)構(gòu)中,其實(shí)屬于嵌套在上面的多分支結(jié)構(gòu)中,其實(shí)屬于嵌套的的ifif結(jié)構(gòu)(特點(diǎn)是有一個(gè)結(jié)構(gòu)(特點(diǎn)是有一個(gè)ifif就必然需要就必然需要一個(gè)一個(gè)End IfEnd If作為結(jié)束。)
32、作為結(jié)束。)n多分支塊結(jié)構(gòu)多分支塊結(jié)構(gòu)ifThenElseIfifThenElseIf語句就語句就是對上面的嵌套的一種改進(jìn),其格式如是對上面的嵌套的一種改進(jìn),其格式如下:下: IfIfThen1Then 1ElselfElselfThen2Then 2 ElselfElselfThennThen nElseElse n+1End IfEnd Ifn【例【例4-94-9】 輸入一學(xué)生成績,評定其等輸入一學(xué)生成績,評定其等級(jí)。方法是:級(jí)。方法是:90100分為分為“優(yōu)秀優(yōu)秀”,8089分為分為“良好良好”。,。,7079分為分為“中等中等”,6069分為分為“及格及格”,60分分以下為以下為“不合
33、格不合格”。 Private Sub Command1_Click() Dim x as Integerx=Val(InputBox(請輸入學(xué)生成績請輸入學(xué)生成績:)If x = 90 Then Print “優(yōu)秀優(yōu)秀”ElseIf x = 80 Then Print “良好良好”ElseIf x = 70 ThenPrint “中等中等”ElseIf x = 60 Then Print “及格及格”Else Print “不及格不及格”End IfEnd SubPrivate Sub Command2_Click() EndEnd Sub4.3.2Select Case語句語句n有時(shí)程序在某
34、種狀態(tài)下,會(huì)有多種可能選擇。有時(shí)程序在某種狀態(tài)下,會(huì)有多種可能選擇。具有多個(gè)分支時(shí),使用情況語句更為簡潔。具有多個(gè)分支時(shí),使用情況語句更為簡潔。情況語句的一般格式為情況語句的一般格式為:Select Case Case Case Case Else End Select n以以Select Case開頭,以開頭,以End Select結(jié)束。結(jié)束。n功能是根據(jù)功能是根據(jù)“測試表達(dá)式測試表達(dá)式”的值,從多個(gè)的值,從多個(gè)語句塊中選擇符合條件的一個(gè)語句塊執(zhí)行。語句塊中選擇符合條件的一個(gè)語句塊執(zhí)行。n情況語句的執(zhí)行過程情況語句的執(zhí)行過程 對對“測試表達(dá)式測試表達(dá)式”求值求值 順序測試該值與哪一個(gè)順序測試
35、該值與哪一個(gè)Case子句中的子句中的“表達(dá)表達(dá)式表列式表列”相匹配?相匹配? 如果找到了,則執(zhí)行該如果找到了,則執(zhí)行該Case分支有關(guān)的語句塊,分支有關(guān)的語句塊,然后把控制轉(zhuǎn)移到然后把控制轉(zhuǎn)移到End Select后面的語句后面的語句 如果沒有找到,則執(zhí)行如果沒有找到,則執(zhí)行Case Else分支有關(guān)的語分支有關(guān)的語句塊,然后把控制轉(zhuǎn)移到句塊,然后把控制轉(zhuǎn)移到End Select后面的語句。后面的語句。 說明:說明:1)“測試表達(dá)式測試表達(dá)式”可以是數(shù)值表達(dá)式或字可以是數(shù)值表達(dá)式或字符串表達(dá)式,通常為變量。符串表達(dá)式,通常為變量。2) 每個(gè)語句塊由一行或多行每個(gè)語句塊由一行或多行VB語句組成。
36、語句組成。3)“表達(dá)式表列表達(dá)式表列”中的表達(dá)式必須與中的表達(dá)式必須與“測測試表達(dá)式試表達(dá)式”的類型相同。的類型相同。4)“表達(dá)式表列表達(dá)式表列”稱為域值,可以是下列稱為域值,可以是下列形式之一形式之一:(1) ,各各“表達(dá)式表達(dá)式”值為值為“或或”關(guān)系,即當(dāng)測試關(guān)系,即當(dāng)測試表達(dá)式的值與它們中之一相同時(shí),就執(zhí)表達(dá)式的值與它們中之一相同時(shí),就執(zhí)行該行該Case分支的語句。分支的語句。例如:例如:Case 2,4,6,8表示測試表達(dá)式表示測試表達(dá)式的值等于的值等于2 or 4 or 6 or 8時(shí)執(zhí)行該分支時(shí)執(zhí)行該分支的語句。的語句。(2) To 關(guān)鍵字關(guān)鍵字To用于指定域值的范圍。若測試用于指
37、定域值的范圍。若測試表達(dá)式的值落在表達(dá)式的值落在至至之間之間(包括包括和和的的值值),則執(zhí)行該,則執(zhí)行該Case分支的語句。所以,分支的語句。所以,要求要求的值的值的值的值。例如:例如:Case 1 To 10(3) Is 關(guān)鍵字關(guān)鍵字Is表示當(dāng)測試值滿足表示當(dāng)測試值滿足“關(guān)系表達(dá)式關(guān)系表達(dá)式”指定條指定條件時(shí),執(zhí)行該件時(shí),執(zhí)行該Case分支的語句。分支的語句。例如:例如: Case Is10 表示當(dāng)表示當(dāng)“測試表達(dá)式測試表達(dá)式”的值的值10時(shí)時(shí)Case Is=5 表示當(dāng)表示當(dāng)“測試表達(dá)式測試表達(dá)式”的值的值=5時(shí)時(shí)n在一個(gè)在一個(gè)Select Case語句中三種形式可以混合使用,語句中三種形式
38、可以混合使用,例如:例如: Case Ismin,5,6,13,Is=max Case Is= 90 Label1.Caption = 優(yōu)秀優(yōu)秀 Case Is = 80 Label1.Caption = 良好良好 Case Is = 70 Label1.Caption = 中等中等 Case Is = 60 Label1.Caption = 及格及格 Case Else Label1.Caption = 不及格不及格 End SelectEnd Sub4.4 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 為了解決某一問題,或求取某一計(jì)算結(jié)果,程序中為了解決某一問題,或求取某一計(jì)算結(jié)果,程序中往往反復(fù)地按某一模式進(jìn)行操作
39、。往往反復(fù)地按某一模式進(jìn)行操作。n 問題問題1:計(jì)算:計(jì)算1*2*3*4*n。用一個(gè)變量用一個(gè)變量S代表值,可以寫成代表值,可以寫成:S=1S=S*2S=S*3共有共有n行語句行語句S=S*nn問題問題2:在一行上輸出:在一行上輸出60個(gè)個(gè)“*”號(hào)。號(hào)。如果用如果用Print方法,可以用方法,可以用60個(gè)個(gè)“*”號(hào)組成一個(gè)字符串:號(hào)組成一個(gè)字符串:print “*” 60個(gè)個(gè)“*”或使用或使用60個(gè)語句:個(gè)語句:Print“*”;Print“*”;共有共有60行行Print”*”n循環(huán)結(jié)構(gòu)是一種重復(fù)執(zhí)行的程序結(jié)構(gòu)。它判循環(huán)結(jié)構(gòu)是一種重復(fù)執(zhí)行的程序結(jié)構(gòu)。它判斷給定的條件,如果條件成立,即為斷給定
40、的條件,如果條件成立,即為“真真”(TrueTrue),則重復(fù)執(zhí)行某一些語句,(稱為),則重復(fù)執(zhí)行某一些語句,(稱為循環(huán)體);否則,即為循環(huán)體);否則,即為“假假”(FalseFalse),則),則結(jié)束循環(huán)。通常循環(huán)結(jié)構(gòu)有結(jié)束循環(huán)。通常循環(huán)結(jié)構(gòu)有“當(dāng)型循環(huán)當(dāng)型循環(huán)”(先判斷條件,后執(zhí)行循環(huán))和(先判斷條件,后執(zhí)行循環(huán))和“直到型循直到型循環(huán)環(huán)”(先執(zhí)行循環(huán),在判斷條件)兩種。在(先執(zhí)行循環(huán),在判斷條件)兩種。在Visual BasicVisual Basic中,實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語句主要中,實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語句主要有有3 3種:種:l l WhileWendWhileWend語句語句l l DoLo
41、opDoLoopl l ForNextForNext 4.4.1 WhileWend語句語句 WhileWend語句語句(當(dāng)循環(huán)語句當(dāng)循環(huán)語句)根據(jù)某一條件進(jìn)行判斷,決定是根據(jù)某一條件進(jìn)行判斷,決定是否執(zhí)行循環(huán)。其語句格式如下:否執(zhí)行循環(huán)。其語句格式如下: While Wend 上述格式中,上述格式中,“條件條件”為一布爾表達(dá)式,用以指定循環(huán)條件。為一布爾表達(dá)式,用以指定循環(huán)條件。 執(zhí)行過程是:執(zhí)行過程是: 如果如果“條件條件”的值為的值為True(非非0),執(zhí)行由,執(zhí)行由“語句塊語句塊”組成的循環(huán)組成的循環(huán)體,當(dāng)遇到體,當(dāng)遇到Wend語句時(shí),控制返回到語句時(shí),控制返回到While語句,并對語
42、句,并對“條件條件”進(jìn)行測試,如果仍為進(jìn)行測試,如果仍為True,則重復(fù)上述過程。如果,則重復(fù)上述過程。如果“條件條件”為為False,則不再執(zhí)行,則不再執(zhí)行“語句塊語句塊”,而執(zhí)行,而執(zhí)行Wend后面的語句后面的語句 n【例【例4-124-12】使用循環(huán)在窗體上輸出】使用循環(huán)在窗體上輸出1010個(gè)個(gè)“* *”分析:分析:在窗體上輸出在窗體上輸出“* *”,其語句要用到,其語句要用到Print Print “* *”語句。但語句。但Print Print “* *”只能輸出只能輸出1 1個(gè)星號(hào),個(gè)星號(hào),如果要輸出如果要輸出1010個(gè)則讓該語句重復(fù)執(zhí)行個(gè)則讓該語句重復(fù)執(zhí)行1010次即可。所以,程
43、序中要設(shè)置一個(gè)記錄次即可。所以,程序中要設(shè)置一個(gè)記錄Print Print “* *”語句執(zhí)行次數(shù)的變量語句執(zhí)行次數(shù)的變量c c。 【例【例4-134-13】從鍵盤上輸入一個(gè)數(shù)從鍵盤上輸入一個(gè)數(shù)x,判定該數(shù),判定該數(shù)是否為質(zhì)數(shù)。是否為質(zhì)數(shù)。 Private Sub Command1_Click() Dim x As Integer, flag As Boolean, n As Integer x = val(InputBox(請輸入一個(gè)數(shù)請輸入一個(gè)數(shù):) flag = True n = 2 While n x And flag If x Mod n = 0 Then flag = False
44、n = n + 1 Wend If flag Then Print x; 是一個(gè)素?cái)?shù)是一個(gè)素?cái)?shù) Else Print x; 不是一個(gè)素?cái)?shù)不是一個(gè)素?cái)?shù) End IfEnd Sub 使用使用WhileWend循環(huán)語句時(shí),應(yīng)注意:循環(huán)語句時(shí),應(yīng)注意: (1)先對先對“條件條件”進(jìn)行測試,然后才決定是否執(zhí)行進(jìn)行測試,然后才決定是否執(zhí)行循環(huán)體。因此,進(jìn)入循環(huán)體之前應(yīng)循環(huán)體。因此,進(jìn)入循環(huán)體之前應(yīng)正確設(shè)置循環(huán)條正確設(shè)置循環(huán)條件件。 (2)循環(huán)體內(nèi)應(yīng)該循環(huán)體內(nèi)應(yīng)該有修改循環(huán)條件的語句有修改循環(huán)條件的語句,使得循,使得循環(huán)體能正常執(zhí)行和正常終止。否則會(huì)出現(xiàn)死循環(huán),環(huán)體能正常執(zhí)行和正常終止。否則會(huì)出現(xiàn)死循環(huán),這
45、是程序設(shè)計(jì)中容易出現(xiàn)的錯(cuò)誤,應(yīng)當(dāng)盡力避免。這是程序設(shè)計(jì)中容易出現(xiàn)的錯(cuò)誤,應(yīng)當(dāng)盡力避免。 WhileWend語句是語句是Basic語言中形式最簡單循語言中形式最簡單循環(huán)語句,我們用它引入了循環(huán)語句的概念和應(yīng)用。環(huán)語句,我們用它引入了循環(huán)語句的概念和應(yīng)用。更典型和更靈活的形式是更典型和更靈活的形式是Do循環(huán)語句,它完全可循環(huán)語句,它完全可以代替以代替WhileWend語句。語句。 4.4.2 DoLoop語句語句nDoLoop循環(huán)語句也是根據(jù)條件決定循環(huán)語句也是根據(jù)條件決定循環(huán)的語句。循環(huán)的語句。nDoLoop語句具有很靈活的構(gòu)造形式:語句具有很靈活的構(gòu)造形式:既能夠指定循環(huán)條件,也能夠指定循環(huán)既
46、能夠指定循環(huán)條件,也能夠指定循環(huán)結(jié)束條件;既可以構(gòu)成先判斷條件形式,結(jié)束條件;既可以構(gòu)成先判斷條件形式,也可以構(gòu)成后判斷條件形式。也可以構(gòu)成后判斷條件形式。 先判斷條件形式的先判斷條件形式的DoLoop語句語句語句格式如下:語句格式如下: Do While | Until Loopn保留字保留字While用于指定循環(huán)條件用于指定循環(huán)條件n保留字保留字Until用于指定循環(huán)結(jié)束條件用于指定循環(huán)結(jié)束條件n先判斷條件形式的先判斷條件形式的DoLoop語句功能是,當(dāng)指定的循環(huán)語句功能是,當(dāng)指定的循環(huán)條件為條件為True或直到指定的循環(huán)結(jié)束條件變?yōu)榛蛑钡街付ǖ难h(huán)結(jié)束條件變?yōu)門rue之前重之前重復(fù)執(zhí)行語
47、句塊組成的循環(huán)體。進(jìn)入循環(huán)體時(shí),如果循環(huán)條復(fù)執(zhí)行語句塊組成的循環(huán)體。進(jìn)入循環(huán)體時(shí),如果循環(huán)條件不成立或者循環(huán)結(jié)束條件成立,就不會(huì)執(zhí)行循環(huán)體的語件不成立或者循環(huán)結(jié)束條件成立,就不會(huì)執(zhí)行循環(huán)體的語句塊。這點(diǎn)和句塊。這點(diǎn)和WhileWend語句一樣。語句一樣。Do WhileFalseTrue條件的值條件的值循環(huán)體循環(huán)體 Do WhileLoop循環(huán)結(jié)構(gòu)流程圖循環(huán)結(jié)構(gòu)流程圖Do UntilTrueFalse條 件 的條 件 的值值循環(huán)體循環(huán)體Do Until Loop循環(huán)結(jié)構(gòu)流程圖循環(huán)結(jié)構(gòu)流程圖DoLoop語句的先判斷條件格式的控制流程語句的先判斷條件格式的控制流程 x初值為初值為0,則下列循環(huán)語句
48、執(zhí)行后,則下列循環(huán)語句執(zhí)行后,x的值的值等于(等于( ),執(zhí)行循環(huán)體的次數(shù)為(),執(zhí)行循環(huán)體的次數(shù)為( )。)。 i=1 do while x20 x=x+i i=i+2 loop【例【例4-144-14】 用用Do WhileLoopDo WhileLoop語句計(jì)算語句計(jì)算2 2n n。Private Sub Command1_Click() n = Val(InputBox(請輸入請輸入n的值的值) s = 1 c = 1 Do While c 100 s = s + c c = c + 1 Loop Print s = ; sEnd Sub后判斷條件形式的后判斷條件形式的DoLoop語句
49、語句語句格式如下:語句格式如下: Do Loop While|Until 后判斷條件形式的后判斷條件形式的DoLoop語句與先判斷語句與先判斷條件形式的區(qū)別是首先執(zhí)行循環(huán)體,然后測試條件形式的區(qū)別是首先執(zhí)行循環(huán)體,然后測試循環(huán)條件或循環(huán)終止條件,決定是否繼續(xù)循環(huán)。循環(huán)條件或循環(huán)終止條件,決定是否繼續(xù)循環(huán)。所以,這種結(jié)構(gòu)的語句至少執(zhí)行一次循環(huán)體。所以,這種結(jié)構(gòu)的語句至少執(zhí)行一次循環(huán)體。DoWhileFalseTrue條 件 的條 件 的值值循環(huán)體循環(huán)體Do Loop While循環(huán)結(jié)構(gòu)流程圖循環(huán)結(jié)構(gòu)流程圖DoUntilFalseTrue條 件 的條 件 的值值循環(huán)體循環(huán)體Do Loop Unti
50、l循環(huán)結(jié)構(gòu)流程圖循環(huán)結(jié)構(gòu)流程圖【例【例4-164-16】用迭代法求用迭代法求x= 求立方根的迭代公式求立方根的迭代公式為,為, 當(dāng)當(dāng)|xn+1-xn| eps Print The cuberoot of ; A; is; QEnd Sub 3a)2(3121nnnxaxx3a4.4.4 ForNext語句語句 ForNext語句,通常語句,通常用于循環(huán)次數(shù)已知用于循環(huán)次數(shù)已知的程序結(jié)構(gòu)中。其一的程序結(jié)構(gòu)中。其一般格式如下:般格式如下: For = To Step Next 說明:說明: (1) “控制變量控制變量”又稱為又稱為“循環(huán)控制變量循環(huán)控制變量”。它是一個(gè)。它是一個(gè)數(shù)值變數(shù)值變量量,但
51、不能是下標(biāo)變量或記錄元素。,但不能是下標(biāo)變量或記錄元素。 (2) “初值初值”、“終值終值”和和“步長步長”均為均為數(shù)值表達(dá)式數(shù)值表達(dá)式,它們的,它們的值可以是整數(shù)或?qū)崝?shù)。當(dāng)控制變量為整型而它們?yōu)閷?shí)數(shù)時(shí),值可以是整數(shù)或?qū)崝?shù)。當(dāng)控制變量為整型而它們?yōu)閷?shí)數(shù)時(shí),VB將對其舍入取整將對其舍入取整。當(dāng)步長。當(dāng)步長O時(shí),作遞增循環(huán),即應(yīng)有終時(shí),作遞增循環(huán),即應(yīng)有終值值初值;步長初值;步長終終值值循環(huán)體循環(huán)體控制變量控制變量控制變量控制變量+步長步長 步長大于步長大于0的的For循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)TrueFalse控制變量賦初值控制變量賦初值控制變量控制變量終值終值循環(huán)體循環(huán)體控制變量控制變量控制變量控制變量
52、+步長步長 步長小于步長小于0的的For循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)1 下列循環(huán)語句執(zhí)行后,循環(huán)體被執(zhí)行的次數(shù)為下列循環(huán)語句執(zhí)行后,循環(huán)體被執(zhí)行的次數(shù)為( )。 For I=1.3 To 5.6 Step 0.5 Print I; Next I A) 8 B) 9 C) 7 D) 10B2 x初值為初值為0,則下列循環(huán)語句執(zhí)行后,則下列循環(huán)語句執(zhí)行后,x的值等于的值等于( )。 For i=1 To 10 Step 2 x=x+i Next i A) 25 B) 36 C) 24 D) 27A3 下列循環(huán)語句執(zhí)行后,循環(huán)體執(zhí)行的次數(shù)為下列循環(huán)語句執(zhí)行后,循環(huán)體執(zhí)行的次數(shù)為( )。 For i=1 To 1
53、0 Step -2 x=x+i Next I A) 5 次次 B) 4 次次 C) 0 次次 D) 6 次次C【例4-17】用用For語句寫程序,在一行上語句寫程序,在一行上輸出輸出60個(gè)個(gè)“*”號(hào)。號(hào)。For i =1 To 60 Print *;Next i 【例4-18】求求N!(N為自然數(shù)為自然數(shù))Private Sub Command1_Click() Dim n As Integer, x As Integer, k As Long n = InputBox(Enter n:) k = 1 For x = 1 To n k = k * x Next x Print n; !=; k
54、End Sub 4.4.4 嵌套循環(huán)與退出嵌套循環(huán)與退出嵌套循環(huán)嵌套循環(huán) 循環(huán)體的語句塊中可以包含任何循環(huán)體的語句塊中可以包含任何VB語句,當(dāng)然也包括循環(huán)語句。也就是說,語句,當(dāng)然也包括循環(huán)語句。也就是說,在一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)含有另一個(gè)在一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)含有另一個(gè)循環(huán)結(jié)構(gòu),這就形成了嵌套循環(huán),又叫循環(huán)結(jié)構(gòu),這就形成了嵌套循環(huán),又叫做多重循環(huán)。做多重循環(huán)。 例雙重循環(huán)。雙重循環(huán)。Private Sub Command1_Click() Dim i%, j% For i = 1 To 3 For j = 5 To 6 Print i, j Next j Next iEnd Sub 例例
55、打印九九乘法表。打印九九乘法表。Private Sub Command1_Click() Dim I As Integer, j As Integer Print 九九乘法表九九乘法表 Print - For i = 1 To 9 For j = 1 To i Print j; x; i; =; j * i; Next j Print Next iEnd Sub 例例 打印三角形打印三角形對于此類圖形,需要注意以下兩點(diǎn):對于此類圖形,需要注意以下兩點(diǎn):1)第一行第一個(gè)字符的定位(即確定它的)第一行第一個(gè)字符的定位(即確定它的輸出位置);輸出位置);2)每行之間所輸出內(nèi)容的列數(shù)與循環(huán)控制)每行之間所輸出內(nèi)容的列數(shù)與循環(huán)控制變量的對應(yīng)關(guān)系。變量的對應(yīng)關(guān)系。Private Sub Command1_Click() FontSize = 20 Dim i As Integer, j As Integer For i = 1 To
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 用智慧譜寫幼兒園發(fā)展新篇章計(jì)劃
- 重大建設(shè)項(xiàng)目的安全檢查計(jì)劃
- 2025年貓爬架項(xiàng)目發(fā)展計(jì)劃
- 2025年板臥式電除塵器項(xiàng)目合作計(jì)劃書
- 2025年密封用填料及類似品項(xiàng)目建議書
- 實(shí)施均衡發(fā)展的人口政策
- 醫(yī)療健康管理服務(wù)協(xié)議
- 藝術(shù)品交易與展示項(xiàng)目投資合同
- 擔(dān)保期權(quán)合同
- 西游記中的人物形象賞析與解讀
- 人教版(2024新版)七年級(jí)上冊英語各單元重點(diǎn)語法知識(shí)點(diǎn)講義
- 安全閥校驗(yàn)標(biāo)準(zhǔn)
- 耳穴壓豆課件
- 建筑制圖與識(shí)圖教學(xué)課件:第八章 結(jié)構(gòu)施工圖
- 湘教版三年級(jí)美術(shù)下冊教案全冊
- (高清版)DB15∕T 3585-2024 高標(biāo)準(zhǔn)農(nóng)田施工質(zhì)量評定規(guī)程
- 試油(氣)HSE作業(yè)指導(dǎo)書
- 重癥監(jiān)護(hù)-ICU的設(shè)置、管理與常用監(jiān)測技術(shù)
- 法律顧問服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 中醫(yī)藥三方合作協(xié)議書范本
- 2024年《動(dòng)漫藝術(shù)概論》自考復(fù)習(xí)題庫(附答案)
評論
0/150
提交評論