數(shù)據(jù)表達(dá)式與簡(jiǎn)單程序設(shè)計(jì)_第1頁(yè)
數(shù)據(jù)表達(dá)式與簡(jiǎn)單程序設(shè)計(jì)_第2頁(yè)
數(shù)據(jù)表達(dá)式與簡(jiǎn)單程序設(shè)計(jì)_第3頁(yè)
數(shù)據(jù)表達(dá)式與簡(jiǎn)單程序設(shè)計(jì)_第4頁(yè)
數(shù)據(jù)表達(dá)式與簡(jiǎn)單程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩70頁(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章數(shù)據(jù)、表達(dá)式與簡(jiǎn)單程序設(shè)計(jì)基本要點(diǎn):掌握程序代碼的書(shū)寫(xiě)規(guī)則、數(shù)制與數(shù)據(jù)類型、不同類型常量的表示方法、系統(tǒng)內(nèi)部常量、用戶定義常量的定義方法;全面掌握運(yùn)算符與表達(dá)式、公共函數(shù)、inputbox函數(shù)與msgbox函數(shù)。重點(diǎn):數(shù)制與數(shù)據(jù)類型、不同類型常量的表示方法、系統(tǒng)內(nèi)部常量、用戶定義常量的定義方法;運(yùn)算符與表達(dá)式,公共函數(shù)、inputbox函數(shù)與msgbox函數(shù)。難點(diǎn):數(shù)據(jù)類型、公共函數(shù)、inputbox函數(shù)與msgbox函數(shù)。4.1VB語(yǔ)言字符集及編碼規(guī)則一、VB的字符集l

字母:大寫(xiě)英文字母A—Z;小寫(xiě)英文字母a—z。l

數(shù)字:0一9;l專用字符:共27個(gè),二、編碼規(guī)則與約定

(一)、編碼規(guī)則1.VB代碼中不區(qū)分字母的大小寫(xiě)。2.在同一行上可以書(shū)寫(xiě)多條語(yǔ)句,但語(yǔ)句間要用冒號(hào)“:”分隔。

例如:x=10:y$="visualbasic":z=20

3.若一個(gè)語(yǔ)句行不能寫(xiě)下全部語(yǔ)句,或在特別需要時(shí),可以換行。換行時(shí)需在本行后加入續(xù)行符,1個(gè)空格加下劃線“_”。例如:Dimstudent_nameAsString,student_numberAsString,computerAs_Integer,englishAsInteger4.一行最多允許255個(gè)字符。5.注釋以Rem開(kāi)頭,也可以使用單引號(hào)“‘”,注釋內(nèi)容可直接出現(xiàn)在語(yǔ)句的后面。例如(1)PrivateSubForm_Click()

Rem

響應(yīng)單機(jī)事件的過(guò)程

Print"ok"EndSub(2)PrivateSubForm_Click()'響應(yīng)單機(jī)事件的過(guò)程

Print"ok"'響應(yīng)單機(jī)事件的過(guò)程EndSub6.在程序轉(zhuǎn)向時(shí)需用到標(biāo)號(hào),標(biāo)號(hào)是以字母開(kāi)始而以冒號(hào)結(jié)束的字符串。(二)、約定1.為了提高程序的可讀性,對(duì)于VB中的關(guān)鍵字其首字母大寫(xiě),其余字母小寫(xiě)2.注釋有利于程序的維護(hù)和調(diào)試

Rem開(kāi)始或單撇‘。例如:’ThisisaVBREMThisisaVB在6.0中新增了“塊注釋/取消塊注釋”(視圖-工具欄-編輯)3.通常不使用行號(hào)4.對(duì)象名命名約定:每個(gè)對(duì)象的名字由3個(gè)小寫(xiě)字母組成的前綴(指明對(duì)象的類型)和表示該對(duì)象作用的縮寫(xiě)字母組成。4.2

數(shù)據(jù)類型一.標(biāo)準(zhǔn)數(shù)據(jù)類型4.2.1.標(biāo)準(zhǔn)數(shù)據(jù)類型(P43)1.數(shù)值數(shù)據(jù)類型①Integer型和Long型用于保存整數(shù)②Single型和Double型用于保存浮點(diǎn)實(shí)數(shù)③Currency型是定點(diǎn)實(shí)數(shù),保留小數(shù)點(diǎn)右邊4位和小數(shù)點(diǎn)左邊15位,一般用于貨幣計(jì)算④Byte型用于存儲(chǔ)二進(jìn)制數(shù)。所有數(shù)值型變量均可相互賦值。在將浮點(diǎn)數(shù)賦值給整數(shù)之前,VB自動(dòng)將浮點(diǎn)數(shù)的小數(shù)部分四舍五入,而不是將小數(shù)部分去掉。但當(dāng)小數(shù)位恰好是0.5時(shí),則舍入到靠近它的偶數(shù)。2.字符數(shù)據(jù)類型String類型用于存放字符型數(shù)據(jù)。在VB中,一個(gè)字符串通常要用雙引號(hào)括起來(lái)。例如:“Thisisabook.”在VB中,字符串型變量可分兩種:變長(zhǎng)字符串和定長(zhǎng)字符串。DimStr1AsStringStr1為變長(zhǎng)字符串型變量DimStr1AsStringStr2為定長(zhǎng)字符串型變量,可存放20個(gè)字符3.日期(Date)數(shù)據(jù)類型表示日期范圍從公元100年1月1日~9999年12月31日,而時(shí)間范圍從0:00:00~23:59:59。日期型數(shù)據(jù)必須用號(hào)碼符“#”括起來(lái),其標(biāo)準(zhǔn)格式有3種:●#月/日/年#例如#3/18/1999#●#時(shí):分:秒AM或PM#例如#8:05:37AM#●#月/日/年時(shí):分:秒AM或PM#例如#5/20/199921:05:37PM#注:VB也可以識(shí)別一些非標(biāo)準(zhǔn)格式的日期。如:#January1,1997#、#1Jan,97#、#1985-5-2010:28:00PM#、#99,2,8#、#5/20/99#不過(guò),輸入這些非標(biāo)準(zhǔn)的日期之后,VB將自動(dòng)將其轉(zhuǎn)換為標(biāo)準(zhǔn)格式的日期。

VB不能識(shí)別包含“年、月、日”文字信息的日期格式,如#1998年2月8日#就是錯(cuò)誤的4.邏輯(Boolean)數(shù)據(jù)類型Boolean類型通常稱為布爾類型或邏輯型。邏輯型變量主要用于表示邏輯半段的結(jié)果,只有兩個(gè)值True或False。將邏輯數(shù)據(jù)轉(zhuǎn)換成整型或長(zhǎng)整型時(shí):True為-1,F(xiàn)alse為0;將整型或長(zhǎng)整型數(shù)據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時(shí):非0為True,0為False。5.對(duì)象(Object)數(shù)據(jù)類型6.變體(Variant)數(shù)據(jù)類型4.3常量和變量4.3.1常量在程序運(yùn)行過(guò)程中,其值不能被改變的量稱為常量。在VB中有三類常量:普通常量符號(hào)常量系統(tǒng)常量。一、普通常量

VB中的普通常量包括數(shù)值型常量、字符型常量、邏輯型常量、日期/時(shí)間型常量。

1.

數(shù)值型常量一般的數(shù)值型常量由正負(fù)號(hào)、數(shù)字和小數(shù)點(diǎn)組成,正數(shù)的正號(hào)可以省略。VB中的數(shù)值型常量有整型數(shù)、長(zhǎng)整型數(shù)、定點(diǎn)數(shù)、浮點(diǎn)數(shù)四種表示方式。①整型(Integer)數(shù):表示-32768至32767之間的整數(shù)例如:1011020

②長(zhǎng)整型數(shù)(Long):表示-2,147,483,648至2,147,483,647之間的整數(shù)例如:長(zhǎng)整型常數(shù)的書(shū)寫(xiě):3294521

通常我們說(shuō)的整型常量指的是十進(jìn)制整數(shù),但VB中可以使用八進(jìn)制和十六進(jìn)制形式的整型常數(shù),因此整型常數(shù)有如下三種形式:

1)十進(jìn)制整數(shù)。如125,0,-89。202)八進(jìn)制整數(shù)。以&或&O(字母O)開(kāi)頭的整數(shù)是八進(jìn)制整數(shù),如&O25表示八進(jìn)制整數(shù)25,即(25)8,等于十進(jìn)制數(shù)21。3)十六進(jìn)制。以&H開(kāi)頭的整數(shù)是十六進(jìn)制整數(shù),如&H25表示十六進(jìn)制整數(shù)25,即(25)16,等于十進(jìn)制數(shù)37。VB中的顏色數(shù)據(jù)常常用十六進(jìn)制整數(shù)表示。③定點(diǎn)數(shù):定點(diǎn)數(shù)是正的或負(fù)的帶小數(shù)點(diǎn)的數(shù),如1.234、-0.345.貨幣型數(shù)也是定點(diǎn)數(shù),如345.789@。④實(shí)數(shù)/浮點(diǎn)數(shù)浮點(diǎn)數(shù)分為單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)。浮點(diǎn)數(shù)由尾數(shù)、E(或D)和指數(shù)三部分組成。例如+1234.56E+123、+0.23456E-120、-9.654E6、-1234.56D+123。字母E(單精度)或D(雙精度)代表乘上10的冪次;尾數(shù)是實(shí)數(shù);指數(shù)是整數(shù)。注:浮點(diǎn)數(shù)書(shū)寫(xiě)時(shí),E或D前面的尾數(shù)和后面的指數(shù)均不能省略。例如E-5、1E都是非法的浮點(diǎn)數(shù)。1)單精度實(shí)型(Single):有效數(shù)為7位表示-3.37E+38至3.37E+38之間的實(shí)數(shù)

2)雙精度實(shí)型(Double):有效數(shù)為15位常量的表示:1)十進(jìn)制小數(shù)形式。它是由正負(fù)號(hào)(+,-)、數(shù)字(0~9)和小數(shù)點(diǎn)(.)或類型符號(hào)(!、#)組成,即±n.n,±n!或±n#,其中n是0~9的數(shù)字。例如0.123、.123、123.0、123!、123#等都是十進(jìn)制小數(shù)形式。2)指數(shù)形式。(單精度E,雙精度D)±nE±m(xù)

或±n.nE±m(xù),±nD±m(xù)

或±n.nD±m(xù)

例:1.25E+3和1.25D+3相當(dāng)于1250.0或者1.25×103。2.字符型常量把一串字符用””括起來(lái),就構(gòu)成一個(gè)字符型常量。例如“ABC”,“abcdefg”,“123”,“0”,“VB程序設(shè)計(jì)”等。(“VisualBasic程序設(shè)計(jì)”的字符串長(zhǎng)度是17,由11個(gè)英文字母、2個(gè)空格和4個(gè)漢字組成)說(shuō)明:(1)字符串中的字符可以是所有西文字符和漢字、標(biāo)點(diǎn)符號(hào)等;(2)""表示空字符串,而""表示有一個(gè)空格的字符串;(3)若字符串中有雙引號(hào),例如ABD"XYZ,則用連續(xù)兩個(gè)雙引號(hào)表示,即:"ABD""XYZ”3.邏輯型常量只有兩個(gè)取值True或False。4.日期/時(shí)間型常量日期/時(shí)間型常量必須用號(hào)碼符“#”括起來(lái)。例如#3/18/1999#、#5/20/199921:05:37PM#二.符號(hào)常量在程序中,某個(gè)常量多次被使用,則可以使用一個(gè)符號(hào)來(lái)代替該常量,這樣不僅在書(shū)寫(xiě)上方便,而且有效地改進(jìn)了程序的可讀性和可維護(hù)性。VB中使用關(guān)鍵字Const聲明符號(hào)常量。其格式如下:Const常量名[As類型|類型符號(hào)]=常數(shù)表達(dá)式例如ConstPI#=3.1415926535等價(jià)于ConstPIAsDouble=3.1415926535ConstNew%=50表示New是整型符號(hào)常量

ConstmaxAsInteger=55Const語(yǔ)句課同時(shí)定義多個(gè)符號(hào)常量,各符號(hào)常量之間用逗號(hào)隔開(kāi)。如

ConstMax=130,Min=120,PI=3.1415926三、系統(tǒng)常量

VB系統(tǒng)提供了應(yīng)用程序和控件的系統(tǒng)定義常數(shù)。它們存放于系統(tǒng)的對(duì)象庫(kù)中,在“對(duì)象瀏覽器”中的VisualBasic(VB)和VisualBasicforapplications(VBA)對(duì)象庫(kù)中列舉了VisualBasic的常數(shù)例如,vbCrLf等于Chr(13)+Chr(10),代表回車換行。要將文本框Text1的前景顏色設(shè)置為紅色,可以使用下面的語(yǔ)句:

Text1.ForeColor=vbRed

這里的vbRed就是系統(tǒng)常量。這比直接使用16進(jìn)制數(shù)來(lái)設(shè)置要直觀得多。又如,窗口狀態(tài)屬性WindowsState可取0,1,2三個(gè)值,對(duì)應(yīng)三種不同狀態(tài)。在程序中使用語(yǔ)句:最大

Myform.WindowsState=vbMaximized

將窗口極大化,顯然要比使用語(yǔ)句

myform.WindowsState=2易于閱讀和理解。一.變量的命名規(guī)則

1.以字母或漢字開(kāi)頭,后可跟字母、數(shù)字或下劃線組成.例如:am、dc124、W_99為合法的變量名,、3a、print為不合法的變量名。

2.長(zhǎng)度不超過(guò)255個(gè)字符;不能使用VB中的關(guān)鍵字;

3.VB中不區(qū)分變量名的大小寫(xiě).4.為了增加程序的可讀性,可在變量名前加一個(gè)縮寫(xiě)的前綴來(lái)表明該變量的數(shù)據(jù)類型。例如:strAbc,(字符串變量)

intCount,(整型變量)

dblx(雙精度變量)

sngYz

(單精度變量)4.3.2變量二.變量聲明

1.用Dim語(yǔ)句顯式聲明變量形式:Dim變量名[AS類型] Dim變量名[類型符]例

DimintCountAsinteger,sumAssingle等價(jià)于DimintCount%,sum!DimsngReAsSingle,intKyAsInteger聲明sngRe為單精度型,intKy為整型DimsngRe!,intKy%注:變量名與類型符之間不能有空格DimstrNameAsString聲明strName為不定長(zhǎng)字符串DimstrAddressAsString*50聲明strAddress為長(zhǎng)度50的定長(zhǎng)字符串DimxAsInteger,yAsinteger,zAsinteger等于Dimx%,y%,z%注:變量被定義后,VB自動(dòng)給每個(gè)變量賦一個(gè)初值。數(shù)值型變量賦的初值為0;字符或Variant型變量賦的初值是空串;布爾型變量賦的初值是False;日期型變量賦的初值是0:0:0;若為變體型,則初始值為空值(Empty)2.用類型說(shuō)明符隱式聲明變量隱式聲明變量是指在變量名后加上一個(gè)用于規(guī)定變量類型的說(shuō)明字符,來(lái)聲明變量的類型。形式為:變量名類型符注:這里變量名與類型符之間不能有空格。例如:Num%=10Country1$=”China”VisualBasic允許用戶在編寫(xiě)應(yīng)用程序時(shí),不聲明變量而直接使用,系統(tǒng)臨時(shí)為新變量分配存儲(chǔ)空間并使用,這就是隱式聲明。所有隱式聲明的變量都是Variant數(shù)據(jù)類型。VisualBasic根據(jù)程序中賦予變量的值來(lái)自動(dòng)調(diào)整變量的類型。VB沒(méi)有規(guī)定變量在使用前一定要先聲明。對(duì)于沒(méi)有聲明便使用的變量,VB將其自動(dòng)視為可變類型變量。例1下面是一個(gè)很簡(jiǎn)單的程序,其使用的變量a,b,Sum都沒(méi)有事先定義。PrivateSubForm_Click()Sum=0a=10:b=20Sum=a+bPrint"Sum=";SumEndSub例2PrivateSubCommand1_Click()DimrAsIntegerr=5Print"圓的半徑:";r;"cm"Print"圓的周長(zhǎng):";2*3.1415*r;"cm"Print"圓的面積:";3.1415*r^2;"cm"EndSub3.強(qiáng)制顯式聲明——OptionExplicit語(yǔ)句良好的編程習(xí)慣都應(yīng)該是“先聲明變量,后使用變量”,這樣做可以提高程序的效率,同時(shí)也使程序易于調(diào)試。VisualBasic中可以強(qiáng)制顯式聲明,可以在窗體模塊、標(biāo)準(zhǔn)模塊和類模塊的通用聲明段中加入語(yǔ)句:OptionExplicit4.4運(yùn)算符與表達(dá)式

4.4.1算數(shù)運(yùn)算符和算數(shù)表達(dá)式(ia=3)5+10mod10\9/3+2^2結(jié)果:109\3*3=19/3*3=9算術(shù)運(yùn)算符^→–(取負(fù))→*和/→\→Mod→+和–→&用算數(shù)運(yùn)算符和圓括號(hào)將操作數(shù)連接起來(lái)的式子叫算數(shù)表達(dá)式。操作數(shù)可以是常量、變量或函數(shù)等。使用圓括號(hào)來(lái)改變運(yùn)算次序。如X+(A/3)+(X+Y)^2-5.5Mod2注:①VB中允許不同數(shù)據(jù)類型的操作數(shù)出現(xiàn)在同一表達(dá)式中,系統(tǒng)將自動(dòng)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,VB規(guī)定運(yùn)算結(jié)果的數(shù)據(jù)類型以精度高的數(shù)據(jù)類型為準(zhǔn)。即:

Integer<Long<Single<Double<Currency但當(dāng)Long型數(shù)據(jù)與Single型數(shù)據(jù)運(yùn)算時(shí),結(jié)果為Double型數(shù)據(jù)②除(/)運(yùn)算的操作數(shù)可以是整數(shù)或浮點(diǎn)數(shù),運(yùn)算結(jié)果的類型總是Double型。例如

17/53.43.6/1.82(盡管輸出結(jié)果顯示是2,但仍是Double型數(shù)據(jù))19/2.57.610/33.333333333

33333③整除(\)運(yùn)算時(shí),一般要求操作數(shù)為整數(shù),若操作數(shù)中有浮點(diǎn)數(shù),則必須先對(duì)小數(shù)部分按四舍五入原則進(jìn)行處理,然后再進(jìn)行整除。如9\4=231.77\5.8=53\1.4999=33\1.5=1④取模(Mod)運(yùn)算就是求兩個(gè)數(shù)相除后的余數(shù),若操作數(shù)中有浮點(diǎn)數(shù),則必須先對(duì)小數(shù)部分按四舍五入原則進(jìn)行處理,然后再進(jìn)行運(yùn)算,運(yùn)算結(jié)果的符號(hào)取決于左操作數(shù)的符號(hào)。如

24Mod7=331.77Mod5.8=28.6Mod3=0-5Mod2=-1-5Mod-2=-15Mod-2=1書(shū)寫(xiě)時(shí)兩個(gè)操作數(shù)與Mod之間要留有空格⑤進(jìn)行除(包括整除)運(yùn)算除數(shù)為0時(shí),或進(jìn)行乘方運(yùn)算指數(shù)為負(fù)而底數(shù)為0時(shí),都會(huì)產(chǎn)生算數(shù)溢出的錯(cuò)誤信息。4.4.2字符串運(yùn)算符與字符串表達(dá)式

字符串運(yùn)算符有:&、+

例如:"ABCD"+"EFGHI"結(jié)果為:ABCDEFGHI“VB”&“程序設(shè)計(jì)教程”結(jié)果為:VB程序設(shè)計(jì)教程說(shuō)明:當(dāng)連接符兩旁的操作量都為字符串時(shí),上述兩個(gè)連接符等價(jià)。它們區(qū)別是:

+:運(yùn)算符兩邊的操作數(shù)應(yīng)均為字符型。若均為字符型則進(jìn)行算術(shù)運(yùn)算。若一邊為字符型另一邊為數(shù)值型,則系統(tǒng)自動(dòng)將字符串轉(zhuǎn)換為數(shù)值,進(jìn)行算術(shù)運(yùn)算;若系統(tǒng)無(wú)法將該字符串轉(zhuǎn)換為數(shù)值,則出錯(cuò)。如“1234”+51239 “1234”+“5” “12345” “Basic”+5運(yùn)行時(shí)出錯(cuò)

&:運(yùn)算符兩邊的操作數(shù)不管是字符型還是數(shù)值型,進(jìn)行連接操作前,系統(tǒng)先將操作數(shù)轉(zhuǎn)換成字符型,然后再連接。如 “Basic”&5 “Basic5” “1234”&5 “12345” “1234”&“5” “12345”例:"100"+123'結(jié)果為223"100"+"123"'結(jié)果為100123"Abc"+123'出錯(cuò)

"100"&123'結(jié)果為100123100&123'結(jié)果為100123"Abc"&"123"'結(jié)果為Abc123"Abc"&123'結(jié)果為Abc123

注意:使用運(yùn)算符“&”時(shí),要在運(yùn)算符“&”兩邊輸入空格。這是因?yàn)榉?hào)“&”還是長(zhǎng)整型的類型定義符,如果變量與符號(hào)“&”接在一起,VB系統(tǒng)先把它作為類型定義符處理,因而就會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。

4.4.3關(guān)系運(yùn)算符與關(guān)系表達(dá)式

關(guān)系運(yùn)算符都是雙目運(yùn)算,是用來(lái)比較兩個(gè)運(yùn)算量之間的關(guān)系,關(guān)系表達(dá)式的運(yùn)算結(jié)果為邏輯量,True或False。

VB中的關(guān)系運(yùn)算符如下表所示。

運(yùn)算符含義優(yōu)先級(jí)實(shí)例結(jié)果<小于所有關(guān)系運(yùn)算優(yōu)先級(jí)相同。低于算術(shù)運(yùn)算的加“+”,減“-”運(yùn)算,高于邏輯非“Not”運(yùn)算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"TrueIs對(duì)象比較Command1IsCommand1

True關(guān)系運(yùn)算的規(guī)則如下:(1)當(dāng)兩個(gè)操作式均為數(shù)值型,按數(shù)值大小比較,如果兩端的值可滿足關(guān)系運(yùn)算符,則結(jié)果為True,否則為False。(2)字符串比較,則按字符的ASCII碼值(數(shù)字<大寫(xiě)字母<小寫(xiě)字母)從左到右按照“逐個(gè)比較,遇大則大,長(zhǎng)大短小,完全相同才是相等”的原則進(jìn)行。例:"ABCDE">"ABRA" 結(jié)果為False(3)數(shù)值型與可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較,如:29>"189"按數(shù)值比較,結(jié)果為False12345=”12345”結(jié)果為True(4)數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較,如:77>"sdcd"不能比較,系統(tǒng)出錯(cuò)

12345=”abc”(5)關(guān)系運(yùn)算符的優(yōu)先級(jí)相同,運(yùn)算時(shí)從左至右依次進(jìn)行。(6)對(duì)浮點(diǎn)數(shù)進(jìn)行比較時(shí),因?yàn)橛?jì)算機(jī)的運(yùn)算誤差,可能會(huì)得到不希望的結(jié)果。因此應(yīng)避免直接判斷兩個(gè)浮點(diǎn)數(shù)是否相等,而應(yīng)改成對(duì)誤差的判斷。例如:Abs(num1-num2)<1E-6只要num1與num2的差小于一個(gè)很小的數(shù)(這里是10的-6次方),就認(rèn)為是相等了。(7)“Like”運(yùn)算符是VB6.0新增加的。通常與通配符一起使用對(duì)sql數(shù)據(jù)庫(kù)進(jìn)行模糊查找。其使用格式為:”abcdefghi”Like“a*f???”結(jié)果為True4.4.4邏輯運(yùn)算符與邏輯表達(dá)式

Not邏輯非為單目運(yùn)算符(要求一個(gè)操作數(shù)),其它為雙目運(yùn)算符。條件表達(dá)式1And條件表達(dá)式2條件表達(dá)式均為T結(jié)果為T

條件表達(dá)式1Or條件表達(dá)式2條件表達(dá)式有一個(gè)T結(jié)果為T說(shuō)明:(1)邏輯運(yùn)算符的優(yōu)先級(jí)不相同,Not(邏輯非)最高,但它低于關(guān)系運(yùn)算。(2)VB中常用的邏輯運(yùn)算符是Not、And和Or。它們用于將多個(gè)關(guān)系表達(dá)式進(jìn)行邏輯判斷。例如,數(shù)學(xué)上表示某個(gè)數(shù)在某個(gè)區(qū)域時(shí)用表達(dá)式:10≤X<20,用VB程序中應(yīng)寫(xiě)成:

X>=10AndX<20(3)參與邏輯運(yùn)算的量一般都應(yīng)是邏輯型數(shù)據(jù),如果參與邏輯運(yùn)算的兩操作數(shù)是數(shù)值量,則以數(shù)值的二進(jìn)制值逐位進(jìn)行邏輯運(yùn)算(0當(dāng)False,1當(dāng)True)。如11AND7(11的二進(jìn)制數(shù)為1011,而7的二進(jìn)制數(shù)為0111,對(duì)它們逐位進(jìn)行AND邏輯與運(yùn)算,得到二進(jìn)制數(shù)0011,結(jié)果為十進(jìn)制數(shù)3)(4)所有邏輯運(yùn)算符都不是界符,在輸入代碼時(shí),要在邏輯運(yùn)算符兩邊輸入空格關(guān)系表達(dá)式與邏輯表達(dá)式常常用在條件語(yǔ)句與循環(huán)語(yǔ)句中,作為條件控制程序的流程走向。例

(1)數(shù)學(xué)上判斷x是否在[a,b]區(qū)間時(shí),習(xí)慣上寫(xiě)為a≤x≤b,但在VB中應(yīng)該寫(xiě)為

a<=xAndx<=b(2)用邏輯表達(dá)式表示閏年的條件(閏年的條件是符合二者之一①能被4整除但不能被100整除②能被400整除)(YearMod4=0AndYearMod100<>0)OrYearMod400=0(3)若優(yōu)秀學(xué)生的條件是年齡(Age)小于20歲,三門功課成績(jī)(M1、M2、M3)的總分高于280分,其中有一門要大于95分

Age<20And(M1+M2+M3)>280AndM1>95OrM2>95OrM3>954.4.5日期型表達(dá)式日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),只能有下面3種情況:1.一個(gè)日期型數(shù)據(jù)可以相減:DateB-DateA結(jié)果是一個(gè)數(shù)值型整數(shù)(兩個(gè)日期相差的天數(shù))。例如:#05/08/2009#-#05/01/2009#其結(jié)果為數(shù)值:72.一個(gè)日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作加法運(yùn)算:DateA+N其結(jié)果仍是一個(gè)日期型數(shù)據(jù)。例如:#05/01/2009#+7其結(jié)果為日期型數(shù)據(jù):#05/08/2009#3.一個(gè)日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作減法運(yùn)算:DateA-N其結(jié)果仍是一個(gè)日期型數(shù)據(jù)。例如:#05/08/2009#-7其結(jié)果為日期型數(shù)據(jù):#05/01/2009#4.4.6運(yùn)算符的執(zhí)行順序

表達(dá)式中出現(xiàn)了多種不同類型的運(yùn)算符時(shí),其運(yùn)算符優(yōu)先級(jí)如下:

算術(shù)運(yùn)算符>字符運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算

說(shuō)明:

1.當(dāng)一個(gè)表達(dá)式中出現(xiàn)多種運(yùn)算符時(shí),首先進(jìn)行算術(shù)運(yùn)算符,接著處理字符串連接運(yùn)算符,然后處理比較運(yùn)算符,最后處理邏輯運(yùn)算符,在各類運(yùn)算中再按照相應(yīng)的優(yōu)先次序進(jìn)行。

2.可以用括號(hào)改變優(yōu)先順序,強(qiáng)令表達(dá)式的某些部分優(yōu)先運(yùn)行。括號(hào)內(nèi)的運(yùn)算總是優(yōu)先于括號(hào)外的運(yùn)算。對(duì)于多重括號(hào),總是由內(nèi)到外。算術(shù)運(yùn)算符^

*和/

\

→Mod

+和–

&和+

3.表達(dá)式的書(shū)寫(xiě)中需注意的問(wèn)題

(1)運(yùn)算符不能相鄰,一般兩個(gè)相鄰運(yùn)算符之間必須用括號(hào)分開(kāi)。例x*(-y)不能寫(xiě)為x*-y。(2)乘號(hào)不能省略。例x乘以y應(yīng)寫(xiě)成:x*y

(3)括號(hào)必須成對(duì)出現(xiàn),均使用圓括號(hào)。(4)表達(dá)式從左到右在同一基準(zhǔn)并排書(shū)寫(xiě),不能出現(xiàn)上下標(biāo)(5)要注意各種運(yùn)算符的優(yōu)先級(jí)別,為保持運(yùn)算順序,在寫(xiě)VB表達(dá)式時(shí)需要適當(dāng)添加括號(hào)(),若用到庫(kù)函數(shù)必須按庫(kù)函要求書(shū)寫(xiě)。

如:

(b-sqr(b*b-4*a*c))/(2*a)(a+b)/(a-b)

VB提供了上百種內(nèi)部函數(shù)(庫(kù)函數(shù)),要求掌握這些常用函數(shù)的功能及使用。調(diào)用方法:

函數(shù)名(參數(shù)列表)有參函數(shù)函數(shù)名無(wú)參函數(shù)說(shuō)明:(1)使用庫(kù)函數(shù)要注意參數(shù)的個(gè)數(shù)及其參數(shù)的數(shù)據(jù)類型(2)要注意函數(shù)的定義域(自變量或參數(shù)的取值范圍)例如:sqr(x)要求:x>=0

約定:下列敘述中,N表示數(shù)值表達(dá)式,C表示字符表達(dá)式,D表示日期表達(dá)式;另外,凡是函數(shù)名后有$符號(hào)者,表示函數(shù)返回值為字符串。4.5常用內(nèi)部函數(shù)

1.數(shù)學(xué)函數(shù)常用的數(shù)學(xué)函數(shù)見(jiàn)表所示

Abs(N)Cos(N)Sin(N)Exp(N)Log(N)Sqr(N)Rnd[(N)]Sgn(N)

說(shuō)明:(1)在三角函數(shù)中的自變量是以弧度表示?;《?度數(shù)*3.14159/180

如:sin300sin(300*3.14159/180)(2)VB只提供求以e為底的自然數(shù)對(duì)數(shù)的函數(shù)Log(x),若要求以其它數(shù)為底數(shù)的對(duì)數(shù),應(yīng)使用換底公式。例如求以10為底的常用對(duì)數(shù)lgx可表示為log(x)/log(10)

(3)Rnd函數(shù)返回0~1(包括0和不包括1)之間的雙精度隨機(jī)數(shù)。產(chǎn)生某個(gè)范圍內(nèi)的隨機(jī)整數(shù),可使用公式:Int((上界—下界+1)*Rnd)+下界若要產(chǎn)生1-100的隨機(jī)整數(shù):Int(Rnd*100)+1

怎樣產(chǎn)生[N,M]區(qū)間的隨機(jī)整數(shù)?答案:int((m-n+1)*rnd)+n

例PrivateSubForm_Click()Dimd1AsInteger,d2AsIntegerd1=Int((6-1+1)*Rnd+1)d2=Int((6-1+1)*Rnd+1)Print"你擲了一個(gè)"&d1&"和一個(gè)"&d2Print"兩個(gè)骰子的點(diǎn)數(shù)之和為;"&(d1+d2)EndSub4.5.2類型轉(zhuǎn)換函數(shù)(1)要區(qū)別兩個(gè)取整函數(shù)int()和fix()

Fix(N)為截?cái)嗳≌?,即去掉小?shù)后的數(shù)。

Int(N)不大于N的最大整數(shù)。

N>0與int(N)相同,當(dāng)N<0時(shí),int(N)與fix(N)-1相等。例如:Fix(9.59)=9,Int(9.59)=9Fix(-9.59)=-9,Int(-9.59)=-10

思考:如何實(shí)現(xiàn)四舍五入取整?答案:cint(9.59)=10,cint(-9.59)=-10

(2)Asc("Abcd")值為:65(只取首字母的Ascii值)(3)Val("abc123")值為:0,Val("1.2sa10")值為1.2

注意:Val()函數(shù)只將最前面的數(shù)字字符轉(zhuǎn)換為數(shù)值。(4)Str函數(shù)和Cstr函數(shù)當(dāng)使用Str函數(shù)將數(shù)值型數(shù)據(jù)轉(zhuǎn)換成字符串時(shí),其結(jié)果字符串的第一個(gè)字符一定是空格或是正負(fù)號(hào)。例如:X=Str(123)X的值為”123”,注意字符串包含一前導(dǎo)空格,暗示有一正號(hào)X=Str(-123.456)X的值為”-123.456”X=Str(+123.456)X的值為”+123.456”若用Cstr函數(shù)也可以將數(shù)值型數(shù)據(jù)轉(zhuǎn)換成字符串,但其結(jié)果字符串是直接將數(shù)值型數(shù)據(jù)兩邊加上雙引號(hào)而得。例如:Cstr(123)的值為”123”(此時(shí)字符串不包含前導(dǎo)空格)。因此,Len(Str(123))的值為4,而Len(Cstr(123))的值為3

例PrivateSubCommand1_Click()PrintChr(Asc("A"))PrintAsc("ABCDEF")PrintTrim(Str(Asc("ABCDEF")))Print"顯示在上一行"+Chr(13)+Chr(10)+"顯示在下一行"注:等效于Print"顯示在上一行"+vbCrLf+"顯示在下一行"EndSub

注:Chr(13)和Chr(10)分別代表回車和換行,完全等效于VB內(nèi)部常量vbCrLf。3.字符串操作函數(shù)(常用的字符串函數(shù)見(jiàn)表)

說(shuō)明:如果返回是字符型,則函數(shù)后有“$”字符。當(dāng)然一般可以不寫(xiě),習(xí)慣都寫(xiě)上。例如:

len("Thisisabook!")15Left$("ABCDEFG",3)"ABC"Mid$("ABCDEFG",2,3)"BCD"InStr(2,“ABCDEFGEF”,“EF”)5(第一次出現(xiàn)的位置)

InStr(6,“ABCDEFGEF”,“EF”)8(第二次出現(xiàn)的位置)函數(shù)名功能說(shuō)明例結(jié)果Now系統(tǒng)當(dāng)前的日期和時(shí)間Now99/05/2011:26:30AMDate系統(tǒng)當(dāng)前的日期(年-月-日)Date1999-05-20Time系統(tǒng)當(dāng)前的時(shí)間(hh:mm:ss)Time11:26:30AMYear(D)年份(yyyy)Year(#2/9/99#)1999Month(D)月份(1-12)Month(“99,05,01”)5Day(D)月中第幾日(1-31)Day(#2/9/99#)9Weekday(D)星期幾(1-7),1表示星期日Weekday(#2/9/99#)34.5.4日期與時(shí)間函數(shù)掌握:Time()Date()NowYear()Month()Day()注意:當(dāng)日期函數(shù)中的參數(shù)為數(shù)值型時(shí),表示相對(duì)于1899年12月30日為前后的天數(shù)。例如,Year(365)表示相對(duì)于1899年12月30日為0天后365天的年代號(hào),所以值為1900.例如:PrivateSubForm_Click()Print"今天是"+Str(Year(Date))+"年"+Str(Month(Date))+"月"+Str(Day(Date));"日"PrintPrint"現(xiàn)在是北京時(shí)間"&TimeEndSub4.5.5格式化輸出函數(shù)使用格式:Format$(表達(dá)式[,“格式字符串”])功能:格式化輸出函數(shù)Format主要用于屏幕顯示或打印時(shí)對(duì)輸出項(xiàng)的內(nèi)容進(jìn)行格式描述,以滿足不同輸出格式的要求,常常用在print方法中。使用形式:printFormat$(表達(dá)式[,“格式字符串”])表達(dá)式:可以是數(shù)值、日期或字符串型表達(dá)式。格式字符串:表示輸出表達(dá)式時(shí)采用的輸出格式。不同數(shù)據(jù)類型所采用的格式字符串是不同的。(1)數(shù)值型數(shù)據(jù)格式化注意:對(duì)于符號(hào):0與#,當(dāng)數(shù)值的實(shí)際位數(shù)比格式控制給定的位數(shù)多時(shí),系統(tǒng)將按四舍五入返回給定的位數(shù)。如:Format(3.14159,“###.#00”),其值為3.142符號(hào)功能說(shuō)明數(shù)值表達(dá)式格式化字符串顯示結(jié)果#用于表示一個(gè)數(shù)字位。若實(shí)際數(shù)值的位數(shù)小于符號(hào)位數(shù),數(shù)字前后不加01234.5671234.56712“#####.####”“###.##”“#.##”1234.5671234.57120功能同#。只是當(dāng)實(shí)際數(shù)值的位數(shù)小于符號(hào)位數(shù),數(shù)字前后加01234.5671234.56712“00000.0000”“000.00”“0.00”01234.56701234.5712.00.小數(shù)點(diǎn)占位符。常與#和0格式符配合使用1234“000.000”1234.000,千分位符號(hào)占位符1234.567“##,##0.0000”1,234.5670%數(shù)值乘以100,加百分號(hào)。常放在格式字符串的末尾1234.5678“####.##%”123456.78%$常放在格式字符串的開(kāi)頭,以使在輸出的數(shù)值前加一個(gè)$符號(hào)1234.567“$####.##”$1234.57+常放在格式字符串的開(kāi)頭,用以在輸出的數(shù)值前加正號(hào)-1234.567“+####.##”-+1234.57-常放在格式字符串的開(kāi)頭,用以在輸出的數(shù)值前加負(fù)號(hào)1234.567“-####.##”-1234.57E+指數(shù)形式輸出0.123450.12345“0.00E+00”“00.00E+00”1.23E-0112.35E-02E-與E+作用相似1234.5671234.567“#.##E-00”“##.##E-00”1.23E0312.35E02(2)日期和時(shí)間型數(shù)據(jù)格式化缺省日期格式為:“mm/dd/yy”,時(shí)間格式:“hh:mm:ss”

如:PrintFormat(Now),其值為2008-03-1010:07:10類型符號(hào)功能說(shuō)明日d顯示日期(1—31),個(gè)位前不加0dd顯示日期(01—31),個(gè)位前加0ddd顯示星期縮寫(xiě)(Sun——Sat)dddd顯示星期全名(Sunday——Saturday)ddddd顯示完整日期(日、月、年)缺省格式為mm/dd/yy月m顯示月份(1——12),個(gè)位前不加0mm顯示月份(01——12),個(gè)位前加0mmm顯示月份縮寫(xiě)(Jan——Dec)mmmm顯示月份全名(January——December)年y顯示一年中的天(1——366)yy兩位數(shù)顯示年份(00——99)yyyy四位數(shù)顯示年份(0100——9999)季q季度數(shù)(1——4)星期w星期為數(shù)字(1——7,1為星期日)ww一年中的星期數(shù)(1——53)時(shí)h顯示小時(shí)(0——23),個(gè)位前不加0hh顯示小時(shí)(00——23),個(gè)位前加0分m在h后顯示分(0——59),個(gè)位前不加0mm在h后顯示分(00——59),個(gè)位前加0秒s顯示秒(0——59),個(gè)位前不加0ss顯示秒(00——59),個(gè)位前加0tttt顯示完整時(shí)間(小時(shí)、分、秒)缺省格式為hh:mm:ssAM/PMam/pm用12小時(shí)制顯示時(shí)間,中午前AM(或am),中午后PM(或pm)。和h格式符一起使用A/Pa/p同“AM/PM”,中午前A(或a),中午后P(或p)例PrivateSubCommand1_Click()DimmytimeAsDate,mydateAsDateFontSize=10FontBold=Truemytime=#9:01:35AM#mydate=#7/1/1999#PrintTab(4);Format(mydate,"mm-dd-yy")PrintTab(4);Format(mydate,"mmmm-yy")PrintTab(4);Format(mytime,"h/m/sAM/PM")PrintTab(4);Format(mytime,"hh:mm:ssA/P")PrintTab(4);Format(Now,"yyyy年m月dd日hh:mm:ss")PrintTab(4);Format(Date,"dddd,mmmm,yyyy-mm-dd")EndSub(3)字符串類型數(shù)據(jù)格式化字符串格式化是指將字符串按“格式字符串”指定的格式輸出。符號(hào)功能說(shuō)明字符串表達(dá)式例格式化字符串顯示結(jié)果@字符占位符。實(shí)際字符位數(shù)小于符號(hào)位數(shù)時(shí),字符前加空格“ABab”“@@@@@@”ABab!與@一起使用,當(dāng)實(shí)際字符位數(shù)小于符號(hào)位數(shù)時(shí),強(qiáng)制字符后加空格“ABab”“!@@@@@@”ABab&字符占位符。實(shí)際字符位數(shù)小于符號(hào)位數(shù)時(shí),字符前不加空格“ABab”“&&&&&&&”ABab<強(qiáng)制小寫(xiě)。將所有字母以小寫(xiě)顯示“ABcd”“<”Abcd>強(qiáng)制大寫(xiě)。將所有字母以大寫(xiě)顯示“ABcd”“>”ABCD4.6用戶交互函數(shù)和過(guò)程

4.6.1InputBox函數(shù)變量名=InputBox[$](提示信息[,標(biāo)題][,缺省][,x坐標(biāo)][,y坐標(biāo)])

其中:提示信息:該項(xiàng)為一字符串表達(dá)式(≤255個(gè)字符),不可以省略。若信息太長(zhǎng)需要進(jìn)行多行顯示,必須在每行行末加回車Chr(13)和換行符Chr(10),或直接加回車換行控制符vbCrLf。X坐標(biāo)、y坐標(biāo):是對(duì)話框左上角點(diǎn)相對(duì)于屏幕(注意,不是窗體)的坐標(biāo)。

例如:有下列語(yǔ)句如下:

Dimx%x=Val(InputBox(“請(qǐng)輸入一個(gè)數(shù)”,“輸入框”,100))

語(yǔ)句執(zhí)行后打開(kāi)如下對(duì)話框。缺省值標(biāo)題題提示注:Inputbox函數(shù)的函數(shù)值是字符串類型。例1.PrivateSubCommand1_Click()Dimmj,djmj=Val(InputBox("商品房面積"))dj=Val(InputBox("每平米價(jià)格"))Print"商品房面積";mjPrint“每平米價(jià)格”;djPrint"商品房?jī)r(jià)格";dj*mj;"元"EndSub(程序中mj和dj都定義為可變類型變量,而要求輸入商品房面積和每平米價(jià)格的Inputbox函數(shù)的結(jié)果是字符串類型,因此需要加Val把字符串轉(zhuǎn)換成數(shù)值。)例2PrivateSubForm_Click()DimstrnameAsString*40,strtmpAsString*40strname="輸入你的姓名"+vbCrLf+"然后單擊確定"strname=InputBox(strname,"輸入框程序示例","******",100,100)PrintstrnameEndSub2.MsgBox函數(shù)和MsgBox過(guò)程(message的縮寫(xiě))函數(shù)形式:變量[%]=MsgBox(提示[,按鈕[+圖標(biāo)][+缺省按鈕][+模式]][,標(biāo)題])過(guò)程形式:MsgBox

提示[,按鈕[+圖標(biāo)][+缺省按鈕][+模式]][,標(biāo)題]圖標(biāo)標(biāo)題提示信息命令按鈕說(shuō)明:1“標(biāo)題”和“提示”與InputBox函數(shù)中對(duì)應(yīng)的參數(shù)相同;2“按鈕(C1)+圖標(biāo)(C2)+缺省按鈕(C3)+模式(C4)”是整型表達(dá)式,決定信息框按鈕數(shù)目、出現(xiàn)在信息框上的圖標(biāo)類型及操作模式(見(jiàn)表)

3若程序中需要返回值,則使用函數(shù),否則可調(diào)用過(guò)程。例如:前一頁(yè)的圖用下面的語(yǔ)句實(shí)現(xiàn)

PrintMsgBox(“注意:你輸入數(shù)據(jù)不正確”,50,“錯(cuò)誤提示”)

根據(jù)選擇的不同,有3、4、5三個(gè)結(jié)果。按鈕按鈕、圖標(biāo)、缺省按鈕、模式的值如下(P58)

根據(jù)用戶所選按鈕,函數(shù)返回1—7的整數(shù)值,其含義如下表(P58)例1.PrivateSubForm_Load()DimMsgPromptAsString,MsgTitleAsStringDimMsgStyleAsInteger,iAsIntegerMsgPrompt="輸出信息對(duì)話框"MsgStyle=1+48+0(也可以寫(xiě)成MsgStyle=vbOkCanael+vbExclamation+vbDefaultButton1或直接寫(xiě)成MsgStyle=49)MsgTitle="輸出對(duì)話框"i=MsgBox(MsgPrompt,MsgStyle,MsgTitle)Ifi=1Then

MsgBox"確定"Else

MsgBox"取消"EndIfEndSub例2.(口令:zhang)

PrivateSubCommand1_Click()DimiAsIntegerIfText1.Text="zhang"Then

MsgBox"口令輸入正確",vbInformation,"消息框程序示例"Else i=MsgBox("口令輸入錯(cuò)誤",5+48,"輸入口令") Ifi=4Then Text1.Text="" Text1.SetFocus Else End EndIfEndIfEndSub補(bǔ)充說(shuō)明:1.變量作用域作用范圍局部變量窗體/模塊級(jí)變量全局變量

窗體標(biāo)準(zhǔn)模塊聲明方式Dim、StaticDim、PrivatePublic聲明位置在過(guò)程中窗體/模塊的“通用聲明”段窗體/模塊的“通用聲明”段能否被本模塊其他過(guò)程存取不能能能能否被其他模塊存取不能不能能,但在變量名前加窗體名能,如果不唯一則需加模塊名2.VB中常用數(shù)據(jù)類型的初始值(1)初值為0%,&,!,#,byte,@(2)邏輯型:false(3)字符串:空(定長(zhǎng)串為定長(zhǎng)空)(4)日期型:0:00:003.不同數(shù)據(jù)類型數(shù)據(jù)的賦值(1)如果變量與表達(dá)式都是數(shù)值型,系統(tǒng)先求出表達(dá)式值,再將其轉(zhuǎn)換為變量類型最后賦值。

eg.K%=3.45*6‘四舍五入取整結(jié)果:k=21k&=17524*2‘%*%=%結(jié)果:溢出

k&=190^2‘^為double型結(jié)果:k=36100(2)如果變量是字符型,表達(dá)式為數(shù)值類型,則系統(tǒng)把表達(dá)式的值轉(zhuǎn)換為字符型賦值給變量。

eg.A$=2.3e5printa結(jié)果:“230000”

(3)對(duì)于小數(shù)(如:小數(shù)0.5)系統(tǒng)默認(rèn)是double型(4)不同類型的數(shù)值數(shù)據(jù)運(yùn)算時(shí)其結(jié)果的類型與數(shù)值范圍最大的數(shù)據(jù)類型一致

eg.a%=30:b%=40:c%=50Printa*b*c*1&‘%*%=%結(jié)果:溢出

Print1&*a*b*c’&*%=&結(jié)果:60000練習(xí):強(qiáng)制顯式說(shuō)明:OptionExplicit語(yǔ)句在模塊中使用該語(yǔ)句,當(dāng)遇到未經(jīng)顯式說(shuō)明的變量

時(shí),就會(huì)發(fā)出錯(cuò)誤警告OptionExplicitPrivateSubCommand1_Click() DimcurSalaryAsSingle

curSalary=3000

curSalry=curSalry+500EndSubVB接受許多種日期時(shí)間格式例:下面的Date/Time值全部有效。

#3-6-9313:20##March27,19931:20am##Apr-2-93##14April1993##12/18/1999#可以用逗號(hào)分隔多個(gè)常量聲明

ConstPi=3.14,Max=9,MyStr="Hello"'用先前定義過(guò)的常量定義新常量

ConstPi2=Pi*2使用:在程序中引用如:AREA=Pi*R^2

在程序中不可修改如:Pi=3.14系統(tǒng)定義符號(hào)常量

VB內(nèi)部已定義,可以直接使用的常量查看內(nèi)部常量:

視圖→對(duì)象瀏覽器→選擇庫(kù)、類、成員如:庫(kù)VBRUN

類ColorConstants

ShapeConstants

成員Vbred

例:PrivateSubForm_Activate()ConstAAsString="各種常量的使用"Form1.BackColor=vbGreenForm1.ForeColor=vbRedForm1.FontSize=14PrintAEndSub例:在窗體中放置按鈕Command1和Command2DimaAsIntegerPrivateSubCommand1_Click()a=a+10PrintaEndSubPrivateSubCommand2_Click()a=a+15PrintaEndSub

運(yùn)行程序,觀察結(jié)果將DimaAsInteger放到過(guò)程內(nèi),再運(yùn)行,觀察結(jié)果。去除Dim,比較使用OptionExplicit與不使用的結(jié)果。例:將以下表達(dá)式寫(xiě)成VB合法的表達(dá)式

(xy)za1+a2a-b+a(-b)a1+a2a^(-b)+a*(-b)

(x^y)^z

a^(1/n)

y/(-x)+x/(-y)A/(4+(8/(3+B))1.乘方運(yùn)算例:10^210的平方,結(jié)果為10010^(-2)10的平方的倒數(shù),結(jié)果為0.0125^0.525的平方根,結(jié)果為58^(1/3)8的立方根,結(jié)果為22^2^3運(yùn)算順序從左到右,結(jié)果為64(-8)^(-1/3)錯(cuò)誤,當(dāng)?shù)讛?shù)為負(fù)時(shí),指數(shù)必須是整數(shù)2.整數(shù)除法例:10\4結(jié)果為225.68\6.99先四舍五入再整除,結(jié)果為33.取模運(yùn)算例:10Mod4結(jié)果為225.68Mod6.99先四舍五入再求余數(shù),結(jié)果為5

11Mod–4結(jié)果為3-11Mod5結(jié)果為-1-11Mod-3結(jié)果為-2字符串運(yùn)算符與字符串表達(dá)式字符串運(yùn)算符有兩個(gè):&+例:"Hello"&"World"結(jié)果為"HelloWorld""Check"&123結(jié)果為"Check123"123&456結(jié)果為"123456""123"&456結(jié)果為"123456"123+456結(jié)果為579"123"+"456"結(jié)果為"123456""Check"+123錯(cuò)誤例:將以下條件寫(xiě)成VB布爾表達(dá)式

1.m1-n1≤j≤m1+n12.X<-5或X>53.M和N之一為5,但不能同時(shí)為54.-100<k<100,且K為偶數(shù)

5.的定義域1.(J>=M1-N1)And(J<=M1+N1)2.(X<-5.0)Or(X>5.0)3.((M=5)And(N<>5))Or((M<>5)And(N=5))4.(K>-100)And(K<100)And(KMod2=0)5.(X<>0)And((X-1.0)*(X-2.0)>=0.0)表達(dá)式的運(yùn)算順序

()→函數(shù)運(yùn)算→算術(shù)運(yùn)算→關(guān)系運(yùn)算→布爾運(yùn)算數(shù)學(xué)函數(shù)例:Fix(45.67)結(jié)果為45Int(45.67)結(jié)果為45Fix(-2.89)結(jié)果為-2Int(-2.89)結(jié)果為-3Abs(-4)結(jié)果為4Log(10)結(jié)果為2.30258509299405Sgn(3)結(jié)果為1Sgn(-6)結(jié)果為-1Sgn(0)結(jié)果為0例:求sin300

Sin(a*3.14/180)例:判斷一個(gè)整數(shù)Y能否被另一個(gè)整數(shù)X整除如果INT(Y/X)=Y/X則整除例:常用對(duì)數(shù)log10X的求法用換底公式log10X=Ln(X)/Ln(10)

即LOG(X)/LOG(10)例:求e3

正確:EXP(3)

錯(cuò)誤:e^3(錯(cuò))字符串函數(shù)例:LTrim("∪∪∪ABC")結(jié)果為"ABC"表示空格RTrim("ABC∪∪∪")結(jié)果為"ABC"Trim("∪∪∪ABC∪∪∪")結(jié)果為"ABC"Left("ABCDE",2)結(jié)果為"AB"Right("ABCDE",2)結(jié)果為"DE"Mid("ABCDE",2,3)結(jié)果為"BCD"Mid("ABCDE",2,6)結(jié)果為"BCDE"例:Len("ABCDE")結(jié)果為5String(3,"ABC")結(jié)果為"AAA"String(3,65)結(jié)果為"AAA"

InStr("ABCDECDE","DE")結(jié)果為4InStr(5,"ABCDECDE","DE")結(jié)果為7

UCase("Abc")結(jié)果為"ABC"

LCase("ABc")結(jié)果為"abc"轉(zhuǎn)換函數(shù)例:Asc("A")結(jié)果為65

Asc("ABC")結(jié)果為65Chr(65)結(jié)果為"A"Str(123)結(jié)果為"∪123"Str(-123)結(jié)果為"-123"Val("123")結(jié)果為123Val("123AB")結(jié)果為123Val(".123AB")結(jié)果為.123Val("a123AB")結(jié)果為0格式輸出函數(shù)例:Format(123.45,"0000.000")結(jié)果為"0123.450"Format(123.45,"0.0")結(jié)果為"123.5"Format(123.45,"####.###")結(jié)果為"123.45"Format(123.45,"#.#")結(jié)果為"123.5"Format(0.123,".##")結(jié)果為".12"Format(0.123,"0.##")結(jié)果為"0.12"

Format("HELLO","<")結(jié)果為"hello"

Format("Thisisit",">")結(jié)果為"THISISIT"

注:經(jīng)Format函數(shù)格式化后的結(jié)果為字符串類型例:Format(123)+Format(456)結(jié)果為"123456"區(qū)別:Str(123)+Str(456)結(jié)果為"∪123∪456"本章小結(jié):1.常用數(shù)據(jù)類型整型:Integer%

長(zhǎng)整型:Long&

單精度:Single!

雙精

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論