第3章 VB程序設計語言基礎_第1頁
第3章 VB程序設計語言基礎_第2頁
第3章 VB程序設計語言基礎_第3頁
第3章 VB程序設計語言基礎_第4頁
第3章 VB程序設計語言基礎_第5頁
已閱讀5頁,還剩70頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

目錄第1章可視化編程與VB開發(fā)環(huán)境第2章VB簡單應用程序的設計第3章VB程序設計語言基礎第4章VB過程第5章VB窗體與常用控件第6章鍵盤與鼠標的控制第7章菜單與工具欄第8章文件管理第9章圖形處理與多媒體第10章

數(shù)據(jù)庫應用程序的開發(fā)3.1模塊與代碼窗口3.2VB中的數(shù)據(jù)與運算3.3標準函數(shù)第一章節(jié)目錄3.4輸入與輸出3.5程序流程控制第一節(jié)原子結構1掌握VB中的數(shù)據(jù)類型、常量與變量的使用能熟練地使用數(shù)組、常用標準函數(shù)與人機對話函數(shù)。熟悉程序的3種基本控制結構,能根據(jù)實際情況進行一般的程序設計。學會在VB中的代碼編制方法學習目標3.1模塊與代碼窗口模塊:VB程序代碼的容器(舉例子“模塊與代碼窗口.vbp))窗體模塊窗體窗體模塊窗體模塊文件:.frm包含窗體各個對象的說明與相應的事件過程、方法程序代碼只能被本窗體所調(diào)用窗體的添加標準模塊類模塊(選學)3.1模塊與代碼窗口模塊:VB程序代碼的容器標準模塊程序代碼的共享,可以包含全局變量、常量及外部過程文件名:.BAS標準模塊的添加類模塊類:創(chuàng)建對象的模板自定義類:包含對象、屬性、方法等等。文件名:.CLS3.1模塊與代碼窗口過程:VB程序代碼的組織單元具有特定書寫格式、包含一組具有特定功能的代碼集合事件過程:由用戶或系統(tǒng)引發(fā)了某種事件后,所執(zhí)行的相應代碼來完成相應的功能(舉例子)通用過程:由可被共享的代碼構成,不屬于任何一個窗體,但可以被多個窗體所共享(舉例子)3.1模塊與代碼窗口代碼窗口及其使用打開雙擊需編寫代碼的對象(窗體或控件)工程資源管理器右擊窗體或控件代碼查看一個過程所有過程3.1模塊與代碼窗口代碼窗口及其使用智能化編輯自動語法檢查自動格式編排自動編碼3.1模塊與代碼窗口編碼規(guī)則與注釋編碼規(guī)則不區(qū)分大小寫,由系統(tǒng)自動進行轉換同一行上可以書寫多條語句,但語句間必須用“:”分隔(舉例子)每行的字符最多可達1024個字符,續(xù)行符“_”(舉例子)數(shù)字除了可以用默認的十進制表示外,還可以用其他進制:&H9A、&O76(舉例子)代碼的縮排處理3.1模塊與代碼窗口PrivateSubForm_Click()DimintA(10)AsIntegerDimiAsIntegerFori=0To10intA(i)=1 '對每個數(shù)組元素賦初值1PrintintA(i) '輸出數(shù)組元素的值NextiEndSub3.1模塊與代碼窗口編碼規(guī)則與注釋注釋:“’”在代碼行的尾部加,但不能出現(xiàn)在續(xù)行符后。注釋單獨為一行或幾行,每行前都必須有注釋符利用編輯工具欄對某一個程序段整個加上注釋,主要用于程序的調(diào)試3.2VB中的數(shù)據(jù)與運算數(shù)據(jù)類型Integer或%Long或&Single或!Double或#currency或@bytestring或$booleandatevariantobject3.2VB中的數(shù)據(jù)與運算1、整數(shù)

定義:不帶小數(shù)點和指數(shù)符號的數(shù)。特點:數(shù)精確表示,但數(shù)范圍有限。類型:整型Integer或%(默認)長整型Long或&。形式:±n[&]

例:123、123%、123&、+123正確的整數(shù)

123.0、1,230錯誤3.2VB中的數(shù)據(jù)與運算2、實數(shù):

定義:帶小數(shù)點或指數(shù)符號的數(shù)。特點:數(shù)精不精確表示,但數(shù)范圍大。類型:單精度Single或!,雙精度Double或#。形式:尾數(shù)[E|D指數(shù)]

其中:E表示單精度指數(shù)符號、D表示單精度指數(shù)符號尾數(shù)可以整數(shù)(必須要求指數(shù))也可以小數(shù)例:123.45、123.45!、0.12345E+3、

12345E-2、0.12345D+3都是同值實數(shù)3.2VB中的數(shù)據(jù)與運算3、邏輯型數(shù)據(jù)(Boolean)

邏輯型數(shù)據(jù)只有兩個值:真(True)和假(False)注意:當把數(shù)值型數(shù)據(jù)轉換為邏輯型數(shù)據(jù)時,0轉換為False,非0值轉換為True。當把邏輯型數(shù)據(jù)轉換為數(shù)值型數(shù)據(jù)時,F(xiàn)alse轉換為0,True轉換為-1。思考:?Tag=6<8

3.2VB中的數(shù)據(jù)與運算5、字符串型數(shù)據(jù)(String)形式:"字符串"例:"abc""ABC""計算機""12.34""3+2"""(空串)注意:如果字符串本身包括雙引號,可用連續(xù)兩 個雙引號表示。例:要打印以下字符串:

"Youmuststudyhard",hesaid.

在程序中需要將該字符串表示成:"""Youmuststudyhard"",hesaid."3.2VB中的數(shù)據(jù)與運算引入:圓的面積計算:S=3.14×R2其中:r、s是變量,3.14是常量常量:在程序運行中不變的量直接常量其常數(shù)值直接反映了其類型符號常量用戶聲明,便于程序閱讀或修改Const符號常量名[As類型]=表達式

例如:

ConstPI=3.14159系統(tǒng)常量系統(tǒng)提供許多內(nèi)部常量

例如:vbCrLf

回車/換行組合符3.2VB中的數(shù)據(jù)與運算變量:在程序運行中其存儲的值可以改變變量名命名規(guī)則:必須以字母或漢字開頭,由字母、漢字、數(shù)字或下劃線組成,長度小于等于255個字符不能使用VB中的關鍵字VB不區(qū)分變量名的大小寫,一般變量名首字母用大寫,其余用小寫字母表示;常量全部用大寫字母非法變量名3xy '數(shù)字開頭y-z '不允許出現(xiàn)減號WangPing '不允許出現(xiàn)空格Dim '?VB.NET的關鍵字Cos '標準函數(shù)名3.2VB中的數(shù)據(jù)與運算變量的聲明(1)用Dim語句顯式聲明變量

Dim

變量名[As類型]As部分缺省,創(chuàng)建的變量為變體類型注意:一條Dim語句可同時定義多個變量,但每個變量應有類型說明,否則為變體型。例如:Dimm,nAsInteger,x,yAsSingle

則創(chuàng)建了變體型變量m、x,整型變量n和單精度型變量y3.2VB中的數(shù)據(jù)與運算變量的聲明(2)隱式聲明(默認)不聲明直接使用。為可變類型,易出錯、浪費空間(3)強制顯式聲明在模塊的聲明段中使用語句:OptionExplicit設置:工具→選項→編輯器→要求變量聲明,則在后續(xù)模塊中自動插入

OptionExplicit3.2VB中的數(shù)據(jù)與運算變量的聲明(4)類型聲明符整型:%長整型:&單精度:!雙精度:#貨幣型:@字符型:$3.2VB中的數(shù)據(jù)與運算例:DimSumAsLongDimAddressAsString‘不定長度DimNoAsString*8‘固定長度8DimNum,TotalAsInteger‘Num為可變類型DimAverageAsSingleDimaasintegerDima%DimBasinteger,stnameasstringDimB%,stname$3.2VB中的數(shù)據(jù)與運算運算符與表達式算術運算(設ia=3)

3.2VB中的數(shù)據(jù)與運算運算符與表達式算術運算(設ia=3)

例:5+10mod10\9/3+2^2結果:10

注意:對算術運算符兩邊的操作數(shù)應是數(shù)值型,若是數(shù)字字符或邏輯型,則自動轉換成數(shù)值類型后再運算。例如:30-True結果是31,邏輯量True轉為數(shù)值-1,F(xiàn)alse轉為數(shù)值0False+10+"4"結果是143.2VB中的數(shù)據(jù)與運算運算符與表達式字符串運算&

兩旁的操作數(shù)可任意,轉換成字符型后再連接+

兩旁的操作數(shù)應均為字符型;

1)數(shù)值型:則進行算術加運算

2)一個為數(shù)字字符,另一個為數(shù)值,自動將數(shù) 字字符轉換為數(shù)值后進行算術加

3)一個為非數(shù)字字符,另一個為數(shù)值型,出錯例如:

操作結果操作結果"ab"&123"ab123" "ab"

+12出錯"12"&

456"12456" "12"+

456468"12"&True"12True" "12"+

True113.2VB中的數(shù)據(jù)與運算運算符與表達式關系運算關系運算符是雙目運算符,作用是對兩個操作數(shù)進行大小比較,若關系成立,則返回True,否則返回False。操作數(shù)可以是數(shù)值型、字符型。運算符例結果="ABCDE"="ABR"False>"ABCDE">"ABR"False>="bc">="abcde

"True<23<3False<="23"<"3"

True<>"abc"<>"abcde

"True3.2VB中的數(shù)據(jù)與運算運算符與表達式邏輯運算邏輯運算符除Not是單目運算符外,其余都是雙目運算符,作用是將操作數(shù)進行邏輯運算,結果是邏輯值True或False。3.2VB中的數(shù)據(jù)與運算表達式組成:變量、常量、函數(shù)、運算符和圓括號書寫規(guī)則:運算符不能相鄰例a+-b是錯誤的乘號不能省略例x乘以y應寫成:x*y括號必須成對出現(xiàn)(均使用圓括號)表達式從左到右在同一基準上書寫,無高低、大小不同數(shù)據(jù)類型的轉換運算結果的數(shù)據(jù)類型向精度高的數(shù)據(jù)類型靠

Integer<Long<Single<Double<Currency優(yōu)先級算術運算符>=字符運算符>關系運算符>邏輯運算3.2VB中的數(shù)據(jù)與運算表達式表達式舉例a*b*c*d/e/f/g或

a*b*c*d/(e*f*g)

sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1)例邏輯表達式書寫,選拔優(yōu)秀生的條件為:年齡(Age)小于19歲,三門課總分(Total)高于285分,其中有一門為100分,如果其表達式寫為:Age<19AndTotal>285And(Mark1=100OrMark2=100OrMark3=100)如果取消括號有何問題?請讀者考慮。

3.2VB中的數(shù)據(jù)與運算數(shù)組定義:具有相同名字、下標值不同的一組變量數(shù)組:不是一種數(shù)據(jù)類型,而是一組相同類型的變量的集合作用:用一個數(shù)組名代表邏輯上相關的一批數(shù)據(jù),用下標表示該數(shù)組中的各個元素,和循環(huán)語句結合使用,使得程序書寫簡潔分類:靜態(tài)數(shù)組、動態(tài)數(shù)組使用:必須先聲明后使用3.2VB中的數(shù)據(jù)與運算數(shù)組靜態(tài)數(shù)組:數(shù)組的維數(shù)與下標的范圍在聲明時就已經(jīng)確定聲明:Dim數(shù)組名(([下標1下界To]

上界1,([下標下界2To]

上界2…)

[As類型]說明:下標下界缺省為0,下標上界為常數(shù)。數(shù)組大小為:下標上界-下標下界+1。下標數(shù)決定了數(shù)組的維數(shù),數(shù)組的大小為每一維大小的乘積。3.2VB中的數(shù)據(jù)與運算數(shù)組例:Dimmark(99)AsInteger

一維定長整型數(shù)組mark,共有100個元素,下標范圍為0To99mark數(shù)組的各元素是mark(0),mark(1),…,mark(99)mark數(shù)組內(nèi)存分配如下:每個數(shù)組元素有一個唯一的順序號,下標不能超出數(shù)組聲明時的上、下界范圍,否則會產(chǎn)生“下標越界”錯誤。數(shù)組元素的使用規(guī)則與同類型的簡單變量相同mark(99)mark(98)…mark(2)mark(1)mark(0)3.2VB中的數(shù)據(jù)與運算數(shù)組例Dimx(2,4)AsLong二維數(shù)組

x;共占據(jù)3×5個長整型變量的空間x(1,4)x(1,3)x(1,2)x(1,1)x(1,0)x(2,4)x(2,3)x(2,2)x(2,1)x(2,0)x(0,4)x(0,3)x(0,2)x(0,1)x(0,0)3.2VB中的數(shù)據(jù)與運算數(shù)組動態(tài)數(shù)組:聲明數(shù)組時不指明下標的大小(省略括號中的下標),當需要使用時,再用ReDim語句重新定義其大小使用步驟聲明:Dim

數(shù)組名()As數(shù)據(jù)類型重新分配:ReDim

數(shù)組名

(下標[,下標2…])例:DimintRs()AsInteger

ReDimintRs(x+1) ‘x是一個整型變量3.2VB中的數(shù)據(jù)與運算數(shù)組動態(tài)數(shù)組使用說明Dim

是說明語句,可出現(xiàn)在程序的任何地方,而ReDim

是執(zhí)行語句,只能在過程中在過程中可多次使用ReDim語句來改變數(shù)組的大小,但不能改變維數(shù)和類型可在ReDim

后加Preserve參數(shù)用來保留數(shù)組中的數(shù)據(jù),若使用Preserve參數(shù)后,只能改變最后一維的大小。3.2VB中的數(shù)據(jù)與運算數(shù)組數(shù)組的使用數(shù)組元素的賦值:數(shù)組名(下標)=表達式數(shù)組元素的訪問:變量名=數(shù)組名(下標)通常與循環(huán)語句聯(lián)合使用【例3-2】數(shù)組的使用。PrivateSubForm_Click()DimintA(10)AsIntegerDimiAsIntegerFori=0To10intA(i)=1 '對每個數(shù)組元素賦初值1PrintintA(i) ‘輸出數(shù)組元素的值NextiEndSub3.3標準函數(shù)VB函數(shù):標準(內(nèi)部)函數(shù)用戶自定義函數(shù)內(nèi)部函數(shù)數(shù)學函數(shù)轉換函數(shù)字符串函數(shù)日期函數(shù)格式輸出函數(shù)調(diào)用函數(shù)的形式:函數(shù)名[(參數(shù)列表)]3.3標準函數(shù)數(shù)學函數(shù)-43Int(-3.5)Int(3.5)取小于或等于N的最大整數(shù)Int(N)2.3Log(10)自然對數(shù)Log(N)-33Fix(-3.5)Fix(3.9)取整Fix(N)20.086Exp(3)enExp(N)1Cos(0)余弦函數(shù)Cos(N)3.5Abs(-3.5)取絕對值Abs(N)結果實例含義函數(shù)名3.3標準函數(shù)數(shù)學函數(shù)0Tan(0)正切函數(shù)Tan(N)3Sqr(9)平方根Sqr(N)-1Sgn(-3.5)符號函數(shù)Sgn(N)0Sin(0)正弦函數(shù)Sin(N)-44Round(-3.5)Round(3.5)四舍五入取整Round(N)[0,1)之間的數(shù)Rnd產(chǎn)生隨機數(shù)Rnd[(N)]結果實例含義函數(shù)名Rnd函數(shù)返回0和1(包括0但不包括1)之間的雙精度隨機數(shù).每次運行時,要產(chǎn)生不同序列的隨機數(shù),先執(zhí)行Randomize語句。產(chǎn)生a~b的之間的隨機整數(shù):Int(Rnd*(b-a)+a)3.3標準函數(shù)轉換函數(shù)"ABC"Ucase$("abc")小寫字母轉為大寫字母Ucase(C)"144"Oct$(100)十進制轉換成八進制Oct](N)"123.45"Str$(123.45)數(shù)值轉換為字符串Str(N)123Val("123AB")數(shù)字字符串轉換為數(shù)值Val(C)"abc"Lcase$("ABC")大寫字母轉為小寫字母Lcase$(C)64Hex(100)十進制轉換成十六進制Hex(N)"A"Chr$(65)ASCII碼值轉換成字符Chr(N)2003-11-13CDate("2003/11/13")轉換成日期型CDate65Asc("A")字符轉換成ASCII碼值Asc(C)結果實例功能

函數(shù)名3.3標準函數(shù)字符串函數(shù)"BCD"Mid("ABCDE",2,3)取字符子串Mid(C,N1[,N2])"ABCD"Trim("ABCD")去掉字符串兩邊空格Trim(C)"A3AB3"Replace("ACDABCD","CD","3")用C2替代C1Replace(C,C1,C2)""Space(3)產(chǎn)生N個空格的字符串

Space(N)4Len("AB教育")字符串長度Len(C)"ABC"Left("ABCDE",3)取字符串左邊n個字符Left(C,N)7InStr(2,"EFABCDEFG","EF")從n開始,在C1中找C2InStr([N,]C1,C2[,M])結果實例說明

函數(shù)名3.3標準函數(shù)字符串函數(shù)"ABCD"TRim(“ABCD")去掉字符串兩邊的空格TRim(C)"DCBA"StrReverse("ABCD")將字符串反序StrReverse(C)"AAA"String(3,"ABC")重復首字符n次String(N,C)S(0)="123"S(1)=“ab"S=Split("123,ab",",")將字符串分隔成字符數(shù)組。與Join作用相反Split(C[,D])“"Space(3)產(chǎn)生n個空格的字符串Space(N)"ABCD"RTrim("ABCD")去掉字符串右邊空格RTrim(C)“BCD"Right("ABCD",3)取字符串右邊n個字符Right(C,N)結果實例說明

函數(shù)名3.3標準函數(shù)日期函數(shù)Second(#1:12:56PM#)返回秒(0~59)Second(C|N)Time返回系統(tǒng)時間Time[()]Year(365)返回年代號(1753~2078)Year(C|N)Now返回系統(tǒng)日期和時間NowMonth("2003,05,01")返回月份代號(1~12)Month(C|N)Minute(#1:12:56PM#)返回分鐘(0~59)Minute(C|N)Hour(#1:12:56PM#)返回小時(0~24)Hour(C|N)Day("2003,05,01")返回日期代號(1~31)Day(C|N)Date返回系統(tǒng)日期Date[()]實例說明

函數(shù)名例計算從當前日期到2007年6月30日有多少天?表達式為:DateDiff("d",Now,#6/30/2007#)3.3標準函數(shù)Shell函數(shù)作用:調(diào)用各種應用程序。格式:

Shell(命令字符串[,窗口類型])說明:命令字符串為要執(zhí)行的應用程序名(包括路徑),必須是可執(zhí)行文件(.com、.exe、.bat)。窗口類型表示執(zhí)行應用程序的窗口狀態(tài),0~4,6的整型數(shù)值,1表示正常窗口狀態(tài)。函數(shù)調(diào)用成功返回一個任務標識ID,不成功,則返回0。

i=Shell("calc.exe")

3.4輸入與輸出數(shù)據(jù)的輸入:InputBox函數(shù)引例:

strName=Inputbox("請輸入要查找的姓名:","輸入")語句格式InputBox(prompt[,title][,default][,xpos][,ypos])3.4輸入與輸出數(shù)據(jù)的輸入:InputBox函數(shù)語句格式InputBox(prompt[,title][,default][,xpos][,ypos])使用注意提示文字的最大長度為1024個字符,自動換行,需要強行換行可使用vbCrLf常量默認情況下該函數(shù)的返回值為字符串型按“取消”按鈕,用于將輸入的值作廢,相當于按ESC鍵,此時將返回一個空串每次調(diào)用該函數(shù)只能輸入一個值3.4輸入與輸出數(shù)據(jù)的輸出MsgBox函數(shù)或命令格式MsgBox(prompt[,buttons][,title])Buttons參數(shù)設置“按鈕數(shù)目值”+“圖標類型值”+“缺省按鈕值”+“模式值”取值:直接用4個取值相加

或用4個內(nèi)部常量相加intRet=MsgBox(“繼續(xù)嗎?”,VbYesNoCancel+VbQuestion,“詢問“)intRet=MsgBox("繼續(xù)嗎?",3+32,"詢問“) 3.4輸入與輸出參

數(shù)內(nèi)部常量取

值描

述按鈕數(shù)目VbOKOnlyVbOKCancelVbAbortRetryIgnoreVbYesNoCancelVbYesNoVbRetryCancel012345只顯示確定按鈕(缺省)顯示確定與取消按鈕顯示終止、重試與忽略按鈕顯示是、否與取消按鈕顯示是與否按鈕顯示重試與取消按鈕圖標類型VbCriticalVbQuestionVbExclamationVbInformation16324864顯示關鍵信息圖標(紅色STOP標志)顯示詢問信息圖標(?)顯示警告信息圖標(!)顯示普通信息圖標(i)缺省按鈕VbDefaultButton1VbDefaultButton2VbDefaultButton30256512第一個按鈕為缺省按鈕第二個按鈕為缺省按鈕第三個按鈕為缺省按鈕模式VbApplicationModelVbSystemModel04096應用模式(缺省)系統(tǒng)模式3.4輸入與輸出數(shù)據(jù)的輸出MsgBox函數(shù)或命令執(zhí)行方式:命令方式或函數(shù)方式函數(shù)方式返回值:響應按鈕名內(nèi)部常量返回值確定取消終止重試忽略是否VbOkVbCancelVbAbortVbRetryVbIgnoreVbYesVbNo12345673.4輸入與輸出Print方法格式[object].Print[{Spc(n)|Tab(n)}expression][,|;]說明輸出目標:立即窗口、指定窗體、圖片框或打印機Expression:表達式列表,以逗號或分號隔開標準格式與緊湊格式換行的控制Spc(n)空格函數(shù),Tab(n)定位函數(shù)3.4輸入與輸出Print方法舉例:Debug.Print"歡迎來到奇妙的VB世界!";"您好!"'在立即窗口輸出Form1.Print"2+3=";2+3 '在指定窗體上以緊湊格式輸出Print '輸出一個空行PrintTab(12),"WelcometoVB!“'在當前窗體的第12列輸出3.5程序流程控制VB具有結構化程序設計的三種程序控制結構,即順序結構、選擇結構、循環(huán)結構,是程序設計的基礎。順序結構各語句按出現(xiàn)的先后次序執(zhí)行賦值語句和輸入/輸出語句等bABa用傳統(tǒng)流程圖表示為3.5程序流程控制順序結構賦值語句和輸入/輸出語句等形式:變量名=表達式

[對象名.]屬性名=表達式計算表達式的值,再將此值賦給變量或對象的屬性

n=n+1

'計數(shù)累加Text1.Text

""

'清除文本框的內(nèi)容Text1.Text

"歡迎使用VB"3.5程序流程控制順序結構賦值語句注意“=”符號有兩個意義

賦值號、關系運算符等號形式相同,系統(tǒng)會根據(jù)所處的位置判斷符號的意義。賦值號左邊只能是變量,不能是常量、常數(shù)符號、表達式。3.5程序流程控制選擇結構計算機要處理的問題往往是復雜多變的,僅采用順序結構是不夠的。VB中主要通過If條件語句和Select情況語句來實現(xiàn)。它們都是對條件進行判斷,根據(jù)判斷結果,選擇執(zhí)行不同的分支。3.5程序流程控制選擇結構If條件語句.If…Then語句(單分支結構)

If<表達式>Then

語句塊(可以是一句或多句語句)

EndIf或

If<表達式>Then<語句>表達式:關系表達式、邏輯表達式,算術表達式。表達式值按非零為True,零為False進行判斷。該語句的作用是當表達式的值為True,執(zhí)行Then后面的語句塊,否則不做任何操作。IF演示3.5程序流程控制例:已知兩個數(shù)x和y,比較它們的大小,使得x大于y

Ifx<yThent=xx=yy=tEndIf

或Ifx<yThent=x:x=y:y=t

簡單If形式無EndIf時,只能是一句語句或語句間用冒號分隔,而且必須在一行上書寫。

3.5程序流程控制選擇結構If條件語句If…Then…Else語句If表達式

Then

語句塊1Else

語句塊2EndIf或If表達式

Then

語句1

Else

語句23.5程序流程控制選擇結構If條件語句雙分支結構例計算分段函數(shù)

單分支

y=cos(x)-x^3+3*x結構實現(xiàn)Ifx<>0Theny=sin(x)+sqrt(x*x+1)

Ifx<>0Then

雙分支

y=sin(x)+sqr(x*x+1)Else結構實現(xiàn)

y=cos(x)-x^3+3*xEndIf3.5程序流程控制選擇結構If條件語句If…Then…ElseIf語句

If表達式1Then

語句塊1

ElseIf表達式2Then

語句塊2 …

[Else

語句塊n+1]

EndIf3.5程序流程控制選擇結構If條件語句【例3-3】根據(jù)學生的成績顯示不同的評語。sngCj=InputBox("請輸入學生的成績:","輸入成績")IfsngCj>=85ThenMsgBox("成績優(yōu)秀")ElseIfsngCj>=60AndsngCj<85ThenMsgBox("成績合格")ElseMsgBox("成績較差")EndIf3.5程序流程控制選擇結構IIf函數(shù)IIf(表達式,表達式為真時的值,表達式為假時的值)IIf函數(shù)是If…Then…Else結構的簡潔表示例如,將x,y中大的數(shù),放入Tmax變量中:Tmax=IIf(x>y,x,y)該語句與如下語句等價

:Ifx>yThenTmax=xElseTmax=y

3.5程序流程控制選擇結構SelectCase語句SelectCase

變量或表達式

Case表達式列表1

語句塊1Case表達式列表2

語句塊2 …[CaseElse

語句塊n+1]EndSelect表達式列表與變量或表達式的類型必須相同,是下面4種形式之一:表達式例:"A"一組用逗號分隔的枚舉值

2,4,6,8

表達式1To表達式260To100Is關系運算符表達式Is<603.5程序流程控制選擇結構SelectCase語句【例3-4】例3-3用選擇結構sngCj=InputBox("請輸入學生的成績:","輸入成績")SelectCasesngCjCase85To100MsgBox("成績優(yōu)秀")Case60To84MsgBox("成績合格")CaseElseMsgBox("成績較差")EndSelect3.5程序流程控制循環(huán)結構計算機最擅長的功能之一就是按規(guī)定的條件,重復執(zhí)行某些操作。例如,按照人口某增長率,對人口增長統(tǒng)計;根據(jù)各課程的學分、績點和學生的成績,統(tǒng)計每個學生的平均績點等。這類問題都可通過循環(huán)結構來方便地實現(xiàn)。VB中提供了主要兩類循環(huán)語句:For循環(huán)語句(一般已知循環(huán)次數(shù));Do條件型循環(huán)語句(一般未知循環(huán)次數(shù)).3.5程序流程控制循環(huán)結構Do循環(huán):

用于控制循環(huán)次數(shù)未知的循環(huán)結構形式1:Do{While|Until}<條件>

語句塊

[ExitDo

語句塊]Loop形式1為先判斷后執(zhí)行,有可能一次也不執(zhí)行;形式2為先執(zhí)行后判斷,至少執(zhí)行一次。形式2:Do

語句塊

[ExitDo

語句塊]Loop{While|Until}<條件>3.5程序流程控制循環(huán)結構Do循環(huán):

用于控制循環(huán)次數(shù)未知的循環(huán)結構3.5程序流程控制循環(huán)結構【例3-5】在例3-4中,只能判斷一次成績,現(xiàn)在利用循環(huán)將其改成反復輸入,直到按回車鍵結束DoWhileTrue sngcj=In

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論