第2章VB語言基礎(chǔ)ok_第1頁
第2章VB語言基礎(chǔ)ok_第2頁
第2章VB語言基礎(chǔ)ok_第3頁
第2章VB語言基礎(chǔ)ok_第4頁
第2章VB語言基礎(chǔ)ok_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

VisualBasic語言基礎(chǔ)

第2章主要內(nèi)容

2.2VisualBasic的基本數(shù)據(jù)類型

2.3常量和變量

2.4運(yùn)算符和表達(dá)式

2.1字符集、標(biāo)識符和關(guān)鍵字

2.5常用內(nèi)部函數(shù)

2.6VisualBasic的編碼規(guī)則

2.1.1字符集

2.1.2標(biāo)識符

2.1字符集、標(biāo)識符和關(guān)鍵字

2.1.3關(guān)鍵字

VB語言的基本元素是指用VB編寫程序時(shí)所能使用的所有符號的集合,稱為VB的字符集。包含字母、數(shù)字和專用字符3類,共89個(gè)字符,即:字母:大寫英文字母A~Z;小寫英文字母a~z。數(shù)字:0~9。專用字符:共27個(gè)。

2.1.1字符集VisualBasic中的專用字符

2.1.1字符集符號說明符號說明%百分號(整型數(shù)據(jù)類型說明符)=等于號(關(guān)系運(yùn)算符、賦值號)&連接號(長整型數(shù)據(jù)類型說明符)(左圓括號!感嘆號(單精度數(shù)據(jù)類型說明符))右圓括號#磅號(雙精度數(shù)據(jù)類型說明符)'單引號

$美元號(字符串?dāng)?shù)據(jù)類型說明符)"雙引號@花a號(貨幣數(shù)據(jù)類型說明符),逗號+加號;分號-減號:冒號*星號(乘號).實(shí)心句號(小數(shù)點(diǎn))/斜杠(除號)?問號\反斜杠(整除號)_下劃線(續(xù)行號)^上箭頭(乘方號)<Space>空格符>大于號<CR>回車鍵<小于號標(biāo)識符是一個(gè)字符序列,用來標(biāo)記變量名、符號常量名、過程或函數(shù)名、控件名及類型名等。在VisualBasic中,對標(biāo)識符進(jìn)行命名必須符合以下語法規(guī)定:

標(biāo)識符必須由字母、數(shù)字、漢字或下劃線_組成。

標(biāo)識符的第一個(gè)字符必須是字母或漢字。

長度不超過255個(gè)字符。

標(biāo)識符不能分行書寫。

標(biāo)識符不能與系統(tǒng)中已定義的關(guān)鍵字同名。使用標(biāo)識符時(shí)應(yīng)注意,VisualBasic中的標(biāo)識符不區(qū)分字母的大小寫。另外為了提高程序的可讀性,在為標(biāo)識符命名時(shí),除了需要符合上述規(guī)則外,最好能夠做到見名知義、易于識別。

2.1.2標(biāo)識符關(guān)鍵字也稱為保留字,是VisualBasic系統(tǒng)預(yù)先定義的、具有特定含義的標(biāo)識符,是語言的組成部分,其中包括預(yù)定義語句、標(biāo)準(zhǔn)過程、函數(shù)、運(yùn)算符和常量等。由于已經(jīng)被系統(tǒng)占用,因此不能再用來命名變量、符號常量及過程等。VisualBasic中關(guān)鍵字的首寫字母為大寫,在代碼編輯窗口輸入關(guān)鍵字時(shí),不論大小寫字母系統(tǒng)都可以識別,并自動(dòng)轉(zhuǎn)換為系統(tǒng)的標(biāo)準(zhǔn)形式。例如Abs、As、Const、Dim、Do、End、Integer、Mod等都是一些常用的關(guān)鍵字,其他關(guān)鍵字可從VisualBasic聯(lián)機(jī)幫助文件中找到。

2.1.3關(guān)鍵字

2.2.1數(shù)值型數(shù)據(jù)

2.2.2字符型數(shù)據(jù)

2.2VisualBasic的基本數(shù)據(jù)類型

2.2.3日期型數(shù)據(jù)

2.2.4邏輯型數(shù)據(jù)

2.2.5對象型數(shù)據(jù)

2.2.6變體型數(shù)據(jù)現(xiàn)實(shí)生活中的數(shù)據(jù)是有類型之分的,例如年齡一般用整數(shù)表示,工資、成績等用帶小數(shù)點(diǎn)的數(shù)描述,姓名由一串中文或英文字符表示,而生日則是一個(gè)由年月日表示的日期。為了在程序設(shè)計(jì)語言中正確表示這些日常生活中所用到的不同的數(shù)據(jù)信息,程序設(shè)計(jì)語言中出現(xiàn)了不同的數(shù)據(jù)類型,比如整型、實(shí)型、字符型、日期型、邏輯型等。不同數(shù)據(jù)類型表示的數(shù)據(jù)的取值范圍、所適用的運(yùn)算不同,在內(nèi)存中所占有的存儲單元數(shù)目也不同。因此,正確地區(qū)分和使用不同的數(shù)據(jù)類型,可以使程序運(yùn)行時(shí)占用較少的內(nèi)存,確保程序運(yùn)行的正確性和可靠性。

VisualBasic具有系統(tǒng)定義的基本數(shù)據(jù)類型,另外,用戶也可以根據(jù)需要自定義新的數(shù)據(jù)類型。關(guān)于數(shù)據(jù)類型

VisualBasic的數(shù)值型數(shù)據(jù)包括整型、浮點(diǎn)型、貨幣型和字節(jié)型數(shù)據(jù)。

1.整型數(shù)據(jù)整型數(shù)據(jù)是不帶小數(shù)點(diǎn)和指數(shù)符號的數(shù),可以帶有正號(+)和負(fù)號(-),在計(jì)算機(jī)內(nèi)部以二級制補(bǔ)碼形式表示。它的運(yùn)算速度快且精確,但數(shù)據(jù)的表示范圍小。整型數(shù)據(jù)的類型分為整型和長整型兩種。

⑴整型:用Integer表示,其類型說明符為%。整型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中占2個(gè)字節(jié),其取值范圍為-32768~32767。

⑵長整型:用Long表示,其類型說明符為&。長整型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中占4個(gè)字節(jié),其取值范圍為-231~231-1(即-2147483648~2147483647)。若某個(gè)數(shù)據(jù)超過了長整型的數(shù)值范圍,則應(yīng)改用浮點(diǎn)型表示。

2.2.1數(shù)值型數(shù)據(jù)

2.浮點(diǎn)型數(shù)據(jù)浮點(diǎn)數(shù)又稱為實(shí)數(shù),是指帶有小數(shù)點(diǎn)或?qū)懗芍笖?shù)形式的數(shù)。浮點(diǎn)數(shù)所表示的數(shù)的范圍較大,但存在誤差,運(yùn)算速度慢。浮點(diǎn)數(shù)的類型分為單精度和雙精度。

⑴單精度:用Single表示,其類型說明符為!。單精度數(shù)在內(nèi)存中占用4個(gè)字節(jié),精度為7位,其表示的數(shù)據(jù)范圍為-3.402823E+38~3.402823E+38。單精度數(shù)可用小數(shù)形式或指數(shù)形式表示,指數(shù)用E或e表示。⑵雙精度:用Double表示,其類型說明符為#。雙精度數(shù)據(jù)在內(nèi)存中占8個(gè)字節(jié),精度為15位,其表示的數(shù)據(jù)范圍為-1.79769313486232D+308~1.79769313486232D+308。雙精度數(shù)也可用小數(shù)形式或指數(shù)形式表示,指數(shù)用D或d表示。

2.2.1數(shù)值型數(shù)據(jù)

3.貨幣型數(shù)據(jù)貨幣類型(Currency)是為表示貨幣值及對貨幣進(jìn)行計(jì)算而設(shè)置的,特點(diǎn)是小數(shù)點(diǎn)前15位和小數(shù)點(diǎn)后4位均為精確計(jì)算,若小數(shù)位數(shù)超過4位,系統(tǒng)則會按四舍五入原則進(jìn)行截取。該類型一般用于財(cái)務(wù)方面的運(yùn)算。貨幣型數(shù)據(jù)在內(nèi)存中占用8個(gè)字節(jié),以定點(diǎn)實(shí)數(shù)或整數(shù)表示,類型說明符為@。例如123.91@、919@均為貨幣型數(shù)據(jù)。

4.字節(jié)型數(shù)據(jù)字節(jié)類型(Byte)數(shù)據(jù)在內(nèi)存占1個(gè)字節(jié),其取值范圍為0~255,一般用于存儲無符號的二進(jìn)制數(shù)。

2.2.1數(shù)值型數(shù)據(jù)字符型(String)數(shù)據(jù)是用雙引號括起來的一串字符,也稱為字符串。構(gòu)成字符串的字符包括所有西文字符和漢字,其中,不包含任何字符的字符串稱為空字符串,表示為""。

注意:⑴字符串兩端的雙引號起字符串的界定作用。當(dāng)輸出一個(gè)字符串時(shí),雙引號不輸出;若運(yùn)行時(shí)需要從鍵盤輸入字符串,也不需要輸入雙引號。⑵字符串長度指的是字符串中包含的字符的個(gè)數(shù),注意VB中一個(gè)漢字被認(rèn)為是一個(gè)字符。VB中的字符串有兩種,分為可變長度字符串與定長字符串。⑶在字符串中包含的字符是區(qū)分大小寫的,因?yàn)橐粋€(gè)字母的大寫形式和小寫形式具有不同的ASCII碼值。如"hebut"與"HEBUT"表示的是兩個(gè)不同的字符串。

2.2.2字符型數(shù)據(jù)日期型(Date)數(shù)據(jù)用來表示日期信息,在內(nèi)存中占8個(gè)字節(jié),日期的表示范圍為公元100年1月1日到9999年12月31日,時(shí)間范圍從0:00:00到23:59:59。日期型數(shù)據(jù)有兩種表示方式:

⑴用#括起來表示

VisualBasic允許使用各種表示日期和時(shí)間的格式,日期可以用“/”、“,”、“-”等符號隔開,順序可以是年、月、日,也可以是月、日、年,時(shí)間必須用“:”分隔,順序是時(shí)、分、秒。⑵用數(shù)字序列表示用數(shù)字序列表示日期型數(shù)據(jù)時(shí),小數(shù)點(diǎn)左邊的值表示日期,小數(shù)點(diǎn)右邊的值表示時(shí)間,午夜為0,中午為0.5,負(fù)數(shù)表示是1899年12月31日以前的日期和時(shí)間。

2.2.3日期型數(shù)據(jù)邏輯型(Boolean)又稱為布爾型,主要用于邏輯判斷。邏輯型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),只有兩個(gè)值:True(邏輯真)和False(邏輯假)。在進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí),如果將邏輯型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型數(shù)據(jù),則True轉(zhuǎn)換為-1,F(xiàn)alse轉(zhuǎn)換為0;若要將其他類型的數(shù)據(jù)轉(zhuǎn)換為邏輯型數(shù)據(jù),非零數(shù)據(jù)轉(zhuǎn)換為True,0轉(zhuǎn)換為False。

2.2.4邏輯型數(shù)據(jù)對象型(Object)數(shù)據(jù)用來表示應(yīng)用程序中的對象,如圖形、OLE對象或其他對象等。對象型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)。

2.2.5對象型數(shù)據(jù)變體類型(Variant)是一種可變的數(shù)據(jù)類型,可以表示所有系統(tǒng)定義的類型的數(shù)據(jù),如數(shù)值、字符串、日期等,具有很大的靈活性。當(dāng)一個(gè)變量未定義類型時(shí),其類型默認(rèn)為變體型,其最終的類型由賦予它的值來確定。在應(yīng)用程序的設(shè)計(jì)過程中,雖然可以用變體類型替換任何數(shù)據(jù)類型,但是,由于類型不明確,如果使用不當(dāng)則容易造成一些不易查找的錯(cuò)誤,并且使用變體類型會增加內(nèi)存空間的占用,因此應(yīng)盡量少用變體類型。變體類型數(shù)據(jù)可以包含一些特殊值,如Empty、Error、Nothing及Null等。使用函數(shù)VarType或TypeName可確定出變體型變量中所保存的數(shù)據(jù)究竟是什么類型。

2.2.6變體型數(shù)據(jù)

2.3.1常量

2.3.2變量

2.3常量和變量在程序運(yùn)行過程中,其值始終保持不變的量稱為常量。VisualBasic語言中常量分為3種:普通常量、符號常量和系統(tǒng)常量。

1.普通常量普通常量也稱為直接常量,從其值即可判斷出類型,也可以從常量后面緊跟的類型說明符得到其類型。普通常量分為數(shù)值型常量、字符型常量、邏輯型常量、日期型常量等。如:123、437&、1.37E3、3.891!、2.095D-5、189.821@等都是數(shù)值型常量,"Welcome"為字符型常量,#2008-8-8#為日期型常量。

2.3.1常量

2.符號常量在程序設(shè)計(jì)時(shí),經(jīng)常會遇到一些多次出現(xiàn)或難于記憶的常量,因此可以定義一個(gè)標(biāo)識符來代替這個(gè)常量,這個(gè)標(biāo)識符就稱為符號常量。在程序中使用符號常量,不僅可以方便書寫,而且增強(qiáng)了程序的可讀性和可維護(hù)性。

VisualBasic中使用關(guān)鍵字Const來聲明符號常量,聲明格式為:

Const符號常量名As類型=表達(dá)式說明:

⑴符號常量名的命名符號常量名的命名規(guī)則與標(biāo)識符的命名規(guī)則相同,為了便于與一般變量名相區(qū)別,符號常量名一般用大寫字母表示。

⑵As類型該選項(xiàng)說明了符號常量的數(shù)據(jù)類型。

⑶表達(dá)式表達(dá)式是由數(shù)值常量、字符串常量以及運(yùn)算符組成的。

2.3.1常量

3.系統(tǒng)常量系統(tǒng)常量是VisualBasic系統(tǒng)預(yù)先定義的常量,可以與應(yīng)用程序的對象、屬性和方法一起使用。系統(tǒng)常量通常以字符vb開頭,例如vbCr表示回車符,vbLf表示換行符,vbCrLf、vbNewLine

均表示回車換行符,vbRed的值為&HFF,表示紅色。系統(tǒng)常量存放在系統(tǒng)的對象庫中,可通過“對象瀏覽器”查看。選擇“視圖”菜單中的“對象瀏覽器”命令,可打開“對象瀏覽器”窗口。在VB和

VBA等對象庫中都列舉了VisualBasic的系統(tǒng)常量。在程序中使用系統(tǒng)常量,可使程序更加容易閱讀和理解,并使程序保持良好的兼容性。例如要在程序中將文本框Text1的前景顏色設(shè)置為紅色,可以使用下面的語句:

Text1.ForeColor=vbRed

2.3.1常量數(shù)據(jù)都是保存在內(nèi)存中的,數(shù)據(jù)的類型不同,占用的內(nèi)存單元數(shù)也不同。為了對保存在內(nèi)存中的數(shù)據(jù)進(jìn)行訪問,可以使用一個(gè)名稱來表示該內(nèi)存空間。這個(gè)有名稱的內(nèi)存空間就稱為變量,每個(gè)變量都有一個(gè)名稱和相應(yīng)的數(shù)據(jù)類型,系統(tǒng)根據(jù)數(shù)據(jù)類型為其分配存儲單元,并確定該變量能進(jìn)行的操作。變量名對應(yīng)的存儲空間中所存儲的數(shù)據(jù)稱為變量的值,這個(gè)值在程序的運(yùn)行過程中可以發(fā)生改變,在程序中通過變量名來引用變量的值。變量名、變量的類型及變量的值稱為變量的三要素。在一些計(jì)算機(jī)語言中,變量在使用前要求必須先進(jìn)行聲明,即聲明變量名及其數(shù)據(jù)類型,以便系統(tǒng)在內(nèi)存中為其分配內(nèi)存單元。在VisualBasic中,允許不聲明變量而直接使用,沒有聲明類型的變量均為變體型變量,由于使用變體型變量浪費(fèi)存儲空間,且容易出錯(cuò),所以應(yīng)盡量避免使用。因此,應(yīng)養(yǎng)成良好的編程習(xí)慣,即“先聲明變量,后使用變量”。

2.3.2變量

1.變量的聲明變量的聲明就是用變量聲明語句來定義變量的類型,語句格式為:

Dim變量名As類型名其中:⑴Dim是用于聲明變量的關(guān)鍵字。⑵變量名是用戶定義的標(biāo)識符,命名時(shí)應(yīng)遵循標(biāo)識符的命名規(guī)則,不能和關(guān)鍵字同名。⑶類型名可以是VisualBasic提供的基本數(shù)據(jù)類型,如Integer、Single、String等,也可以是自定義類型。若省略“As變量名”,則變量的類型為變體型(Variant)。

2.3.2變量

2.變量的默認(rèn)值在VisualBasic中,變量聲明后,根據(jù)數(shù)據(jù)類型的不同變量會有不同的默認(rèn)初值。如數(shù)值型變量的默認(rèn)初值為0;Boolean型變量的默認(rèn)初值為False;String型變量的初值為空;Object類型變量的初值為Nothing;Date類型的變量初值為0:00:00;Variant型的變量初值為Empty。在程序中使用變量的默認(rèn)值有時(shí)會引起一些意想不到的問題,因此建議聲明變量以后,在使用變量之前最好先為其進(jìn)行賦值。

2.3.2變量

3.變量的賦值經(jīng)過聲明后的變量在使用前可以對其進(jìn)行賦值,使變量具有一個(gè)確定的值。為變量賦值的形式為:

變量名=表達(dá)式其中,“=”是賦值號,表示將賦值號右邊表達(dá)式的值賦給賦值號左邊的變量。使用賦值號時(shí)應(yīng)注意:⑴賦值號左邊必須是變量名,而不能是常量或表達(dá)式等。⑵賦值號具有方向性,即只能將賦值號右邊的數(shù)據(jù)賦予賦值號左邊的變量。⑶若賦值號右邊的表達(dá)式的值的類型與賦值號左邊的變量的類型不一致,則要將表達(dá)式的值的類型轉(zhuǎn)換為變量的類型,然后再進(jìn)行賦值。若表達(dá)式為數(shù)字字符串,變量為數(shù)值型,系統(tǒng)會自動(dòng)將數(shù)字字符串轉(zhuǎn)換成數(shù)值型賦予變量。但若表達(dá)式為非數(shù)字字符或空串,則會出現(xiàn)“類型不匹配”的錯(cuò)誤信息提示。

2.3.2變量

2.4.1表達(dá)式

2.4.2運(yùn)算符

2.4運(yùn)算符和表達(dá)式程序中的大部分?jǐn)?shù)據(jù)處理是通過運(yùn)算符和表達(dá)式實(shí)現(xiàn)的。對常量或變量進(jìn)行運(yùn)算或處理的符號稱為運(yùn)算符,參與運(yùn)算的數(shù)據(jù)稱為操作數(shù),用運(yùn)算符將操作數(shù)連接起來就構(gòu)成了表達(dá)式。在VisualBasic中有4種運(yùn)算符:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符和字符串運(yùn)算符,不同的運(yùn)算符其運(yùn)算方法和特點(diǎn)也不同。通過運(yùn)算符和表達(dá)式可以實(shí)現(xiàn)程序編制中所需要的大量操作。

1.表達(dá)式的組成表達(dá)式是由操作數(shù)、運(yùn)算符和圓括號按一定規(guī)則構(gòu)成的式子,其中構(gòu)成表達(dá)式的操作數(shù)可以是常量、變量、函數(shù)或?qū)ο蟮膶傩缘?。表達(dá)式可分為算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式和字符串表達(dá)式,無論是何種表達(dá)式,通過運(yùn)算后總能得到一個(gè)結(jié)果,該運(yùn)算結(jié)果的類型是由操作數(shù)和運(yùn)算符共同決定的。

2.4.1表達(dá)式

2.表達(dá)式的運(yùn)算順序在對表達(dá)式進(jìn)行計(jì)算的過程中,各種運(yùn)算必須按一定的順序依次進(jìn)行,這種運(yùn)算的順序是由運(yùn)算符的優(yōu)先級別決定的。當(dāng)一個(gè)表達(dá)式中出現(xiàn)了多個(gè)不同類型的運(yùn)算符時(shí),優(yōu)先級高的運(yùn)算符將先進(jìn)行運(yùn)算,級別低的后運(yùn)算。在VB中不同類型的運(yùn)算符的優(yōu)先級從高到低依次為:

算術(shù)運(yùn)算符>字符運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符說明:⑴當(dāng)一個(gè)表達(dá)式中同時(shí)出現(xiàn)多種運(yùn)算符時(shí),首先進(jìn)行算術(shù)運(yùn)算,而后進(jìn)行字符運(yùn)算,然后進(jìn)行關(guān)系運(yùn)算,最后進(jìn)行邏輯運(yùn)算。需要注意的是,相同類型的運(yùn)算符也有優(yōu)先級別的高低之分,例如算術(shù)運(yùn)算符中的乘、除的優(yōu)先級別就高于加、減。⑵可以通過增加圓括號來改變表達(dá)式的運(yùn)算順序,括號內(nèi)的運(yùn)算總是優(yōu)先于括號外的計(jì)算。

2.4.1表達(dá)式

3.表達(dá)式的書寫在書寫表達(dá)式時(shí),要按照程序設(shè)計(jì)語言中的表達(dá)式的書寫規(guī)則來書寫,應(yīng)與數(shù)學(xué)表達(dá)式區(qū)分開。在書寫VisualBasic表達(dá)式時(shí),應(yīng)注意以下幾點(diǎn):⑴乘號不能省略。⑵括號可以改變運(yùn)算順序,但是括號必須成對出現(xiàn),而且只能使用圓括號,在表達(dá)式中可以出現(xiàn)多個(gè)圓括號,但是必須配對使用。⑶表達(dá)式中沒有上標(biāo)或下標(biāo),也沒有分式,應(yīng)從左到右在同一行上并排書寫。⑷數(shù)學(xué)表達(dá)式中的某些符號,要使用其他符號或數(shù)值代替。例如對數(shù)學(xué)表達(dá)式2πr,若要寫成VisualBasic的表達(dá)式應(yīng)為:2*3.14*r。

2.4.1表達(dá)式

1.算術(shù)運(yùn)算符算術(shù)運(yùn)算符用于對數(shù)值型數(shù)據(jù)進(jìn)行各種算術(shù)運(yùn)算,是VisualBasic中最常使用的一類運(yùn)算符,算術(shù)運(yùn)算符如下表

2.4.2運(yùn)算符運(yùn)算符功能優(yōu)先級示例結(jié)果^乘方15^3125-負(fù)號2-5+3-2乘35*315/除35/22.5\整除45\22Mod取余55Mod32+加65+38-減65-32算術(shù)運(yùn)算符的說明:⑴當(dāng)表達(dá)式中出現(xiàn)了多種算術(shù)運(yùn)算符時(shí),應(yīng)按照運(yùn)算符優(yōu)先級從高到低的順序計(jì)算。若優(yōu)先級別相同,則按照從左到右的順序計(jì)算。⑵當(dāng)算術(shù)運(yùn)算符兩邊的操作數(shù)的類型不同時(shí),運(yùn)算結(jié)果的類型以精度高的數(shù)據(jù)類型為準(zhǔn),即:

Integer<Long<Single<Double<Currency⑶當(dāng)算術(shù)運(yùn)算符兩邊的操作數(shù)是數(shù)字字符串或邏輯值時(shí),系統(tǒng)會自動(dòng)將其轉(zhuǎn)換為數(shù)值型再進(jìn)行計(jì)算。例如,表達(dá)式

10+True+"100"的值為109。

2.4.2運(yùn)算符

2.關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符是用來比較兩個(gè)操作數(shù)之間的關(guān)系的運(yùn)算符,由關(guān)系運(yùn)算符和操作數(shù)組成的表達(dá)式叫做關(guān)系表達(dá)式,其運(yùn)算結(jié)果為一個(gè)邏輯值(True或False)。如果關(guān)系成立,結(jié)果為True(真),如果關(guān)系不成立,結(jié)果為False(假)。另外,任何非0值都可以被認(rèn)為是True。

2.4.2運(yùn)算符關(guān)系運(yùn)算符及示例

2.4.2運(yùn)算符運(yùn)算符功能例子結(jié)果>大于"1234">"129"False>=大于等于"ABC">="abc"False<小于34<67True<=小于等于"23"<="3"True=等于150=150True<>不等于"xyz"<>"XYZ"TrueLike字符串匹配"aBBBa"Like"a*a"TrueIs對象比較關(guān)系運(yùn)算符的說明:⑴關(guān)系運(yùn)算符的優(yōu)先級相同。⑵當(dāng)兩個(gè)操作數(shù)均為數(shù)值型時(shí),按數(shù)值的大小進(jìn)行比較。⑶當(dāng)兩個(gè)操作數(shù)均為字符型時(shí),則按字符的ASCII碼值從左到右逐個(gè)比較,若第一個(gè)字符相同,則比較第二個(gè)字符,依次類推,直到比較出大小為止。⑷當(dāng)兩個(gè)操作數(shù)中一個(gè)是數(shù)值型,另一個(gè)是可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較時(shí),按照數(shù)值大小進(jìn)行比較。⑸數(shù)值型與不能轉(zhuǎn)換為數(shù)值的字符型數(shù)據(jù)不能進(jìn)行比較。⑹不要對兩個(gè)實(shí)型數(shù)據(jù)進(jìn)行相等或不相等的比較,因?yàn)閷?shí)型數(shù)據(jù)在計(jì)算或存儲過程中出現(xiàn)的誤差使本應(yīng)該相等的兩個(gè)數(shù)在計(jì)算機(jī)中卻不相等。⑺要注意區(qū)分關(guān)系運(yùn)算符中的等于號“=”與賦值號“=”,兩者的作用不同。⑻Is和Like運(yùn)算符具有特定的比較功能,它們不同于其他的關(guān)系運(yùn)算符。

2.4.2運(yùn)算符

3.邏輯運(yùn)算符與邏輯表達(dá)式

VB提供了六種邏輯運(yùn)算符,邏輯運(yùn)算符的功能是將操作數(shù)進(jìn)行邏輯運(yùn)算(又稱為“布爾”運(yùn)算),運(yùn)算結(jié)果為邏輯值(True或False)。

2.4.2運(yùn)算符運(yùn)算符功能優(yōu)先級說明示例結(jié)果Not邏輯非1當(dāng)操作數(shù)為真時(shí),結(jié)果為假NotTrueFalseAnd邏輯與2兩個(gè)操作數(shù)都為真時(shí),結(jié)果為真FalseAndTrueFalseOr邏輯或3兩個(gè)操作數(shù)有一個(gè)為真時(shí),結(jié)果為真FalseOrFalseFalseXor異或3兩個(gè)操作數(shù)邏輯值相反時(shí),結(jié)果為真TrueXorFalseTrueEqv邏輯等價(jià)4兩個(gè)操作數(shù)邏輯值相同時(shí),結(jié)果為真TrueEqvTrueTrueImp蘊(yùn)含5只有第一個(gè)操作數(shù)邏輯值為真,第二個(gè)操作數(shù)邏輯值為假時(shí),結(jié)果才為假,其余結(jié)果為真TrueImpFalseFalse邏輯運(yùn)算符及示例邏輯運(yùn)算符的說明:

(1)VisualBasic中使用最多的邏輯運(yùn)算符是Not、And、Or,它們可以連接多個(gè)關(guān)系表達(dá)式進(jìn)行邏輯運(yùn)算。

(2)參加邏輯運(yùn)算的操作數(shù)一般應(yīng)該是邏輯型數(shù)據(jù),如果操作數(shù)是數(shù)值量,則以數(shù)字的二進(jìn)制值逐位進(jìn)行邏輯運(yùn)算。

(3)邏輯運(yùn)算符有不同的優(yōu)先級,Not的優(yōu)先級最高,其余依次為And、Or、Xor、Eqv,優(yōu)先級最低的是Imp。

2.4.2運(yùn)算符

4.字符串運(yùn)算符與字符串表達(dá)式字符串運(yùn)算符有兩個(gè):“+”和“&”,它們的作用都是將兩個(gè)字符串連接起來,合并為一個(gè)字符串。

2.4.2運(yùn)算符運(yùn)算符功能示例結(jié)果&連接兩個(gè)字符串"Visual"&"Basic""VisualBasic"+"10"+"20""1020"字符串運(yùn)算符及示例字符串運(yùn)算符的說明:

⑴連接運(yùn)算符“&”的使用不論“&”兩邊的操作數(shù)為何種數(shù)據(jù)類型,系統(tǒng)都會將兩個(gè)操作數(shù)強(qiáng)制轉(zhuǎn)換為字符串,然后進(jìn)行連接。

⑵連接運(yùn)算符“+”的使用當(dāng)“+”號兩邊的操作數(shù)均為字符型時(shí),進(jìn)行字符串的連接運(yùn)算;當(dāng)“+”號兩邊的操作數(shù)均為數(shù)值型時(shí),進(jìn)行算術(shù)加法運(yùn)算;當(dāng)一個(gè)操作數(shù)的類型為數(shù)值型,另一個(gè)為數(shù)字字符型時(shí),VisualBasic自動(dòng)將數(shù)字字符轉(zhuǎn)換為數(shù)值型,而后進(jìn)行算術(shù)加法運(yùn)算;當(dāng)一個(gè)操作數(shù)的類型為數(shù)值型,另一個(gè)為非數(shù)字字符型時(shí),則會出錯(cuò)。

2.4.2運(yùn)算符

2.5.1數(shù)學(xué)函數(shù)

2.5.2轉(zhuǎn)換函數(shù)

2.5常用內(nèi)部函數(shù)

2.5.3字符串函數(shù)

2.5.4日期和時(shí)間函數(shù)

2.5.5Shell函數(shù)

VisualBasic語言提供了大量的內(nèi)部函數(shù),用戶可以直接調(diào)用它們。內(nèi)部函數(shù)又叫做標(biāo)準(zhǔn)函數(shù),是VisualBasic中預(yù)先定義好的完成某一特定功能的函數(shù),通常帶有一個(gè)或幾個(gè)參數(shù),并返回一個(gè)值。除了內(nèi)部函數(shù)外,用戶也可以根據(jù)需要自己定義函數(shù),這部分內(nèi)容將在第五章中詳細(xì)介紹。在使用內(nèi)部函數(shù)時(shí),要掌握函數(shù)的功能、函數(shù)的調(diào)用形式、函數(shù)的參數(shù)以及函數(shù)的返回值。函數(shù)的一般調(diào)用形式為:

函數(shù)名(參數(shù)列表)

說明:⑴函數(shù)的參數(shù)可以是變量、常量或表達(dá)式,若有多個(gè)參數(shù),參數(shù)之間用逗號隔開。⑵若函數(shù)無參數(shù),函數(shù)名后的括號可省略。

VisualBasic的內(nèi)部函數(shù)包括數(shù)學(xué)函數(shù)、字符串函數(shù)、轉(zhuǎn)換函數(shù)、日期函數(shù)等。數(shù)學(xué)函數(shù)用于完成各種數(shù)學(xué)運(yùn)算,例如三角函數(shù)、平方根、絕對值、對數(shù)、指數(shù)等。下表為常用的數(shù)學(xué)函數(shù)。

2.5.1數(shù)學(xué)函數(shù)

函數(shù)功能示例結(jié)果Sin(x)返回x的正弦值Sin(0)0Cos(x)返回x的余弦值Cos(0)1Tan(x)返回x的正切值Tan(0)0Atn(x)返回x的反正切值A(chǔ)tn(1)0.785Sqr(x)返回x的平方根Sqr(2)1.414Abs(x)返回x的絕對值A(chǔ)bs(-2.5)2.5Log(x)返回x的自然對數(shù)值Log(2)0.693Exp(x)返回e的x次方Exp(2)7.389Sgn(x)求x的符號,x>0時(shí)返回1;x=0時(shí)返回0;x<0時(shí)返回-1Sgn(-2.5)-1Rnd[(x)]產(chǎn)生一個(gè)在[0,1)區(qū)間內(nèi)的隨機(jī)數(shù)Rnd0~1之間的數(shù)Int(x)返回小于等于x的最大整數(shù)Int(-2.8)Int(2.8)-32Fix(x)返回x的整數(shù)部分Fix(-2.8)Fix(2.8)-22Round(x,N)對x四舍五入,保留N位小數(shù);若省略N,則對x取整Round(1.56,1)Round(1.56)1.62轉(zhuǎn)換函數(shù)主要用于數(shù)據(jù)類型或數(shù)據(jù)形式的轉(zhuǎn)換,包括數(shù)值型與字符串之間的轉(zhuǎn)換以及ASCII碼與ASCII字符之間的轉(zhuǎn)換等。下表為常用的轉(zhuǎn)換函數(shù)。

2.5.2轉(zhuǎn)換函數(shù)函數(shù)功能示例結(jié)果Str(x)將數(shù)值x轉(zhuǎn)換為字符串Str(123)"123"Val(x)將字符串s中的數(shù)字轉(zhuǎn)換為數(shù)值Val("12ab34")12Chr(x)返回ASCII碼值為x的字符Chr(65)"A"Asc(x)返回字符x的ASCII碼值(十進(jìn)制)Asc("a")97Hex(x)將十進(jìn)制數(shù)x轉(zhuǎn)換為字符串形式的十六進(jìn)制數(shù)Hex(100)"64"Oct(x)將十進(jìn)制數(shù)x轉(zhuǎn)換為字符串形式的八進(jìn)制數(shù)Oct(100)"144"字符串函數(shù)主要用于對字符串進(jìn)行截取、查找、計(jì)算長度、大小寫轉(zhuǎn)換等操作,VisualBasic中提供了豐富的字符串處理函數(shù),為字符型數(shù)據(jù)的處理帶來了極大的方便下表為常用的字符串函數(shù)。

2.5.3字符串函數(shù)

函數(shù)功能示例結(jié)果Len(s)返回字符串s的長度Len("aaa")3Left(s,n)返回字符串s左邊的n個(gè)字符Left("abcd",2)"ab"Right(s,n)返回字符串s右邊的n個(gè)字符Right("abcd",2)"cd"Mid(s,n1,n2)返回字符串s從n1位置開始的n2個(gè)字符Mid("abcd",2,3)"bcd"LTrim(s)刪除字符串s左邊的空格LTrim("abcd")"abcd"RTrim(s)刪除字符串s右邊的空格RTrim("abcd")"abcd"Trim(s)刪除字符串s左右兩邊的空格Trim("abcd")"abcd"LCase(s)將字符串s中的大寫字母轉(zhuǎn)換為小寫LCase("AbcD")"abcd"UCase(s)將字符串s中的小寫字母轉(zhuǎn)換為大寫UCase("AbcD")"ABCD"Replace(s,s1,s2)將字符串s中的字符串s1替換為s2Replace("AbcDbcA","bc","a")"AaDaA"InStr(s1,s2)返回字符串s2在字符串s1中出現(xiàn)的位置InStr("abcd","cd")3String(n,s)返回字符串s中n個(gè)首字符組成的字符串String(3,"abcd")"aaa"Space(n)返回n個(gè)空格Space(5)""日期和時(shí)間是一種常用的數(shù)據(jù),VisualBasic中提供了許多處理日期和時(shí)間的函數(shù),下表為常用的日期和時(shí)間函數(shù)。

2.5.4日期和時(shí)間函數(shù)函數(shù)功能示例結(jié)果Time返回系統(tǒng)當(dāng)前的時(shí)間Time9:52:12Date返回系統(tǒng)當(dāng)前的日期Date2010-10-16Now返回系統(tǒng)當(dāng)前的日期和時(shí)間Now2010-10-169:52:16Year(d)返回參數(shù)d包含的年份Year(#2010-2-5#)2010Month(d)返回參數(shù)d包含的月份(1~12)Month(#2010-2-5#)2Day(d)返回參數(shù)d包含的日期(1~31)Day(#2010-2-5#)5Weekday(d)返回參數(shù)d包含的星期(1~7),星期日為1Weekday(#2010-2-5#)6Hour(t)返回參數(shù)t包含的小時(shí)(0~23)Hour(#9:52:49#)9Minute(t)返回參數(shù)t包含的分鐘(0~59)Minute(#9:52:49#)52Second(t)返回參數(shù)t包含的秒數(shù)(0~59)Second(#9:52:49#)49DateAdd(C,N,d)返回日期d以C方式加上一段時(shí)間N后的日期DateAdd("m",1,#2010-2-5#)2010-3-5DateDiff(C,d1,d2)以C方式返回日期d1和d2之間的間隔DateDiff("m",#2009-2-5#,#2010-2-5#)12在VisualBasic中不但可以調(diào)用內(nèi)部函數(shù),還可以調(diào)用各種應(yīng)用程序。VisualBasic程序中可通過Shell函數(shù)來調(diào)用DOS或Windows中的應(yīng)用程序。Shell函數(shù)的使用格式為:

Shell(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論