VisualBasic程序設(shè)計(jì)語言基礎(chǔ)課件_第1頁
VisualBasic程序設(shè)計(jì)語言基礎(chǔ)課件_第2頁
VisualBasic程序設(shè)計(jì)語言基礎(chǔ)課件_第3頁
VisualBasic程序設(shè)計(jì)語言基礎(chǔ)課件_第4頁
VisualBasic程序設(shè)計(jì)語言基礎(chǔ)課件_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、VisualBasic程序設(shè)計(jì)語言基礎(chǔ)1 第3章 Visual Basic程序設(shè)計(jì)語言基礎(chǔ) VisualBasic程序設(shè)計(jì)語言基礎(chǔ)2 3.1 Visual Basic程序的語句和編 碼規(guī)則 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)3 3.1.1 編碼規(guī)則 (1)VB代碼不區(qū)分字符的大小寫,但關(guān)鍵字將會自動轉(zhuǎn)換為大寫字 母開頭,后續(xù)字母為小寫字母。 (2)一行可以書寫多條語句,各語句之間用冒號“:”分隔。 (3)一行書寫不完的語句,可以在該行后加上續(xù)行符(由空格+下劃 線_組成),然后換行書寫。 (4)一行最多為255個字符,一條語句最多含1023個字符。 (6)用戶自定義的變量、過程名等,VB以

2、第一次定義為準(zhǔn),其后的 輸入自動轉(zhuǎn)換。 (7)程序中可以使用標(biāo)號用于程序的轉(zhuǎn)向,標(biāo)號為以字母開頭、冒 號結(jié)尾的字符串。 (8) 注釋行以Rem 或撇號“”開頭,但是只有用撇號引導(dǎo)的注釋可 以出現(xiàn)在語句之后??梢允褂谩熬庉嫛惫ぞ邫谥械摹霸O(shè)置注釋塊”命 令將選定的若干行語句或文字設(shè)置為注釋項(xiàng),也可以使用“解除注釋 塊”命令將選定的若干行解除注釋。 (9)對象名命名約定:每個對象名由三個小寫字母組成前綴和表示 該對象的作用的縮寫字母組成,前綴表明對象的類型,如cmdExit為 一個退出按鈕,cmdEnter為一個確認(rèn)命令按鈕。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)4 3.1.2 程序語句 Visu

3、alBasic程序設(shè)計(jì)語言基礎(chǔ)5 1賦值語句 賦值語句又稱為Let語句,其作用是把指定的值賦給某個變量 或某個帶有屬性的對象。一般格式為: Let目標(biāo)操作符 = 源操作符 說明: (1)“=”為賦值號,不等于數(shù)學(xué)意義上的等號。 (2)賦值語句具有賦值和計(jì)算的雙重功能,即首先計(jì)算賦值號 右邊的源操作符的值,然后賦給左邊的目標(biāo)操作符。 (3)目標(biāo)操作符和源操作符應(yīng)具有相同的數(shù)據(jù)類型。但不管表 達(dá)式是什么類型,都可以賦給一個Variant變量。 (4)如果復(fù)合語句(一行有多個語句)含有注釋語句,則注釋語 句必定是最后一個語句。復(fù)合語句的各語句可以是任何合法的VB語 句,但各語句之間必須用冒號隔開。

4、VisualBasic程序設(shè)計(jì)語言基礎(chǔ)6 2注釋語句 注釋語句的格式: Rem 注釋內(nèi)容 或 注釋內(nèi)容 例如: Please Input Yourname! Rem 請輸入你的姓名! 注釋語句是非執(zhí)行語句,不會被解釋和編譯。注釋語句不能放 在續(xù)行符的后面。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)7 3暫停語句 暫停語句用來暫停程序的執(zhí)行,類似于執(zhí)行“運(yùn)行”菜單中的 “中斷”命令。暫停語句的格式為: Stop 作用:把解釋程序設(shè)置為中斷模式,在程序調(diào)試階段對程序 進(jìn)行檢查,執(zhí)行Stop語句時,將打開立即窗口。在可執(zhí)行文 件中執(zhí)行Stop語句時,將關(guān)閉所有文件。在程序調(diào)試結(jié)束后, 生成可執(zhí)行語句之

5、前,應(yīng)刪除程序代碼中所有Stop語句。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)8 4.Exit語句 Exit語句用于退出某種控制結(jié)構(gòu)或過程,如: Exit For 、Exit Do、Exit Sub、Exit Function 等。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)9 5.結(jié)束語句 結(jié)束語句用來正常地結(jié)束一個程序的執(zhí)行。結(jié)束語句的格 式為: End 如下面的程序: Private Sub Timer1_Timer() End End Sub VisualBasic程序設(shè)計(jì)語言基礎(chǔ)10 6.With 語句 With 語句的語法為: With 對象 語句塊 End With With 語句可

6、以對某個對象執(zhí)行一系列的語句,而不用重復(fù) 指出對象的名稱。例如,要改變MyLabel標(biāo)簽對象的多個屬性, 可以在 MyLabel控制結(jié)構(gòu)中加上屬性的賦值語句,這時候只 是引用對象一次而不是在每個屬性賦值時都要引用它。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)11 With MyLabel .Height = 2000 .Width = 2000 .Caption = This is MyLabel End With 例如: VisualBasic程序設(shè)計(jì)語言基礎(chǔ)12 3.2 數(shù)據(jù)類型 表3-1 Visual Basic的標(biāo)準(zhǔn)數(shù)據(jù)類型 數(shù)據(jù)類型關(guān)鍵字類型 符 前綴所占字節(jié)數(shù)范 圍 字節(jié)型Byte無

7、byt10255 邏輯型Boolean無bln2True與False 整型Integer%int2-3276832767 長整型Long&lng4-21474836482147483647 單精度型Single!sng4負(fù)數(shù):-3.402823E38-1.401298E-45 正數(shù):1.401298E-453.402823E38 雙精度型Double#dbl8負(fù)數(shù):-1.79769313486232D308 -4.947D-324 正數(shù):4.947D-324 1.79769313486232D308 貨幣型Currencycur8-922337203685477.5808 9223372036

8、85477.5907 日期型Date(time)無dtm801,01,10012,31,9999 字符型String$str與字符串長度有關(guān)065535個字符 對象型Objiect無obj4任何對象引用 變體型Variant無vnt根據(jù)分配確定 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)13 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)14 3.2.1 基本數(shù)據(jù)類型 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)15 1數(shù)值型數(shù)據(jù)(Numeric) 數(shù)值型數(shù)據(jù)一般分為整型數(shù)和浮點(diǎn)數(shù)兩類。整型數(shù)分為整數(shù) (Integer)和長整數(shù)(Long),浮點(diǎn)數(shù)分為單精度浮點(diǎn)數(shù) (Single)和雙精度浮點(diǎn)數(shù)(Double)

9、。有時也把貨幣型數(shù)據(jù) (Currency)和字節(jié)型數(shù)據(jù)(Byte)劃歸數(shù)值型數(shù)據(jù)。 1)整數(shù)(Integer) 整數(shù)是不帶小數(shù)點(diǎn)和指數(shù)符號的數(shù),在機(jī)器內(nèi)部以2字節(jié)二 進(jìn)制碼形式表示。VB中用n%來表示整數(shù),其中%為整數(shù) 的類型符,可以省略。如-123%、123%都表示整數(shù)。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)16 2)長整數(shù)(Long) 整數(shù)的最大值為32767,大于此數(shù),程序運(yùn)行時就會因?yàn)橐绯霎a(chǎn)生 中斷。此時可使用長整數(shù)。 長整數(shù)用4字節(jié)二進(jìn)制數(shù)存儲,可以表示更大的整數(shù),其取值范圍 為-21474836482147483647。VB中用n&來表示長整數(shù),其中& 為長整數(shù)的類型符。如-12

10、34&、987654&都表示長整數(shù)。 3)浮點(diǎn)數(shù) 浮點(diǎn)數(shù)也稱為實(shí)型數(shù)或?qū)崝?shù),由符號、指數(shù)和尾數(shù)組成,分單精度 浮點(diǎn)數(shù)(Single)和雙精度浮點(diǎn)數(shù)(Double),其指數(shù)部分分別用 “E”(或“e”)和“D”(或“d”)表示(VB會自動轉(zhuǎn)換成E)。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)17 4)貨幣型(Currency) 貨幣型屬于定點(diǎn)實(shí)數(shù)或整數(shù),用8位字節(jié)存儲小數(shù)點(diǎn)前有15位,小 數(shù)點(diǎn)后有4位,其余的數(shù)字被舍去,其表示形式為在數(shù)字后加上 “”。 5)字節(jié)型(Byte) 字節(jié)型數(shù)據(jù)用1個字節(jié)的無符號二進(jìn)制數(shù)存儲,取值范圍為0255。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)18 2.日期型數(shù)據(jù)

11、(Date) 日期型數(shù)據(jù)按IEEE64位浮點(diǎn)數(shù)值存儲,表示的日期從公元100年1 月1日9999年12月31日,時間范圍為0:00:0023:59:59。 任何在字面上可以被認(rèn)作日期的文本都可以賦值給日期變量,且日 期文字必須用符號“#”括起來,如#January 15,2002#,#1985-10- 1 9:45:00 PM# 都是合法的日期型數(shù)據(jù)。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)19 3.邏輯型數(shù)據(jù)(Boolean) 邏輯型數(shù)據(jù)只有兩個值:真(True)和假(False),用2字節(jié)二進(jìn) 制數(shù)存儲,經(jīng)常用來表示邏輯判斷的結(jié)果。 當(dāng)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為邏輯型數(shù)據(jù)時,0會轉(zhuǎn)換為Flase,

12、其它非0值 轉(zhuǎn)換為 True。反之,當(dāng)把邏輯型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型時,F(xiàn)lase轉(zhuǎn)換為 0,True轉(zhuǎn)換為-1。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)20 4.字符型數(shù)據(jù)(string) 字符型數(shù)據(jù)是指一切可打印的字符和字符串,它是用雙引號括起來 的一串字符。一個西文字符占一個字節(jié),一個漢字或全角字符占兩 個字節(jié)。在VB中有兩種類型字符串:變長字符串和定長字符串。變 長字符串的長度不確定,而定長字符串長度一定。 注意:空字符串用表示,而 則表示有一個空格的字符串;另外 在字符串中必須用兩個連續(xù)的雙引號來表示字符串有一個雙引號。 如字符串:abc計(jì)算機(jī)abc,在VB中表示為abc計(jì)算機(jī)abc。 V

13、isualBasic程序設(shè)計(jì)語言基礎(chǔ)21 5.對象(Object)類型的數(shù)據(jù) 對象類型的數(shù)據(jù)主要是以變量形式存在的,Object變量通過32位 (4字節(jié))來存儲,該地址可以引用應(yīng)用程序中的對象。利用Set語 句,聲明為Object的變量可以被賦值并被任何對象所引用。 6.變體(Variant)數(shù)據(jù)類型 Variant數(shù)據(jù)類型又稱為萬用數(shù)據(jù)類型,它是一種特殊的、可以表示 所有系統(tǒng)定義類型的數(shù)據(jù)類型。變體數(shù)據(jù)類型對數(shù)據(jù)的處理可以根 據(jù)上下文的變化而變化,除了定長的string數(shù)據(jù)及用戶自定義的數(shù)據(jù) 類型之外,可以處理任何類型的數(shù)據(jù)而不必進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換, 如上所述的數(shù)值型、日期型、對象型、字符型

14、的數(shù)據(jù)類型。Variant 數(shù)據(jù)類型是VB對所有未定義的變量的缺省數(shù)據(jù)類型的定義。通過 VarType函數(shù)可以檢測Variant型變量中保存的具體的數(shù)據(jù)類型。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)22 3.2.2用戶自定義數(shù)據(jù)類型 除了上述數(shù)據(jù)類型外,在VB中,用戶可以根據(jù)需要利用 Type語句定義自己的數(shù)據(jù)類型,其格式如下: Type 數(shù)據(jù)類型名 數(shù)據(jù)類型元素名 As 類型名 End Type 其中,數(shù)據(jù)類型名為自定義數(shù)據(jù)類型名,數(shù)據(jù)類型元素名 為自定義數(shù)據(jù)類型中的一個成員,類型名為上述基本類型 名或自定義數(shù)據(jù)類型名。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)23 例題:定義一個有關(guān)職工信息

15、的自定義類型: Type Client_Record cltName as String*16 cltPassword as String*8 cltDeposit as Currency End Type 注意: (1)自定義類型必須在標(biāo)準(zhǔn)模塊或窗體模塊的聲明部分 定義,在標(biāo)準(zhǔn)模塊中定義時默認(rèn)為全局變量(Public)。 在窗體模塊定義時在關(guān)鍵字Type前應(yīng)加上Private關(guān)鍵字。 (2)自定義類型元素類型如果有字符串,則必須是定長 字符串,即應(yīng)該使用形式為: strName As String*常數(shù) 其中“常數(shù)”指明定長字符串的長度 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)24 3.2.3

16、枚舉類型 當(dāng)一個變量只有幾種可能的值時,可以使用枚舉的方法將變量 的值一一列出來,變量的值就只限制在列出的幾種值中。采用 這樣的方法定義的變量類型稱為枚舉類型。 枚舉可以通過在標(biāo)準(zhǔn)模塊或公用類模塊中的聲明部分用 Enum 語 句聲明一個枚舉類型來創(chuàng)建。其格式為: Private|Public Enum 類型名稱 成員名=常數(shù)表達(dá)式 End Enum VisualBasic程序設(shè)計(jì)語言基礎(chǔ)25 3.3 變量與常量 3.3.1 變量 變量:程序運(yùn)行過程中其值可以改變的量稱為變量 。 變量的形式:屬性變量和內(nèi)存變量。 1變量的命名規(guī)則 (1)VB變量名只能用字母、數(shù)字和下劃線組成,變量名 中不能包含

17、小數(shù)點(diǎn)。 (2)VB變量名的第一個字符必須是字母,最后一個字符 可以是類型說明符,且組成變量名的字符數(shù)不得超過255 個字符。 (3)不得使用VB的保留名或保留名后加上類型說明符來 作為變量名。 (4)變量名在同一個范圍內(nèi)必須是唯一的。 (5)為了增加程序的可讀性,一般在變量名前加上一個表 示該變量數(shù)據(jù)類型的前綴。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)26 2變量聲明 (1)用聲明語句聲明變量 用聲明語句聲明變量的語法為: Dim|Private|Static|Public|RedimAs,As (2)隱式聲明與用Option Explicit語句強(qiáng)制 顯式聲明變量 在默認(rèn)狀態(tài)下,VB中可以

18、不進(jìn)行變量聲明, 此時變量類型默認(rèn)為變體類型,稱為隱式 聲明,但是這樣做可能由于變量名的誤寫 而產(chǎn)生不良后果。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)27 3Variant 數(shù)據(jù)類型 Variant 數(shù)據(jù)類型是所有沒被顯式聲明為其他類型變量的 數(shù)據(jù)類型。 (1)用 VarType函數(shù)判斷 Variant型變量中的數(shù)據(jù)類型 print vartype(x) (2)Variant變量對數(shù)值的處理 在Variant變量中存放數(shù)值時,VB盡量以緊湊的方式存 儲,如果需要用指定的類型來存儲variant變量的值,則 必須用類型轉(zhuǎn)換函數(shù)轉(zhuǎn)換。 (3)Variant變量中的Empty 值與Null值 Emp

19、ty與Null是用來為variant變量設(shè)置數(shù)據(jù)的兩個 關(guān)鍵字。 Empty是未定型變量中一個有意義的數(shù)據(jù)。 Null是未定型變量中一個無效數(shù)據(jù)。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)28 3.3.2 常量 1直接常量 直接常量:在程序代碼中,以直接明顯的形式給出的數(shù)據(jù)。 根據(jù)使用的數(shù)據(jù)類型,直接常量分為:字符串常量、數(shù)值常 量、布爾常量、日期常量。 2符號常量 (1)系統(tǒng)內(nèi)部定義的常量 (2)用戶定義的符號常量 內(nèi)部或系統(tǒng)定義的常量是VB和控件提供的。這些常量可與應(yīng)用 程序的對象、方法和屬性一起使用,在代碼中可以直接使用它 們。 用戶可以使用Const語句來定義常量: Public|Pri

20、vateConst As= VisualBasic程序設(shè)計(jì)語言基礎(chǔ)29 3.3變量的作用域 3.3.1局部變量與全局變量 3.3.2默認(rèn)聲明 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)30 3.3.1局部變量與全局變量 VB應(yīng)用程序的組成應(yīng)用程序的組成 Vb應(yīng)用程序 (.vbp文件) 至少一個窗體模塊 (.frm文件) 類模塊 (.cls文件) 標(biāo)準(zhǔn)模塊 (.bas文件) 函數(shù)過程 Function() Sub過程 事件過程 函數(shù)過程 Function() Sub過程 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)31 1.局部變量(動態(tài)變量) 局部變量是只能在一個函數(shù)或過程中訪問的變量, 其他過程或函數(shù)

21、不能訪問此變量的數(shù)據(jù)。 2.窗體/模塊級變量 窗體/模塊級變量是指在一個窗體/模塊的任何過程 之外,即在通用聲明段中用dim或private語句聲明 的變量。 3.全局變量 全局變量是指在工程的每個模塊、每個過程中使 用。和模塊級變量類似,全局變量也在標(biāo)準(zhǔn)模塊 的聲明部分中聲明;不同的是,全局變量必須用 public或Global語句聲明,不能使用dim語句聲明; 同時,全局變量只能在標(biāo)準(zhǔn)模塊中聲明,不能在 過程或窗體模塊中聲明。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)32 變量的作用域 名稱作用域聲明位置適用語句 局部變量過程過程中Dim或static 模塊級變量 窗體模塊及 標(biāo)準(zhǔn)模塊 模塊

22、的聲明 部分 Dim或private 全局變量整個應(yīng)用程 序 標(biāo)準(zhǔn)模塊的 聲明部分 Public或 global VisualBasic程序設(shè)計(jì)語言基礎(chǔ)33 3.3.2默認(rèn)聲明 用dim和public語句可以定義局部變量、模塊級變 量和全局變量。對于局部變量來說,也可以不用 dim(或static)定義,而在需要時直接給出變量名。 變量的類型可以用類型說明符(%,&,!,#,$,)來 標(biāo)識。沒有類型說明符,VB把該變量指定為 Variant。這種定義為默認(rèn)聲明。 注意: (1)沒有顯示聲明的變量,在執(zhí)行該模塊后其數(shù) 據(jù)將被覆蓋。 (2)默認(rèn)聲明只適用于局部變量,模塊級變量和 全局變量必須在代碼

23、窗口中用dim或public語句顯 示聲明。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)34 private sub command1_click() Answer$=inputbox(Are you student?) if answer=yes then msgbox He is a student. else msgbox He is not student. end if end sub VisualBasic程序設(shè)計(jì)語言基礎(chǔ)35 3.4 運(yùn)算符和表達(dá)式 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)36 3.4.1 運(yùn)算符 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)37 1.算術(shù)運(yùn)算符 算術(shù)運(yùn)算符用

24、于數(shù)學(xué)計(jì)算,VB有8個算術(shù)運(yùn)算符(其中減號運(yùn)算符 和取負(fù)運(yùn)算符形式相同),在這8個算術(shù)運(yùn)算符中,只有取負(fù)“” 是單目運(yùn)算符,其它均為雙目運(yùn)算符。表3-3照優(yōu)先級別的高低列 出了算術(shù)運(yùn)算符。 表3-3 算術(shù)運(yùn)算符 運(yùn)算符名稱優(yōu)先級 示例結(jié)果 乘方1329 -負(fù)號2-2-2 *乘32*510 /除34/5.8 整除4450 Mod取模55 Mod 41 +加62+35 減64.5-2.42.1 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)38 2.字符串運(yùn)算符 字符串運(yùn)算符有“&”和“+”兩個,如表3-4所示 表3-4 字符串運(yùn)算符 運(yùn)算符說明示例結(jié)果 &連接兩個字符串表達(dá)式Micro & softMi

25、crosoft +計(jì)算和,也可連接字符串123+456123456 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)39 3.關(guān)系運(yùn)算符 關(guān)系運(yùn)算符屬于雙目運(yùn)算符,用來對兩個表達(dá)式的值進(jìn)行比較, 比較的結(jié)果為邏輯值,即若關(guān)系成立則返回True,否則返回 False。在VB中,分別用-1和0表示True和False。表3-5列出了 VB中的關(guān)系運(yùn)算符。 表3-5關(guān)系運(yùn)算符 關(guān)系運(yùn)算符含 義實(shí) 例結(jié) 果 =等于abc=ABCFalse 大于abc ABC True =大于等于abc=甲乙丙False 小于23True =小于等于12=3True 不等于abcABCTrue Like字符串匹配ABCDE Li

26、ke *CD*True Is對象引用比較 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)40 4.邏輯運(yùn)算符 邏輯運(yùn)算符的作用是將操作數(shù)進(jìn)行邏輯運(yùn)算,結(jié)果是邏輯值True 或 False。邏輯運(yùn)算符中,除Not為單目運(yùn)算符外,其他都為雙目運(yùn)算 符。 表3-6 邏輯運(yùn)算符 邏輯運(yùn)算符含 義優(yōu)先級說 明實(shí)例結(jié) 果 Not取反1當(dāng)操作數(shù)為假時,結(jié)果為真 Not T Not F F T And與2兩個操作數(shù)都為真時,結(jié)果為真 T And T F And F T And F F And T T F F F Or或3兩個操作數(shù)之一為真時,結(jié)果為真 T Or T F Or F T Or F F Or T T F T

27、 T Xor異或3 兩個操作數(shù)為一真一假時,結(jié)果為真, 否則為假 T Xor F F Xor F T F Eqv等價4兩個操作數(shù)相同時,結(jié)果為真 T Eqv T F Eqv T T F Imp蘊(yùn)含5 第一個操作數(shù)為真,第二個操作數(shù)為假 時,結(jié)果為假,其余結(jié)果為真 T Imp F F Imp F F T VisualBasic程序設(shè)計(jì)語言基礎(chǔ)41 3.4.2 表達(dá)式 1表達(dá)式的組成 2表達(dá)式的種類 3表達(dá)式的書寫規(guī)則 表達(dá)式由變量、常量、運(yùn)算符、函數(shù)和圓括號按一定的規(guī)則組成, 表達(dá)式的運(yùn)算結(jié)果的類型由參與運(yùn)算的數(shù)據(jù)類型和運(yùn)算符共同決定。 根據(jù)表達(dá)式中運(yùn)算符的類別可以將表達(dá)式分為算術(shù)表達(dá)式、字符串

28、 表達(dá)式、日期表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式等。 (1)每個符號占1格,所有符號都必須一個一個并排寫在同一基準(zhǔn) 上,不能出現(xiàn)上標(biāo)和下標(biāo)。 (2)不能按常規(guī)習(xí)慣省略的乘號*,如:2x要寫成2*x。 (3)只能使用小括號(),且必須配對。 (4)不能出現(xiàn)非法的字符,如。 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)42 4表達(dá)式中不同數(shù)據(jù)類型的轉(zhuǎn)換 5運(yùn)算符的優(yōu)先級 如果表達(dá)式中操作數(shù)具有不同的數(shù)據(jù)精度,則將較低精度轉(zhuǎn)換為 操作數(shù)中精度最高的數(shù)據(jù)精度,即按Integer、Long、Single、 Double、Currency的順序轉(zhuǎn)換,且Long型數(shù)據(jù)和Single型數(shù)據(jù)進(jìn) 行運(yùn)算時,結(jié)果總是Doub

29、le型數(shù)據(jù)。 當(dāng)表達(dá)式中存在多種運(yùn)算符共存時,按如下優(yōu)先級的先后進(jìn)行運(yùn)算: 算術(shù)運(yùn)算符字符運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)43 3.5 常用內(nèi)部函數(shù) VisualBasic程序設(shè)計(jì)語言基礎(chǔ)44 3.5.1數(shù)學(xué)運(yùn)算函數(shù) 表3-8用數(shù)學(xué)函數(shù) 函 數(shù)說 明實(shí)例結(jié)果 Sin返回弧度的正弦Sin(1).8497 Cos返回弧度的余弦Cos(1).544 Atn返回用弧度表示的反正切值A(chǔ)tn(1).785398163397448 Tan返回弧度的正切Tan(1)1.5574077246549 Abs返回?cái)?shù)的絕對值A(chǔ)bs(-2.4)2.4 Exp返回e的指定次冪Exp(1)

30、2.705 Log返回一個數(shù)值的自然對數(shù)Log(1)0 Rnd返回小于1且大于或等于0的隨機(jī)數(shù)Rnd 01之間的隨機(jī)數(shù) Sgn返回?cái)?shù)的符號值Sgn(-100)-1 Sqr返回?cái)?shù)的平方根Sqr(16)4 Int返回不大于給定數(shù)的最大整數(shù)Int(3.6)3 Fix返回?cái)?shù)的整數(shù)部分Fix(-3.6)-3 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)45 3.5.2字符串函數(shù) 表3-9 常用字符串函數(shù) 函 數(shù)說 明 實(shí)例結(jié)果 Ltrim$(C)返回刪除字符串左端空格后的 字符串 LTrim$(MyName)MyName Rtrim$(C)返回刪除字符串右端空格后的 字符串 RTrim$(MyName)MyN

31、ame Trim(C)返回刪除字符串前導(dǎo)和尾隨空 格后的字符串 Trim$(MyName)MyName Left$(C,N)返回從字符串左邊開始的指定 數(shù)目的字符 Left$(MyName,2)My Right$(C,N)返回從字符串右端開始的指定 數(shù)目的字符 Right$(MyName,4)Name Mid$(C,N1,N2)返回從字符串指定位置開始的 指定數(shù)目的字符 Mid $(MyName,2,3)yNa Len(C)返回字符串的個數(shù)Len(MyName=王青)9 LenB(C)返回字符串所占字節(jié)數(shù)LenB(MyName=王青)18 Instr(N1,C1,C2,M)返回字符串在給定的字

32、符串中 出現(xiàn)的開始位置 InStr(7,ASDFDFDFSDSF, DF)7 *InstrRev(C1,C2,N1, M) 與Instr函數(shù)不同的是從字符串 的尾部開始查找 InStrRev(ASDFDFDFSDSF, DF, 7) 5 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)46 *Replace(C,C1,C2 ,N1,N2,M) 在C字符串中從1或N1開 始將C2替換C1(有 N2,替換N2次) Replace(ASDFDFDFSDS F, DF, *, 2) S*SDSF *Join(A,D)將數(shù)組A各元素按D(或 空格)分隔符連接為 字符串變量 A = Array(ABC, DEF,

33、GH) Join(A, /) ABC/DEF/G H Space$(N)返回由指定數(shù)目空格字 符組成的字符串 Space$(5) *Split(C,D)與Join函數(shù)作用相反, 將字符串C按分隔符 D(或空格)分隔成 字符數(shù)組。 A = Split(ABC*DEF*GH, *) A(0)= ABC A(1)= DEF A(2)=GH String$(N,C)返回包含一個字符重復(fù) 指定次數(shù)的字符串 String$(2, ABCD)AA *StrReverse(C)將字符串反序排列StrReverse(ABCD)DCBA Lcase(C)返回以小寫字母組成的 字符串 LCase(ABCabc)ab

34、cabc Ucase(C)返回以大寫字母組成的 字符串 UCase(ABCabc)ABCABC VisualBasic程序設(shè)計(jì)語言基礎(chǔ)47 3.5.3日期和時間函數(shù) 函 數(shù)說 明 實(shí)例結(jié)果 Now返回系統(tǒng)日期和時間(yy-mm-dd hh:mm:ss)Now2001-12-18 16:19:10 Date$()返回當(dāng)前日期(yy-mm-dd )Date$()2001-12-18 DateSerial(年,月,日)返回一個日期形式DateSerial(1,2,3)2001-2-3 DateValue(C)返回一個日期形式,自變量為字符串DateValue(1,2,3)2001-2-3 Day(C

35、|N)返回月中第幾天(131)Day(2002-3-5) 5 WeekDay(C|N)返回是星期幾(17)WeekDay(2002-3-5)3(星期二) WeekDayName(C|N)返回星期代號(17)轉(zhuǎn)換為星期名稱,星期日為 1 WeekDayName(3)星期二 Month(C|N)返回一年中的某月(112)Month(2002-3-5)3 Monthname(N) 返回月份名Monthname(12)十二月 Year(C|N)返回年份(yyyy)Year(2002-3-5)2002 Hour(C|N)返回小時(023)Hour(Now) 16(由系統(tǒng)決定) Minute(C|N)返回

36、分鐘(0!59)Minute(Now)31(由系統(tǒng)決定) Second(C|N)返回秒(059)Second(Now)42(由系統(tǒng)決定) Timer$()返回從午夜算起已過的秒數(shù)Timer 59623.44(由系統(tǒng)決 定) Time$()返回當(dāng)前時間(hh:mm:ss)Time16:35:35(由系統(tǒng)決 定) TimeSerial(時,分,秒)返回一個時間形式TimeSerial (1,2,3)1:02:03 TimeValue(C)返回一個時間形式,自變量為字符串TimeValue(1:2:3)1:02:03 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)48 3.5.4格式輸出函數(shù) 使用格式化函數(shù)

37、Format()可以使數(shù)值、 日期或字符型數(shù)據(jù)按指定的格式輸出。 Format函數(shù)的語法格式為: Format(表達(dá)式,格式字符串) VisualBasic程序設(shè)計(jì)語言基礎(chǔ)49 圖3-5 數(shù)值格式化實(shí)例 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)50 圖3-6 日期與時間格式 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)51 表3-11 常用的數(shù)值型格式說明字符 字符說 明 # 數(shù)字占位符。顯示一位數(shù)字或什么都不顯示。如果表達(dá)式在格式字符 串中#的位置上有數(shù)字存在,那么就顯示出來,否則,該位置什么都不 顯示 0 數(shù)字占位符。顯示一位數(shù)字或是零。如果表達(dá)式在格式字符串中0的位 置上有一位數(shù)字存在,那么就顯

38、示出來,否則就以零顯示 .小數(shù)點(diǎn)占位符 ,千分位符號占位符 % 百分比符號占位符。表達(dá)式乘以100。而百分比字符(%)會插入到格 式字符串中出現(xiàn)的位置上 $在數(shù)字前強(qiáng)加$ +在數(shù)字前強(qiáng)加+ -在數(shù)字前強(qiáng)加- E+用指數(shù)表示 E- 用指數(shù)表示 VisualBasic程序設(shè)計(jì)語言基礎(chǔ)52 表3-12 常用的時間日期型格式說明字符 符號作用符號作用 D顯示日期(131),個位前不加0dd顯示日期(0131),個位前加0 ddd dddddww 顯示星期縮寫(SunSat)星期為 數(shù)字(17,1是星期日) 顯示完整日期(yy/mm/dd) dddd dddddd ww 顯示星期全名(SundaySat

39、urday) 顯示完整長日期(yyyy年m月d日) 一年中的星期數(shù)(153) M顯示月份(112),個位前不加0mm顯示月份(0112),個位前加0 mmm顯示月份縮寫(JanDec)mmmm月份全名(JanuaryDecember) Y顯示一年中的天(1366)yy兩位數(shù)顯示年份(0099) Yyyy四位數(shù)顯示年份(01009999)q季度數(shù)(14) H顯示小時(023),個位前不加0hh顯示小時(023),個位前加0 M在h后顯示分(059),個位前不 加0 mm在h后顯示分(059),個位前加0 S顯示秒(09),個位前不加0ss顯示秒(0059),個位前加0 tttt顯示完整時間(小時

40、、分和秒)默 認(rèn)格式為hh:mm:ss AM/PM Am/pm 12小時的時鐘,中午前AM或am 中午后PM或pm A/P,a/p12小時的時鐘,中午前A或a 中午后P或p VisualBasic程序設(shè)計(jì)語言基礎(chǔ)53 表3-13 常用的字符型格式說明字符 字符 說明實(shí)例 結(jié)果 字符占位符。顯示字符或是空白。如果 字符串在格式字符串中的位置有字符 存在,那么就顯示出來;否則就在那個 位置上顯示空白。除非有驚嘆號字符(!) 在格式字符串中,否則字符占位符將由 右到左被填充 Format(“ABCD”,”) ” ABCD” & 字符占位符。顯示字符或什么都不顯示 ,如果字符串在格式字符串中和號&的

41、位置有字符存在,那么就顯示出來否則 就在那個位置上顯示空白。除非有驚嘆 號字符(?。┰诟袷阶址?,否則字 符占位符將由右到左被填充 Format(“ABCD”, “&”) “ABCD” 強(qiáng)制小寫。將所有字符以小寫格式顯示Format(“ABCD”, “強(qiáng)制大寫。將所有字符以大寫格式顯示Format(“abcd”, “&”)“ ABCD” ! 強(qiáng)制由左至右填充字符占位符。缺省值 是由右至左填充字符占位符 Format(“ABCD”, “!&”) “ABCD ” VisualBasic程序設(shè)計(jì)語言基礎(chǔ)54 3.5.5轉(zhuǎn)換函數(shù) VisualBasic程序設(shè)計(jì)語言基礎(chǔ)55 1.類型轉(zhuǎn)換函數(shù) (1)數(shù)

42、據(jù)類型轉(zhuǎn)換函數(shù) 表3-14數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 函數(shù)返回類型參數(shù)范圍 CboolBoolean任何有效的字符串或數(shù)值表達(dá)式 CbyteByte0255 CcurCurrency-922337203685477.5808922337203685477.5807 CdateDate任何有效的日期表達(dá)式 CdblDouble負(fù)數(shù):-1.79769313486232EE308-4.947E-324 正數(shù):4.947E-3241.79769313486232E308 CintInteger-3276832767,小數(shù)部分四舍五入 CLngLong-21474836482147483647,小數(shù)部分四舍五入 CsngSingle負(fù)數(shù):-3.402823E38-1.401298E-

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論