版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章程序設(shè)計(jì)入門語言和語法是VisualBasic程序設(shè)計(jì)基礎(chǔ),本章的主要內(nèi)容有:
2.1VisualBasic中的數(shù)據(jù)類型2.2常量與變量2.3表達(dá)式2.4常用內(nèi)部函數(shù)2.5語句和程序2.1VisualBasic中的數(shù)據(jù)類型
2.1.1數(shù)據(jù)的分類數(shù)據(jù)的概念:用于描述客觀事物的數(shù)、字符以及所有能輸入到計(jì)算機(jī)中并被計(jì)算機(jī)程序加工處理的符號(hào)的集合統(tǒng)稱為數(shù)據(jù)。數(shù)據(jù)的分類:從數(shù)據(jù)的類型來分,數(shù)據(jù)可分為:數(shù)值型數(shù)據(jù)、字符型數(shù)據(jù)、邏輯型數(shù)據(jù)、日期型數(shù)據(jù)等。從數(shù)據(jù)的處理層次上分,數(shù)據(jù)又可分為:常量、變量、函數(shù)和表達(dá)式。
2.1.2標(biāo)準(zhǔn)數(shù)據(jù)類型
VisualBasic中的基本數(shù)據(jù)類型數(shù)據(jù)類型關(guān)鍵字占字節(jié)數(shù)范圍字節(jié)型Byte10~255整型Integer2-32768~32767長整型Long4-2147463648~2147483647單精型Single41.4E-45<絕對(duì)值<3.4E38雙精型Double84.94D-324<絕對(duì)值<1.8D308貨幣型Currency8-922337203685477.5808~922337203685477.5807邏輯型Boolean2True與False日期型Date801/01/100~12/31/9999變長字符串String字符串長度0~大約20億字節(jié)定長字符串String*sizesize0~65535個(gè)字節(jié)(64KB)對(duì)象型Object4任何對(duì)象引用可變類型(數(shù)值)Variant16任何數(shù)值,最大可達(dá)Double的范圍可變類型(字符)Variant字符串長度與可變長度字符串有相同的范圍說明:1.其中前六個(gè)為數(shù)值型,它們的區(qū)別如下:
◆Byte型:不能表達(dá)負(fù)數(shù),只能表達(dá)0-255內(nèi)的整數(shù),不能使用小數(shù)。
◆Integer與Long型:只能表達(dá)整數(shù),數(shù)值范圍達(dá)到+/-21億,但運(yùn)算速度較慢。
◆Single、Double與Currency型:數(shù)據(jù)可包含小數(shù),其中Single型的精度為7位,Double型的精度達(dá)到15位,Currency型支持小數(shù)點(diǎn)左邊15位右邊4位。Single與Double的有效范圍比Currency大得多,但精度低。2.所有數(shù)值型的數(shù)據(jù)可以互相賦值,若將浮點(diǎn)型數(shù)賦給整型數(shù),將對(duì)小數(shù)進(jìn)行四舍五入后再賦值。
3.在VisualBasic中,數(shù)值型數(shù)據(jù)都有一個(gè)有效的范圍值,程序中的數(shù)據(jù)如果超出規(guī)定的范圍,就會(huì)出現(xiàn)“溢出”信息(Overflow)。如果小于范圍的下限值,系統(tǒng)將按“0”處理;如果大于上限值,則系統(tǒng)只按上限值處理,并顯示出錯(cuò)誤信息。4.String型可分為定長和變長兩類,定長型可容納65535個(gè)字符,變長型可容納20億個(gè)字符。
5.Date型用于表示日期時(shí)間,在VB中Date型數(shù)據(jù)必須用“#”括起來,有三種標(biāo)準(zhǔn)格式:
⑴#月/日/年#例如:#12/23/1998#⑵#時(shí):分:秒AM|PM#例如:#8:05:34AM#⑶#月/日/年時(shí):分:秒AM|PM# 例如:#12/23/199821:11:00PM#VisualBasic除接受標(biāo)準(zhǔn)格式外,也接受非標(biāo)準(zhǔn)格式,例如:#1999-2-8#、#1999/2/8#、#February8,1999#、#8February,1999#它們都表示1999年2月8日,但#1999年2月8日#是錯(cuò)誤的。建議盡量使用標(biāo)準(zhǔn)格式,因?yàn)榉菢?biāo)準(zhǔn)格式容易產(chǎn)生歧義,例如#02-3-8#就不表示2002年3月8日,而是表示2008年2月3日。在VisualBasic的“立即”窗口(如圖2-1所示)(按Ctrl+G鍵打開)可驗(yàn)證上述結(jié)果。
圖2-1VisualBasic的“立即”窗口
2.1.3構(gòu)造類型除了上面介紹的基本數(shù)據(jù)類型外,在VisualBasic中還提供了構(gòu)造類型,主要包括數(shù)組、用戶自定義類型、以及枚舉類型等。構(gòu)造類型實(shí)際上是由基本類型的數(shù)據(jù)按一定的規(guī)則組合而成的,也稱為“導(dǎo)出類型”。構(gòu)造數(shù)據(jù)類型將在第六章進(jìn)行詳細(xì)介紹。
6.Variant型是可變型(變體型),除了定長String型和自定義類型外,它可存放任何類型的數(shù)據(jù),是一種萬能的數(shù)據(jù)類型。我們?cè)?.2節(jié)中再對(duì)變體型變量進(jìn)行詳細(xì)介紹。在程序中,不同類型的數(shù)據(jù)既可以以常量的形式出現(xiàn),也可以以變量的形式出現(xiàn)。常量在程序執(zhí)行期間是不發(fā)生變化的,而變量的值是可變的,它代表內(nèi)存中指定的存儲(chǔ)單元。
2.2常量與變量
常量:常量是指在程序運(yùn)行過程中始終保持不變的數(shù)值、字符串等常數(shù)。在VisualBasic中,有兩種形式的常量:文字常量和符號(hào)常量。1.文字常量文字常量也稱為直接常量,就是在程序代碼中,以直接明顯的形式給出的數(shù)。根據(jù)常量的數(shù)據(jù)類型有:數(shù)值常量、字符常量、日期/時(shí)間常量、布爾常量。
2.2.1常量
(1)數(shù)值常量數(shù)值常量共有5種表示方式:整數(shù)、長整數(shù)、定點(diǎn)數(shù)、浮點(diǎn)數(shù)和字節(jié)數(shù)。整數(shù)、長整數(shù)、字節(jié)數(shù)的取值范圍和表示方法:見前一節(jié),在表示它們的常量時(shí)取值范圍要在其所表示數(shù)的范圍之內(nèi)。例如,整數(shù)數(shù)值常量:10,2566,-38,0;長整數(shù)數(shù)值常量:-524698,26938,0;字節(jié)數(shù)值常量:255,128,0。定點(diǎn)數(shù):定點(diǎn)數(shù)是帶有小數(shù)點(diǎn)的正數(shù)或負(fù)數(shù)。定點(diǎn)數(shù)表示數(shù)的范圍比較小。例如:3.141593,32.28,-5.6,10.0,0.0。定點(diǎn)數(shù)可以是單精度,也可以是雙精度,也可是是貨幣類型。浮點(diǎn)數(shù):浮點(diǎn)數(shù)分為浮點(diǎn)單精度數(shù)和浮點(diǎn)雙精度數(shù)。浮點(diǎn)數(shù)由尾數(shù)、指數(shù)符號(hào)和指數(shù)三部分組成,其中尾數(shù)本身也是一個(gè)浮點(diǎn)數(shù)。指數(shù)符號(hào)E或D的含義為乘以10的冪次。例如:3.612E+38,-9.223D-345,0.234E-36,-0.2E8。
(2)字符符常量由ASCII字符、、漢字所構(gòu)構(gòu)成的字符符序列,在在表達(dá)時(shí)必必須用雙引引號(hào)括起來來,例如::"ABC-123",”234.456”,”河北科科技大學(xué)””等。(3)日期期/時(shí)間常常量用以表達(dá)某某一天或某某一具體時(shí)時(shí)間,使用用時(shí)必須用用“#”號(hào)號(hào)括起來。。例如:#5/20/2000#,#2000-5-20#,#5/21/200110:20pm#等(4)布爾爾常量即邏輯常量量,其取值值只有兩個(gè)個(gè):True和False。True表示邏邏輯值"真真",F(xiàn)alse表表示邏輯值值"假"。。2.符號(hào)常常量符號(hào)常量是是指用一個(gè)個(gè)符號(hào)代表表常量值,該符號(hào)在在程序中表表示恒定值值。符號(hào)常量有有兩種來源源:用戶定定義的符號(hào)號(hào)常量和內(nèi)內(nèi)部的(或或系統(tǒng))定定義的符號(hào)號(hào)常量。(1)用戶戶定義的符符號(hào)常量用戶可以自自己定義符符號(hào)常量,,以便在一一個(gè)程序中中使用這個(gè)個(gè)符號(hào)所代代表的常量量。符號(hào)常量的的定義格式式為:Const符號(hào)常常量名[As數(shù)數(shù)據(jù)類型]=表達(dá)式式例如:ConstPI=3.14159ConstRAsInteger=100*5例題2.1使用上面定定義的符號(hào)號(hào)常量,計(jì)計(jì)算半徑(R)為100的圓圓周長,圓圓面積和球球體體積。。設(shè)計(jì)一個(gè)窗窗體Form1,在在其中添加加命令按鈕鈕Command1,如圖2-2所示示:圖2-2程程序運(yùn)行行結(jié)果在命令按鈕鈕的鼠標(biāo)單單擊事件過過程中添加加如下代碼碼:PrivateSubCommand1_Click()ConstPI=3.14159ConstRAsInteger=100*5s=2*PI*Ra=PI*R*Rv=4/3*PI*R*R*RPrint"s=";sPrint"a=";aPrint"v=";vEndSub(2)內(nèi)部部的(或系系統(tǒng))定義義的符號(hào)常常量內(nèi)部或系統(tǒng)統(tǒng)定義的常常量是VB和控件提提供的。這這些常量可可與應(yīng)用程程序的對(duì)象象、方法和和屬性一起起使用,在在代碼中可可以直接使使用它們。。可以在““對(duì)象瀏覽覽器”中查查看內(nèi)部常常量。選擇擇“視圖””菜單中的的“對(duì)象瀏瀏覽器”,,則打開““對(duì)象瀏覽覽器”窗口口,。在下下拉列表框框中選擇VB或VBA對(duì)象庫庫,然后在在“類”列列表框中選選擇常量組組,右側(cè)的的成員列表表中即顯示示預(yù)定義的的常量,窗窗口底端的的文本區(qū)域域中將顯示示該常量的的功能。此外還有一一些系統(tǒng)定定義的符號(hào)號(hào)常量。例例如:“vbCrLf”回車車/換行符符常數(shù),它它就是系統(tǒng)統(tǒng)常量,等等效于Chr$(13)+Chr$(10)。2.2.2變量量變量:在在程序執(zhí)執(zhí)行期間間其值是是可變的的量,變變量是存存儲(chǔ)數(shù)據(jù)據(jù)的地方方,每個(gè)個(gè)變量均均有屬于于自己的的名字和和數(shù)據(jù)類類型。變變量的名名字稱為為變量名名。⑴變量量的定義義:變量量定義時(shí)時(shí)必須定定義其變變量名和和數(shù)據(jù)類類型。定義變量量的語句句為:Dim|Static|Public|Private變量名As數(shù)數(shù)據(jù)類類型⑵Dim|Static|Public|Private可可選四四者之一一,其含含義是::◆Dim|Private:常用于過過程或模模塊中定定義本地地變量((局部變變量),,當(dāng)過程程執(zhí)行行完后這這些本地地變量將將被釋放放.◆Static:常用于過過程中定定義靜態(tài)態(tài)變量,,當(dāng)過程程執(zhí)行完完后其值值不會(huì)被被釋放,將繼續(xù)續(xù)保留以以供下次次調(diào)用本本過程時(shí)時(shí)引用.◆Public:用于定義義公用變變量(全全局變量量),該該變量在在整個(gè)程程序中均均有效,可被應(yīng)應(yīng)用程序序的所有有過程引引用和訪訪問.⑶變量名的的命名規(guī)規(guī)則:◆變量名不不得以數(shù)數(shù)字開頭頭.如:12a,5SUM等等都是錯(cuò)錯(cuò)誤的.◆變量名的的長度不不得超過過255個(gè)字符符.◆變量名不不得與關(guān)關(guān)鍵字同同名.如如:CONST,Public等均均為非法法變量名名.舉例:DimStrAsString定定義str為為變長字字符型變變量.DimPasswordAsString*6定義義為定長長(6個(gè)個(gè)字符)字符型型變量.StaticNumbAsLong定定義Numb為為長整型型的靜態(tài)態(tài)變量.可演示:在一個(gè)命命令按鈕鈕的事件件過程中中添加如如下代碼碼:PrivateSubCommand1_Click()StaticNumbAsLongNumb=Numb+1Form1.ClsForm1.Print"已單擊擊的次數(shù)數(shù)為:";NumbEndSubPrivateSubForm_Click()EndEndSub下面給出出運(yùn)行的的效果:⑷在過程程內(nèi)部定定義的變變量稱為為“過程程級(jí)變量量”,其其作用域域僅局限限于定定義它的的過程,因此,在不同同的過程程中可使使用同名名的過程程級(jí)變量量.定義義的關(guān)鍵鍵字一般般用Dim或Static.⑸在窗體體、模塊塊的聲明明段聲明明的變量量稱為““模塊級(jí)級(jí)變量””,分為為僅供本本模塊使使用的模模塊級(jí)變變量(用用Private聲明明)和供供所有模模塊使用用的模塊塊級(jí)變量量.⑹變量的的隱性聲聲明:VB允許許不進(jìn)行行數(shù)據(jù)類類型聲明明,而直直接引用用,則此此變量默默認(rèn)的數(shù)數(shù)據(jù)類型型為Variant.單擊窗體體可退出!變體型變變量1.Variant變變量的定定義和其他基基本數(shù)據(jù)據(jù)類型一一樣,用用戶也可可以定義義變體類類型的變變量。Variant變量可可以用普普通數(shù)據(jù)據(jù)類型變變量的格格式定義義,也可可以使用用默認(rèn)定定義。例例如:DimSomeValueAsVariantDimSomeValue都可以把把SomeValue定義義為Variant變變量。。如前所所述,如如果一個(gè)個(gè)變量未未經(jīng)定義義而直接接使用,,則該變變量為variant類型型變量。。在Variant變變量中可可以存放放任何類類型的數(shù)數(shù)據(jù),包包括數(shù)值值、文本本字符串串、日期期和時(shí)間間。向Variant變量賦賦值時(shí)不不必進(jìn)行行任何轉(zhuǎn)轉(zhuǎn)換,VisualBasic自自動(dòng)執(zhí)執(zhí)行必要要的轉(zhuǎn)換換。(1)如如果對(duì)Variant變量進(jìn)進(jìn)行算術(shù)術(shù)運(yùn)算,,則必須須確保變變量中存存放的是是某種形形式的數(shù)數(shù)值,包包括整數(shù)數(shù)、浮點(diǎn)點(diǎn)數(shù)、定定點(diǎn)數(shù)或或可以解解釋為數(shù)數(shù)值的字字符串。。如果Variant變量中中的內(nèi)容容是XYZ90,則不不能對(duì)其其進(jìn)行算算術(shù)運(yùn)算算,因?yàn)闉閄YZ90不不是有效效的數(shù)值值。類似似地,可可以對(duì)““+10”或““-2E3”進(jìn)進(jìn)行算術(shù)術(shù)運(yùn)算,,但不能能對(duì)“123EX”進(jìn)進(jìn)行這種種操作。。(2)運(yùn)運(yùn)算符““+”既既可以用用于數(shù)值值相加,,又可以以用于字字符串連連接(見節(jié)節(jié))。當(dāng)當(dāng)在兩個(gè)個(gè)Variant變量量之間使使用“+”運(yùn)算算時(shí),其其結(jié)果可可能出乎乎意料,,具體結(jié)結(jié)果取決決于兩個(gè)個(gè)變量中中的內(nèi)容容。為了了避免出出現(xiàn)這種種情況,,在進(jìn)行行字符串串連接時(shí)時(shí),最好好使用運(yùn)運(yùn)算符““&”。。Variant變量量的使用用十分靈靈活,因因?yàn)樵趯?duì)對(duì)它賦值值時(shí)不必必考慮類類型轉(zhuǎn)換換的問題題。但是是,這種種靈活性性同時(shí)也也帶來一一定的““隱患””,主要要有以下下兩個(gè)方方面:2.Variant變變量值的的內(nèi)部表表示Variant變量的的內(nèi)部表表示與各各種基本本數(shù)據(jù)類類型及時(shí)時(shí)間/日日期類型型相對(duì)應(yīng)應(yīng),見表表2-2。符號(hào)常量量值內(nèi)部表示示V_EMPTY0EmptyV_NULL1NullV_INTEGER2IntegerV_LONG3LongV_SINGLE4SingleV_DOUBLE5DoubleV_CURRENCY6CurrencyV_DATE7Date/TimeV_STRING8StringV_OLE9OLEAutomationObjectV_ERROR10ErrorV_BOOLEAN11BooleanV_VARIANT12Variant(僅用于變變體數(shù)組組)V_OBJECT13Object(非OLE自動(dòng)化對(duì)對(duì)象)V_BYTE17ByteV_ARRAY8192Array3.Variant變變量中的的數(shù)值在Variant變變量中存存放數(shù)值值時(shí),VisualBasic以以盡量緊緊湊的方方式存儲(chǔ)儲(chǔ)。如果果是較小小的整數(shù)數(shù),則以以Integer類類型存存儲(chǔ),而而較大的的或帶有有小數(shù)部部分的數(shù)數(shù)值則用用Long類類型或或Double類型存存儲(chǔ)。如果需要要用指定定的類型型來存儲(chǔ)儲(chǔ)Variant變變量的值值,則必必須用類類型轉(zhuǎn)換換函數(shù)((見2.4.3節(jié))轉(zhuǎn)轉(zhuǎn)換。例例如,用用下面的的語句可可以把Variant轉(zhuǎn)轉(zhuǎn)換為Currency類類型的的值。PayperWeek=Ccur(Hours*Hourlypay)這里的Ccur是類型轉(zhuǎn)轉(zhuǎn)換函數(shù)。如果Variant變量量中存放的不不是數(shù)值或可可以解釋為數(shù)數(shù)值的內(nèi)容((日期/時(shí)間間或含有數(shù)字字的字符串)),則對(duì)其進(jìn)進(jìn)行算術(shù)運(yùn)算算或函數(shù)運(yùn)算算時(shí)會(huì)發(fā)生錯(cuò)錯(cuò)誤。因此,,應(yīng)當(dāng)在運(yùn)算算前對(duì)Variant變變量中的值值進(jìn)行判斷,,這可以通過過IsNumeric函數(shù)來實(shí)實(shí)現(xiàn)。例如::IfIsNumeric(X)ThenX=X+5上述語句的含含義是:如果果Variant變量X是一個(gè)數(shù)值值,則執(zhí)行X=X+5。。4.Variant變量量中的字符串串在對(duì)存放字符符串的Variant變量進(jìn)行行操作時(shí)可能能會(huì)產(chǎn)生歧義義,當(dāng)用“+”運(yùn)算符對(duì)對(duì)兩個(gè)Variant變變量進(jìn)行運(yùn)算算時(shí),如果兩兩個(gè)變量都是是數(shù)值,則執(zhí)執(zhí)行數(shù)值相加加運(yùn)算;如果果兩個(gè)變量中中存放的都是是字符串,則則執(zhí)行字符串串連接操作。。如果一個(gè)變變量中是數(shù)值值而另一個(gè)變變量中是字符符串,則情況況就復(fù)雜了。。VisualBasic先試試著將字符串串轉(zhuǎn)換為數(shù)值值,如果轉(zhuǎn)換換成功則進(jìn)行行相加運(yùn)算,,不成功則把把另一個(gè)數(shù)值值轉(zhuǎn)換成字符符串,然后對(duì)對(duì)兩個(gè)字符串串進(jìn)行連接,,形成一個(gè)新新的字符串。。為了避免出現(xiàn)現(xiàn)上述情況,,最好對(duì)數(shù)值值運(yùn)算使用““+”運(yùn)算符符,而對(duì)字符符串連接使用用“&”運(yùn)算算符。5.Variant變量量中的空值((Empty)Variant變量在被被賦值前為空空值(內(nèi)部表表示為Empty或或0),它不不同于數(shù)值,,不同于空空字符串(““”),也不不同于Null(見下下)。通過Isempty函數(shù)可可以測(cè)試一個(gè)個(gè)變量自建立立以來是否被被賦過值。例例如:ifIsEmpty(Z)ThenZ=0當(dāng)一個(gè)Variant變變量為空值值時(shí),可以用用在表達(dá)式中中,VisualBasic將將根據(jù)具體情情況將其解釋釋為數(shù)值0或或空字符串。。如果將一個(gè)個(gè)空值Variant變量賦給給一個(gè)非空值值Variant變變量,則使后后者變?yōu)榭罩抵?。一旦Variant變變量被賦值值,空值即不不復(fù)存在。6.Variant變量量中的Null值Variant變量可以以取一個(gè)特殊殊值Null,該值通常常在數(shù)據(jù)庫應(yīng)應(yīng)用程序中用用來指出未完完成或漏掉的的數(shù)據(jù)。Null值具具有以下一些些特性:(1)漫延性性。如果表達(dá)達(dá)式中任一部部分為Null,則整個(gè)個(gè)表達(dá)式的值值即為Null。(2)如果向向函數(shù)傳送Null、、值為Null的Variant變變量或結(jié)果果為Null的表達(dá)式,,則會(huì)使大多多數(shù)函數(shù)返回回Null值值。(3)Null值會(huì)在返返回Variant變量量的內(nèi)部函數(shù)數(shù)中漫延。通過IsNull函數(shù)可可以判斷一個(gè)個(gè)Variant變量的的值是否為Null。Null只適適用于Variant變變量。如果把把Null值值賦給其他非非Variant變變量,則會(huì)產(chǎn)產(chǎn)生錯(cuò)誤。對(duì)對(duì)于Variant變量量,如果不是是顯式地賦予予Null值值,該變量不不會(huì)自動(dòng)為Null。因因此,如果程程序中沒有出出現(xiàn)關(guān)鍵字Null,則則對(duì)Null值的檢測(cè)和和處理將是多多余的。以上介紹了Variant變量的用用法。總的來來看,Variant變變量的使用十十分靈活,也也有一些特殊殊的作用,但但有可能產(chǎn)生生歧義或帶來來麻煩,初學(xué)學(xué)者應(yīng)慎用。。2.3VisualBasic中的運(yùn)算符符和表達(dá)式運(yùn)運(yùn)算符1.算術(shù)運(yùn)算算符:VB中提供了了8種數(shù)學(xué)運(yùn)運(yùn)算符:優(yōu)先順序2.字符連接接運(yùn)算符:字符連接運(yùn)算算用于將兩個(gè)個(gè)字符型表達(dá)達(dá)式連接生成成一個(gè)新字符符串.它有““+”和“&”兩種運(yùn)算算符.㈠“+”運(yùn)算算符:將兩個(gè)個(gè)字符串連接接生成一個(gè)新新字符串.例如:a=“123“:b=“abcd”:Printa+b將輸出:123abcd㈡“&”運(yùn)運(yùn)算符:將兩兩個(gè)表達(dá)式強(qiáng)強(qiáng)制性地按字字符串類型連連接生成一個(gè)個(gè)新字符串,被連接的表表達(dá)式可以是是數(shù)值型或變變體型的.例如:a=1032:Print““NO.””&a輸輸出:NO.10323.關(guān)系運(yùn)算算符:用于比較兩個(gè)個(gè)表達(dá)式的大大小,其運(yùn)算算結(jié)果為一邏邏輯值,Ture(真)或False(假).VB中提供供了六種關(guān)系系運(yùn)算符,它它們是:=(等于)、<>(不等于)、>(大大于)、<(小于)、>=(大于于或等于)、<=(小于或等等于)舉例:?5>3,“VB”<=““VisualB””,“78”<>78,32-8=24結(jié)果為:TrueTrueFalseTrue4.邏輯運(yùn)運(yùn)算符:邏輯運(yùn)算的的結(jié)果值也也只有兩個(gè)個(gè):Ture(真)或False(假假).它有有六種運(yùn)算算符,常用用的僅三種種:NOT,AND和OR.例:Nottrue6>2and4>39>10and2>3優(yōu)先順序2.3.2表達(dá)式式1.表達(dá)式式:由常量、變變量、各種種運(yùn)算符、、函數(shù)和括括號(hào)連接而而成的有意意義的式子子就稱為表表達(dá)式。VisualBasic有有六種表達(dá)達(dá)式:算術(shù)術(shù)表達(dá)式、、字符串表表達(dá)式、關(guān)關(guān)系表達(dá)式式、布爾表表達(dá)式、日日期表達(dá)式式和對(duì)象表表達(dá)式。VisualBasic是根據(jù)表表達(dá)式的運(yùn)運(yùn)算符和運(yùn)運(yùn)算結(jié)果來來確定表達(dá)達(dá)式的類型型的。(1)算術(shù)術(shù)表達(dá)式::算術(shù)表達(dá)式式也稱數(shù)值值型表達(dá)式式,由算術(shù)術(shù)運(yùn)算符、、數(shù)值型常常量、變量量、函數(shù)和和圓括號(hào)組組成,其運(yùn)運(yùn)算結(jié)果為為一算術(shù)值值。例如:((8+(7*9-13)/5)/9)^2該表達(dá)式是是由算術(shù)運(yùn)運(yùn)算符組成成的式子,,其運(yùn)算結(jié)結(jié)果仍為一一算術(shù)值4。算術(shù)表達(dá)式式與數(shù)學(xué)中中的表達(dá)式式寫法有所所區(qū)別,在在書寫表達(dá)達(dá)式時(shí)應(yīng)當(dāng)當(dāng)特別注意意:◆每個(gè)符號(hào)占占1格,所所有符號(hào)都都必須一個(gè)個(gè)一個(gè)并排排寫在同一一橫線上,,不能在右右上角或右右下角寫方方次或下標(biāo)標(biāo)。例如::23要寫寫成2^3,x1+x2要寫寫成x1+x2?!粼瓉碓跀?shù)學(xué)學(xué)表達(dá)式中中省略的內(nèi)內(nèi)容必須重重新寫上。。例如:2x要寫成成2*x。?!羲欣ㄌ?hào)都都用小括號(hào)號(hào)(),括括號(hào)必須配配對(duì)。例如如:3[x+2(y+z)]必須寫成成3*(x+2*(y+z))。要把數(shù)學(xué)表表達(dá)式中的的有些符號(hào)號(hào),改成VisualBasic中中可以表示示的符號(hào)。。例如:要要把2πr改成2*pi*r。(2)字符符串表達(dá)式式:一個(gè)字符串串表達(dá)式由由字符串常常量、字符符串變量、、字符串函函數(shù)和字符符串運(yùn)算符符組成。它它可以是一一個(gè)簡單的的字符串常常量,也可可以是若干干個(gè)字符串串常量或字字符串變量量的組合。。例如:“我們愛中中國”&“的山山山水水,,”&““何時(shí)才才能暢游一一番?”該表達(dá)式是是由字符串串運(yùn)算符&連接起來來的式子,,其運(yùn)算結(jié)結(jié)果仍為一一字符串””我們愛中中國的山山山水水,何何時(shí)才能暢暢游一番?(3)關(guān)系系表達(dá)式::關(guān)系型表達(dá)達(dá)式由關(guān)系系運(yùn)算符、、數(shù)值表達(dá)達(dá)式、字符符串表達(dá)式式,也可以以是作為表表達(dá)式特例例的常量、、變量、函函數(shù)組成,,但關(guān)系運(yùn)運(yùn)算符兩側(cè)側(cè)的數(shù)據(jù)類類型必須完完全一致。。關(guān)系運(yùn)算算的結(jié)果為為Boolean類類型的值,,只有True(真真)或False((假)兩個(gè)個(gè)可能。關(guān)關(guān)系型表達(dá)達(dá)式的格式式為:<表達(dá)式1><關(guān)關(guān)系運(yùn)算符符><表表達(dá)式2>例如:2*3+6<=(7+2)/3(4)布爾爾表達(dá)式::布爾表達(dá)式式由關(guān)系表表達(dá)式、布布爾運(yùn)算符符、布爾常常量、布爾爾變量和函函數(shù)組成。。一般格式式為:<關(guān)系表達(dá)達(dá)式1><布爾運(yùn)運(yùn)算符><關(guān)系表表達(dá)式2>例如:2<3and7>8該表達(dá)式是是由布爾運(yùn)運(yùn)算符連接接起來的關(guān)關(guān)系表達(dá)式式,先進(jìn)行行兩側(cè)的關(guān)關(guān)系運(yùn)算后后,再進(jìn)行行and運(yùn)運(yùn)算,其其結(jié)果仍為為布爾型數(shù)數(shù)據(jù),即False。(5)日期期表達(dá)式::日期型表達(dá)達(dá)式由算術(shù)術(shù)運(yùn)算符““+、-””、算術(shù)表表達(dá)式、日日期型常量量、內(nèi)存變變量和函數(shù)數(shù)組成。日日期型數(shù)據(jù)據(jù)是一種特特殊的數(shù)值值型數(shù)據(jù),,它們之間間只能進(jìn)行行加“+””、減“-”運(yùn)算。。有下面三三種情況::◆兩個(gè)日期型型數(shù)據(jù)可以以相減,結(jié)結(jié)果是一個(gè)個(gè)數(shù)值型數(shù)數(shù)據(jù)(兩個(gè)個(gè)日期相差差的天數(shù)))。例如::#12/19/1999#——#11/16/1999#‘結(jié)結(jié)果為數(shù)值值型數(shù)據(jù)::33◆一個(gè)表示天天數(shù)的數(shù)值值型數(shù)據(jù)可可加到日期期型數(shù)據(jù)中中,其結(jié)果果仍然為一一日期型數(shù)數(shù)據(jù)(向后后推算日期期)。例如如:#11/16/1999#+33‘‘結(jié)果為為日期型數(shù)數(shù)據(jù):#99-12-19#◆一個(gè)表示天天數(shù)的數(shù)值值型數(shù)據(jù)可可從日期型型數(shù)據(jù)中減減掉它,其其結(jié)果仍然然為一日期期型數(shù)據(jù)((向前推算算日期)。。例如:#12/19/1999#-33‘結(jié)結(jié)果為日期期型數(shù)據(jù)::#99-11-16#(6)對(duì)象象表達(dá)式::對(duì)象運(yùn)算實(shí)實(shí)際就是對(duì)對(duì)象屬性的的運(yùn)算,根根據(jù)對(duì)象屬屬性所具有有的數(shù)據(jù)類類型,可以以進(jìn)行算術(shù)術(shù)、字符、、邏輯等運(yùn)運(yùn)算。例如:Text1.Text&””輸入一一個(gè)值”該對(duì)象表達(dá)達(dá)式是對(duì)對(duì)對(duì)象的Text屬屬性進(jìn)行字字符運(yùn)算。。2.表達(dá)式式中各種運(yùn)運(yùn)算的優(yōu)先先順序是::括號(hào)→函數(shù)數(shù)→算術(shù)運(yùn)運(yùn)算符→字字符連接運(yùn)運(yùn)算符→關(guān)系運(yùn)算算符→邏輯輯運(yùn)算符例:當(dāng)A=1:B=2:C=3:DS=““A”:CS=“a”時(shí),寫寫出以下語語句的輸出出結(jié)果:?(A+B<=CORDS<=CS)ANDDS+CS<"AA"結(jié)果:False?A+B<=CORDS<=CSANDDS+CS<"AA"結(jié)果:True2.4VisualBasic的的內(nèi)部函數(shù)數(shù)1.數(shù)學(xué)函函數(shù):㈠三角函數(shù)數(shù):Sin(x)、Cos(x)和Tan(x):正弦、余余弦和正切切,其中x必須用弧弧度作單位位.Atn(x):其中x為為數(shù)值,結(jié)結(jié)果值為角角的弧度單單位.㈡絕對(duì)值函函數(shù):Abs(x):給出出數(shù)值x的的絕對(duì)值.例如:Abs(-3.14)其值值為:3.14㈢符號(hào)函數(shù)數(shù):Sgn(x):給出出數(shù)值x的的符號(hào)值.當(dāng)x<0時(shí)時(shí),函數(shù)值值為:-1;當(dāng)x=0時(shí),函函數(shù)值為:0;當(dāng)x>0時(shí),函數(shù)值為為:1;㈣平方根函函數(shù):Sqr(x)返回x的算術(shù)平平方根.例例如:Sqr(6.8)返回回:2.60768㈤指數(shù)與對(duì)對(duì)數(shù)函數(shù):Exp(x):返回回以e為底底的指數(shù)函函數(shù)ex的值.e=2.71828……Log(x):返回回自然對(duì)數(shù)數(shù)函數(shù)lnx的值.2.字符串串函數(shù):設(shè)c=“123456789”,c1=“ABCDEFG”,c2=“abc””3.常用轉(zhuǎn)轉(zhuǎn)換函數(shù):設(shè)c=“12.3AbCd””函數(shù)名說明舉例結(jié)果Asc(c)C的首字符轉(zhuǎn)換成ASCII碼值A(chǔ)sc(“B”)66Chr(n)ASCII碼值轉(zhuǎn)換成字符Chr(65)“A”Fix(n)n截去小數(shù)取整Fix(-2.34)-2Int(n)取不大于n的最大整數(shù)(左取)Int(-2.34)-3Hex(n)十進(jìn)制數(shù)n轉(zhuǎn)換成十六進(jìn)制數(shù)Hex(3482)D9AOct(n)十進(jìn)制數(shù)n轉(zhuǎn)換成八進(jìn)制數(shù)Oct(888)1570LCase(c)大寫字母轉(zhuǎn)換成小寫字母LCase(c)12.3abcdUCase(c)小寫字母轉(zhuǎn)換成大寫字母UCase(c)12.3ABCDStr(n)數(shù)值n轉(zhuǎn)換成字符串Str(1.23)“1.23”Val(c)數(shù)字字符串c轉(zhuǎn)換成數(shù)值Val(c)1.23Cint(x)將x的小數(shù)部分四舍五入,轉(zhuǎn)換為整數(shù)CInt(2.56)3Ccur(x)把x的值轉(zhuǎn)換為貨幣類型值,小數(shù)部分最多保留四位且自動(dòng)四舍五入CCur(2.565693)2.5657CDbl(x)把x值轉(zhuǎn)換為雙精度數(shù)CDbl(2.565693)2.565693CLng(x)把x的小數(shù)部分四舍五入轉(zhuǎn)換為長整型數(shù)CLng(2.56)3CSng(x)把x值轉(zhuǎn)換為單精度數(shù)CSng(2.562236699)2.562237CVar(x)把x值轉(zhuǎn)換為變體類型值
4.日期/時(shí)間函數(shù)數(shù):在VB中提提供了一個(gè)個(gè)變體型的的內(nèi)部變量量Now,該變量保保存有系統(tǒng)統(tǒng)的當(dāng)前日日期和時(shí)間間.為了獲獲得當(dāng)前時(shí)時(shí)間,系統(tǒng)統(tǒng)還提供了了內(nèi)部變量量Timer.例如:?Now,timer00-2-613:05:4947149.63(代表表從從午午夜夜起起已已過過的的秒秒數(shù)數(shù))設(shè):d=#2/21/2000#函數(shù)名說明舉例結(jié)果Time[()]返回系統(tǒng)時(shí)間Time13:27:19Date[()]返回系統(tǒng)日期Date()00-2-6Year(d)返回d的年號(hào)Year(d)2000Month(d)返回d的月份號(hào)Month(d)2Day(d)返回d的日期號(hào)Day(d)21WeekDay(d)返回d的星期號(hào)WeekDay(d)2Hour(d)返回d的小時(shí)Hour(d)21Minute(d)返回d的分鐘Minute(d)11Second(d)返回d的秒Second(d)0注:可以以用用Date/Time設(shè)設(shè)置置系系統(tǒng)統(tǒng)日日期期/時(shí)時(shí)間間,格格式式為為:Date=#月月/日日/年年#例如如:Date=#3/25/2000#Time=#時(shí)時(shí):分分:秒秒AM|PM#例如如:Time=#8:30:20AM#5.隨隨機(jī)機(jī)數(shù)數(shù)函函數(shù)數(shù):Rnd(n),產(chǎn)產(chǎn)生生一一個(gè)個(gè)區(qū)區(qū)間間(0,1)內(nèi)內(nèi)的的隨隨機(jī)機(jī)浮浮點(diǎn)點(diǎn)數(shù)數(shù).隨機(jī)機(jī)數(shù)數(shù)函函數(shù)數(shù)和和語語句句::函數(shù)和語句說明Randomize語句產(chǎn)生隨機(jī)數(shù)種子Rnd函數(shù)產(chǎn)生0~1之間的隨機(jī)數(shù)當(dāng)n>0時(shí)時(shí),每每次次產(chǎn)產(chǎn)生生的的隨隨機(jī)機(jī)數(shù)數(shù)都都不不同同(要要先先初初始始化化隨隨機(jī)機(jī)數(shù)數(shù)發(fā)發(fā)生生器器);當(dāng)n=0時(shí)時(shí),產(chǎn)產(chǎn)生生的的隨隨機(jī)機(jī)數(shù)數(shù)與與上上次次的的相相同同;當(dāng)n<0時(shí)時(shí),每每次次產(chǎn)產(chǎn)生生的的隨隨機(jī)機(jī)數(shù)數(shù)都都相相同同.舉例例:randomize(timer)?rnd(1),rnd(0),rnd(-1),rnd(0)?rnd(1),rnd(-1),rnd(0)其中中Randomize為為隨隨機(jī)機(jī)數(shù)數(shù)發(fā)發(fā)生生器器初初始始化化語語句句,用用Timer值值作作種種子子數(shù)數(shù).產(chǎn)生生隨隨機(jī)機(jī)整整數(shù)數(shù)的的技技巧巧:⑴Int(rnd*整整數(shù)數(shù)n):產(chǎn)產(chǎn)生生0,1,……,n-1中中的的一一個(gè)個(gè)隨隨機(jī)機(jī)整整數(shù)數(shù).⑵Int(rnd*整整數(shù)數(shù)n)+1:產(chǎn)產(chǎn)生生1,2,……,n中中的的一一個(gè)個(gè)隨隨機(jī)機(jī)整整數(shù)數(shù).⑶Int(Rnd*90)+10:產(chǎn)產(chǎn)生生一一個(gè)個(gè)兩兩位位的的隨隨機(jī)機(jī)整整數(shù)數(shù).⑷Chr(Int(Rnd*26)+65):隨隨機(jī)機(jī)產(chǎn)產(chǎn)生生一一個(gè)個(gè)大大寫寫英英文文字字母母.⑸Chr(Int(Rnd*26)+97):隨隨機(jī)機(jī)產(chǎn)產(chǎn)生生一一個(gè)個(gè)小小寫寫英英文文字字母母.6.格格式式輸輸出出函函數(shù)數(shù)用格格式式輸輸出出函函數(shù)數(shù)Format()可可以以使使數(shù)數(shù)值值型型、、日日期期型型和和字字符符型型的的數(shù)數(shù)據(jù)據(jù)按按指指定定的的格格式式輸輸出出,,該該函函數(shù)數(shù)的的使使用用格格式式如如下下::Format(<表表達(dá)達(dá)式式>,<格格式式字字符符串串>)其中中::<表表達(dá)達(dá)式式>::可可以以是是常常量量或或表表達(dá)達(dá)式式。。<格格式式字字符符串串>::可可以以是是串串常常量量或或串串變變量量,,一一般般由由專專用用的的格格式式說說明明符符組組成成,,常常用用的的格格式式說說明明符符見見下下表表::格式說明符作用#數(shù)字占位符,顯示一個(gè)數(shù)字或什么都不顯示,前后不補(bǔ)0。0數(shù)字占位符,顯示一個(gè)數(shù)字,前后補(bǔ)0。.小數(shù)點(diǎn)占位符。,千位分隔符占位符。%百分比號(hào)占位符,表達(dá)式的值自動(dòng)乘以100。$美圓號(hào)占位符,常用于數(shù)值的首位。+-正、負(fù)號(hào)占位符。E+E-指數(shù)符號(hào)占位符。@字符占位符,顯示字符或顯示空白。ttttt用5個(gè)”t”表示將時(shí)間按完整的時(shí)、分、秒格式顯示。dddddd用6個(gè)”d”表示將日期按年、月、日的格式顯示。<將表達(dá)式中的大寫字母轉(zhuǎn)換為小寫字母顯示>將表達(dá)式中的小寫字母轉(zhuǎn)換為大寫字母顯示說明明::①#表表示示數(shù)數(shù)字字占占位位符符,,格格式式串串內(nèi)內(nèi)””#””號(hào)號(hào)的的個(gè)個(gè)數(shù)數(shù)決決定定了了顯顯示示串串的的長長度
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ùn)營管理制度
- 公司運(yùn)營管理上層制度
- 集團(tuán)運(yùn)營體系管理制度
- 信用社內(nèi)控運(yùn)營制度匯編
- 老年人餐廳運(yùn)營管理制度
- 店長運(yùn)營管理制度
- 人工濕地運(yùn)營各項(xiàng)制度
- 環(huán)衛(wèi)制度及運(yùn)營流程
- 公司運(yùn)營流程及管理制度
- 京東運(yùn)營部門制度規(guī)范
- 混凝土施工作業(yè)環(huán)境管理方案
- 2025年四川省成都市武侯區(qū)中考物理二診試卷
- 光纖線路架設(shè)施工方案
- 2025年監(jiān)理工程師市政公用工程繼續(xù)教育考試題及答案
- 解讀慢性阻塞性肺病(GOLD)指南(2026)更新要點(diǎn)課件
- 公司職業(yè)病防治宣傳教育培訓(xùn)制度范文
- 消防維保安全保障措施及應(yīng)急預(yù)案
- 校外培訓(xùn)安全提醒五不要課件
- 高齡婦女孕期管理專家共識(shí)(2024版)解讀
- 2025年6月上海市高考語文試題卷(含答案詳解)
- 地下礦山采掘安全培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論