




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄1第三章第三章 VBVB程序設計基礎程序設計基礎 3.1 數據類型數據類型3.2 常量和變量常量和變量3.3 運算符和表達式運算符和表達式3.4 常用內部函數常用內部函數3.5 綜合應用綜合應用(程序結構和編碼規則(程序結構和編碼規則)3.6 自主學習自主學習-程序調試程序調試本章目錄本章目錄vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄3.1 3.1 數據類型數據類型 P45P45 計算機能夠處理不同類型的信息,如數值、文字、聲音、圖形、圖像等,這些統稱為數據數據。數據可以分為不同的種類,稱為數據類型數據類型。不同類型的數據,在內存中
2、的存儲結構不同,占用空間不同,取值范圍不同,能夠對數據進行的操作也不同。程序中的數據有兩種表示形式:常量和變量。常量是一個固定的值,如3、4.5。變量的值在程序運行期間可以改變,也可以先后向一個變量賦予不同的值。VB中用于存放數據的有兩類:控件對象的屬性 變量2vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄引例-圓柱體積和表面積計算P45算法:t=r2h s=2rh3vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄43.1 3.1 數據類型數據類型 P45P45 數據類型 復合數據類型 基本數據類型 字符型 邏輯型 日期型 變體型 對象型 數值型 整數 浮點數 貨幣型 字節型 整型
3、長整型 單精度型 雙精度型 自定義數據類型 數組 本章目錄本章目錄n VBVB的兩大類數據類型:的兩大類數據類型:P47P47l 基本數據類型:包括數值基本數據類型:包括數值類型、字符類型等類型、字符類型等l 用戶自定義數據類型:利用戶自定義數據類型:利用基本數據類型構造的數用基本數據類型構造的數據類型。據類型。vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄3.1 3.1 數據類型數據類型 P45P45 n 數據的類型不同,能夠進行的操作也不同。數據的類型不同,能夠進行的操作也不同。P47表表基本數據類型占用字節值的有效范圍類型聲明符Integer(整型)2-3276832767%Lon
4、g(長整型)4-21474836482147483647&Single(單精度實型)41.40E-453.40E38!Double(雙精度實型)84.97D-3241.79D308#Currency(貨幣類型)8-922337203685477.5805922337203685477.5807String(字符串類型) 與字符串長度有關065535個字符$Byte(字節)10255Boolan(布爾型)2True或FalseDate(日期類型)81/1/10012/31/9999無Variant(變體類型)上述有效范圍之一vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄6一、數值型
5、一、數值型 參見參見P47P47,P49 P49 表表1 1、整數整數例:例: 123、+123 、123%、123& 正確的整數正確的整數 123.0 、1,230 錯誤錯誤 定義:不帶小數點和指數符號的數。定義:不帶小數點和指數符號的數。 特點:數精確表示,但數范圍有限。特點:數精確表示,但數范圍有限。 類型:整型類型:整型Integer或或%(默認)(默認) 占占2個字節個字節 -32768-327683276732767 長整型長整型Long或或& 。 占占4個字節個字節 -2147483648-214748364821474836472147483647 形式:形式:
6、n& vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄72 2、實數(浮點數)實數(浮點數):保存浮點數保存浮點數 (參見(參見P47P47,P49 P49 表)表)例:例: 123.45、0.12345E+3、 12345E-2 、123.45! 0.12345D+3 都是都是 同值實數同值實數例如:例如:123.45#、0.12345D+3、0.12345E+3# 定義:帶小數點或指數符號的數。定義:帶小數點或指數符號的數。 特點:數據不精確表示,但數范圍大。特點:數據不精確表示,但數范圍大。 類型:單精度類型:單精度 Single或或!, 雙精度雙精度Double或或# 。
7、如超出某個表示范圍,則用科學記數法如超出某個表示范圍,則用科學記數法 形式:形式: 尾數尾數 E | D 指數指數 其中:其中: E表示單精度指數符號表示單精度指數符號 、D表示雙精度指數符號表示雙精度指數符號 尾數可以整數(必須要求指數)也可以小數尾數可以整數(必須要求指數)也可以小數 l 單精度實型(單精度實型(Single):有效數為):有效數為7位,占四個字節,位,占四個字節, 表示表示 -3.37E+38至至3.37E+38之間的實數之間的實數l 雙精度實型(雙精度實型(Double):有效數為):有效數為16位,占位,占8個字節。對小數個字節。對小數形式只要在數字后用形式只要在數字
8、后用“#”代替代替“!”,對指數形式用,對指數形式用“D”代替代替“E”或指數形式后加或指數形式后加“#”。 vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄83 3、貸幣型、貸幣型(Currency)(Currency)例如,例如,123.45、1234等。等。n 專門為處理貨幣而設計的數據類型專門為處理貨幣而設計的數據類型 它可最多保留小數點右邊它可最多保留小數點右邊4位和小數點左邊位和小數點左邊15位位n 貸幣型貸幣型Currency:為定點實數或整數,:為定點實數或整數,用用8個字節存儲個字節存儲,最多保留小數點右邊最多保留小數點右邊4位和小數點左邊位和小數點左邊15位。位。n 與
9、單精度或雙精度的浮點數相比,貨幣型的數值范圍變與單精度或雙精度的浮點數相比,貨幣型的數值范圍變小了,只有小了,只有1015,但增加了有效位數,最多可達,但增加了有效位數,最多可達19位,位,并按實際數值定點存儲,無任何誤差,因此適合于貨幣并按實際數值定點存儲,無任何誤差,因此適合于貨幣計算。計算。n 表示形式:在數字后加上表示形式:在數字后加上“”符號符號 4 4、字節型、字節型(Byte)(Byte) n 用于存儲二進制數。占用于存儲二進制數。占1個字節,取值范圍為個字節,取值范圍為0255 。n 字節型數可以表示無符號的整數字節型數可以表示無符號的整數vb程序設計簡明教程程序設計簡明教程本
10、書目錄本書目錄9二、字符串型數據二、字符串型數據( (StringString) ) (參見(參見P47P47,P49 P49 表)表)1、形式:、形式: 字符串字符串 字符型數據常簡稱為字符串。字符型數據常簡稱為字符串。例例: abc ABC 計算機計算機 12.34 3+2 (空串空串)2、注意:、注意:n 如果字符串本身包括雙引號,可用連續兩個雙引號表示如果字符串本身包括雙引號,可用連續兩個雙引號表示。例例: 要打印以下字符串:要打印以下字符串: You must study hard, he said. 在程序中需要將該字符串表示成在程序中需要將該字符串表示成: You must st
11、udy hard , he said. n 字符串長度。字符串長度。 分為分為: 變長字符串變長字符串(長度不固定長度不固定) 定長字符串定長字符串(長度固定長度固定) 長度為長度為0(即不含任何字符)的字符串稱為空字符串。用(即不含任何字符)的字符串稱為空字符串。用“”表表示。示。vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄10三、邏輯型數據(三、邏輯型數據(BooleanBoolean) (參見(參見P47P47,P49 P49 表)表) 邏輯型數據只有兩個值:邏輯型數據只有兩個值: 真(真(TrueTrue)和和假(假(FalseFalse) 注意:注意:u 當把數值型數據轉換為
12、邏輯型數據時,當把數值型數據轉換為邏輯型數據時,0 轉換轉換為為False,非非0值值轉換為轉換為True。u 當把邏輯型數據轉換為數值型數據時,當把邏輯型數據轉換為數值型數據時, False轉換為轉換為0,True轉換為轉換為-1。思考:下列語句的執行結果是:思考:下列語句的執行結果是: Dim Tag As Boolean Tag = 6 8 Print Tag 結果為:結果為: Truevb程序設計簡明教程程序設計簡明教程本書目錄本書目錄11四、日期型數據四、日期型數據(DateDate)(參見)(參見P47P47,P49 P49 表)表) 形式:形式: # # # 一般為:月一般為:月
13、/日日/年年 mm/dd/yyyy或或mm-dd-yyyy或或yyyy/mm/dd帶有時間:帶有時間:mm/dd/yyyy hh:mm:ss AM|PM 或或mm-dd-yyyy hh:mm:ss AM|PMVB接受許多種日期時間格式接受許多種日期時間格式 例例: 下面的下面的 Date/Time 值全部有效。值全部有效。 # #3-6-2013 13:20# # # #March 27,2013 1:20am# # # #Apr-2-2013# # # #14 April 2013# # # #12/18/2013# #vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄12五、變體型數據五
14、、變體型數據(VariantVariant)(參見(參見P47 P47 表)表)n 是一種可變的數據類型,可以存放任何類型的數據,VB會自動完成必要的轉換n 在程序中不特別說明時,VB會自動將變量默認為Variant型變量。n 可以通過函數VarType()所返回的值來確定變體型變量保存的是何數據類型。n 例如:a = 6 a的值為字符型數據“6”a = 6 2 a的值為數值型數據4a = D & a a的值為字符型數據“D4”SomeValue = 18 SomeValue包含“18”(字符串),字符型SomeValue = SomeValue 15 現在SomeValue值為3,數
15、值型SomeValue = U & SomeValue 現在SomeValue包含“U3”(字符串),字符型vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄13六、對象型數據六、對象型數據(ObjectObject)P47P47表表 (了解)(了解)n 對象型數據用來表示引用應用程序中的對象。如控件對象型數據用來表示引用應用程序中的對象。如控件對象、對象、OLE對象等。對象等。 n 對象對象(Object)變量作為變量作為32位位(4個字節個字節)地址來存儲,該地址來存儲,該地址可引用應用程序中的對象。隨后可以用地址可引用應用程序中的對象。隨后可以用Set語句指語句指定一個被聲明為
16、定一個被聲明為Object的變量,去引用程序所識別的的變量,去引用程序所識別的任何實際對象。任何實際對象。n 例如:例如: Dim c As TextBox /注意文本框的對象類型為注意文本框的對象類型為TextBox類類 Set c = Text1此后可使用下列形式給文本框此后可使用下列形式給文本框Text1賦值:賦值: c.Text = dfgdfvb程序設計簡明教程程序設計簡明教程本書目錄本書目錄14一、常量一、常量 P49P49常量是在程序運行中不變的量常量是在程序運行中不變的量,VB,VB有三種常量:有三種常量:1 1、直接常量:在程序代碼中直接給出的數據。、直接常量:在程序代碼中直
17、接給出的數據。 其常數其常數值直接反映了其類型值直接反映了其類型 例如:例如:123123,-2.63#-2.63#, “Visual Basic” “Visual Basic” , True True l 八進制常數:八進制常數: 在數值前加在數值前加&O &O ,如,如 &O123&O123l 十六進制常數:在數值前加十六進制常數:在數值前加&H &H ,如,如&H123 &H123 本章目錄本章目錄143.2 3.2 變量和常量變量和常量 P48P48語句:語句: s=3.14*r*r其中:其中:r、s是變量,是變量,3.1
18、4是常量是常量1.0rsvb程序設計簡明教程程序設計簡明教程本書目錄本書目錄15本章目錄本章目錄2 2、符號常量、符號常量 用戶聲明,用戶聲明,便于程序閱讀或修改便于程序閱讀或修改Const Const 符號常量名符號常量名 As As 類型類型 = = 表達式表達式例如:例如: Const PI = 3.14159 Const PI=3.14159 , MAX= 100 , XH= 20071101“Const PI=3.14159 , MAX= 100 , XH= 20071101“注:標識符及其命名規則注:標識符及其命名規則 P48P483 3、系統常量、系統常量 系統提供許多內部常量系
19、統提供許多內部常量 例如:例如:vbCrLf vbCrLf 回車回車/ /換行組合符換行組合符 = Chr(13)+Chr(10)= Chr(13)+Chr(10)n 系統定義的常量位于對象庫中,在對象瀏覽器中的系統定義的常量位于對象庫中,在對象瀏覽器中的Visual Basic(VB)和)和Visual Basic for Aplication(VBA)等對象庫中列出)等對象庫中列出了了VB的常量。的常量。n 這些常量可以與應用程序的對象、方法、屬性一起使用這些常量可以與應用程序的對象、方法、屬性一起使用如:如:Form1.WindowsState=vbMaximized 將窗口極大化將窗口
20、極大化 15vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄163.2 3.2 變量和常量變量和常量二、變量二、變量 P50變量變量 :變量是在程序運行期間其值可以發生變化的量。:變量是在程序運行期間其值可以發生變化的量。n 變量有兩個特性:名字和數據類型。變量有兩個特性:名字和數據類型。l 變量的名字用于在程序中標識變量和使用變量的值。變量的名字用于在程序中標識變量和使用變量的值。l 數據類型則確定了變量中可以保存哪種數據。數據類型則確定了變量中可以保存哪種數據。n 在在VB中,變量有兩種形式:中,變量有兩種形式:l 屬性變量屬性變量l 內存變量內存變量本章目錄本章目錄語句:語句: s=
21、3.14*r*r其中:其中:r、s是變量,是變量,3.14是常量是常量1.0rsvb程序設計簡明教程程序設計簡明教程本書目錄本書目錄171、變量名命名規則:(、變量名命名規則:(P48標識符)標識符)v 必須以字母或漢字開頭,由字母、漢字、數必須以字母或漢字開頭,由字母、漢字、數 字字或下或下劃線組成,長度小于等于劃線組成,長度小于等于255個字符個字符v 不能使用不能使用VB中的關鍵字中的關鍵字v VB不區分變量名的大小寫,一般變量名首字母用大寫,不區分變量名的大小寫,一般變量名首字母用大寫,其余用小寫字母表示;常量全部用大寫字母表示其余用小寫字母表示;常量全部用大寫字母表示3xy 數字開頭
22、數字開頭y - z 不允許出現減號不允許出現減號Wang Ping 不允許出現空格不允許出現空格Dim VB的關鍵字的關鍵字Cos 標準函數名標準函數名 非法變量名非法變量名vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄182、變量聲明、變量聲明(1)用)用Dim語句顯式聲明變量語句顯式聲明變量 DimDim 變量名變量名 As As 類型類型 例如:例如:Dim m,n As Integer, x,y As Single 本章目錄本章目錄說明:說明: 如果沒有如果沒有As 類型,則默認為變體類型。類型,則默認為變體類型。 可在變量名后加類型符來代替可在變量名后加類型符來代替As 類型類
23、型 如:如: Dim intX% 一條語句可以同時定義多個變量,但每個變量必須有自己一條語句可以同時定義多個變量,但每個變量必須有自己的類型聲明,類型聲明不能共用。的類型聲明,類型聲明不能共用。 字符串變量根據其存放的長度是否固定,定義方法不同。字符串變量根據其存放的長度是否固定,定義方法不同。l 定長字符串:定長字符串: Dim strA As String*10 表示最多存放表示最多存放10個字符,如果賦值不足個字符,如果賦值不足10個,則右補空;若個,則右補空;若多于多于10個,則多余部分截去。個,則多余部分截去。l 不定長字符串:不定長字符串:Dim strA As String 最多
24、可存放最多可存放230個字符個字符n Integer(整型) %n Long(長整型) &n Single(單精度浮點型) !n Double(雙精度浮點型) #n String $n Currency(貨幣型) vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄19 示例:示例: Dim a As String a是不定長字符串是不定長字符串 Dim b As String*4 b是定長字符串是定長字符串(4個字符個字符) a = “VB” a的值為的值為2個字符個字符“VB” a = “Visual Basic” a的值為的值為12個字符個字符“Visual Basic” b =
25、 “VB ” b值為值為4個字符個字符“VB ” (后面有后面有2個空格個空格) b = “Visual Basic” b的值為的值為4個字符個字符“Visu” (2) 隱式聲明隱式聲明(默認)(默認) 不加聲明就直接使用變量,此時默認的變量類型為變體型,不加聲明就直接使用變量,此時默認的變量類型為變體型,易出錯、浪費空間。易出錯、浪費空間。例如:例如: sum = 3 sum不經聲明就直接使用,其類型為變體型不經聲明就直接使用,其類型為變體型例如例如:下面程序使用的變量下面程序使用的變量a, b, Sum都沒有事先定義都沒有事先定義Private Sub Form_Click() Sum =
26、 0 : a = 10 : b = 20 Sum = a + b Print Sum=; SumEnd Sub vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄20(3) 強制顯式聲明強制顯式聲明 在模塊的聲明段中使用語句在模塊的聲明段中使用語句: Option Explicit 如果設置如果設置: 工具工具選項選項編輯器編輯器 要求變量聲明,要求變量聲明,則在后續模塊中自動插入則在后續模塊中自動插入Option Explicitvb程序設計簡明教程程序設計簡明教程本書目錄本書目錄21例例: Dim Sum As Long Dim Address As String 不定長度不定長度 Di
27、m No As String * 8 固定長度固定長度8 Dim Num, Total As Integer Num為可變類型為可變類型 Dim Average As Single用常用的用常用的類型說明符類型說明符來定義來定義:整型整型 : %長整型長整型 : &單精度單精度: !雙精度雙精度: #貨幣型貨幣型: 字符型字符型: $例例:Dim a as integer Dim a%Dim B as integer,stname as stringDim B%,stname$ vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄22例: 窗體模塊和過程中使用 Dim語句的區別。 設在
28、窗體中放置按鈕Command1和Command2 Dim a As Integer Private Sub Command1_Click() a = a + 10 Print a End Sub Private Sub Command2_Click() a = a + 15 Print a End Sub 觀察程序運行結果將Dim a As Integer放到過程內,觀察運行結果。vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄233.3 3.3 運算符和表達式運算符和表達式 P52P52 運算符和表達式運算符和表達式 : 結果類型結果類型 算術運算符與算術表達式算術運算符與算術表達式 數
29、值數值 字符串運算符與字符串表達式字符串運算符與字符串表達式 字符串字符串 關系運算符與關系表達式關系運算符與關系表達式 邏輯邏輯 邏輯運算符與邏輯表達式邏輯運算符與邏輯表達式 邏輯邏輯 日期運算符和日期表達式日期運算符和日期表達式本章目錄本章目錄23語句:語句: s=3.14*r*r 其中:其中:r、s 是變量,是變量,3.14是常量是常量 3.14*r*r 是表達式是表達式1.0rsvb程序設計簡明教程程序設計簡明教程本書目錄本書目錄24一、運算符一、運算符 P52P521 1、算術運算符、算術運算符例:例:5+10 mod 10 9 / 3+2 2 5+10 mod 10 9 / 3+2
30、 2 結果:結果:1010 注意注意:對算術運算符兩邊的操作數應是數值:對算術運算符兩邊的操作數應是數值型,若是數字字符或邏輯型,則自動轉換成型,若是數字字符或邏輯型,則自動轉換成數值類型后再運算。數值類型后再運算。例如:例如:30-True 結果是結果是31,邏輯量,邏輯量True轉為數值轉為數值-1,False轉為數值轉為數值0False + 10 + 4 結果是結果是14本章目錄本章目錄vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄n 算術運算符的優先級優先級指數運算()取負()乘(*)、浮點除(/)整除()求模Mod 加(+)、減()n *算術表達式中不同數據類型的混合運算。規定
31、:運算結果的類型服從其中“級別”較高的類型。級別高低(從低到高)順序為:整型(2字節)長整型和單精度型(4字節)雙精度型(8字節)n 即: 同類型同類型數據運算后,其結果的類型類型保持不變(注:不變(注:除法所得到的結果為實數)。 整型數與實型數整型數與實型數運算后,其結果為實型數實型數。 整型數與長整型數整型數與長整型數運算后,其結果為長整型長整型數。 單精度數與雙精度數單精度數與雙精度數運算后,其結果為雙精度型雙精度型數。n 整除運算(整除運算( ):實數運算量先先4 4舍舍5 5入入后再整除再整除。n 求余運算(求余運算(ModMod):實數運算量先先4 4舍舍5 5入入后再求余再求余。
32、25vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄 1 + 2 * 14 Mod 17 6 / 2 = ? 求出下列表達式的值求出下列表達式的值想一想想一想 1. 按運算符的優先級分成若干運算步驟按運算符的優先級分成若干運算步驟 先乘除,再整除先乘除,再整除 和求和求Mod,后加運算,后加運算 2. 根據運算符的運算功能求出各步驟的結果根據運算符的運算功能求出各步驟的結果 1 + 28 Mod 5 結果為結果為 426vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄27例例: 將以下表達式寫成將以下表達式寫成VB合法的表達式合法的表達式na1yxxy (xy)za1+a2a-b+a(
33、-b) a1+a2 a(-b)+a*(-b) (xy)z a(1/n) y/(-x)+x/(-y)38(4 A/(4+(8/(3+B)vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄28例1. 乘方運算 例: 102 10的平方,結果為100 10(-2) 10的平方的倒數,結果為0.01 223 運算順序從左到右,結果為64 (-8)(-1/3) 錯誤,當底數為負時,指數應為整數2. 整數除法 例: 104 結果為2 25.686.99 先四舍五入再整除,結果為33. 取模運算 例: 10 Mod 4 結果為2 25.68 Mod 6.99 先四舍五入再求余數,結果為5vb程序設計簡明教
34、程程序設計簡明教程本書目錄本書目錄292 2、字符串運算符、字符串運算符 &、+ +本章目錄本章目錄例例: Hello & World 結果為結果為Hello World Check & 123 結果為結果為Check123 123 & 456 結果為結果為123456“ & 123 & 456 結果為結果為123456&:自動將兩側的操作數作為字符處理:自動將兩側的操作數作為字符處理 (&) 123 + 456 結果為結果為579 123 + 456 結果為結果為579 123 + 456 結果為結果為123456 Check
35、+ 123 錯誤錯誤:僅當兩側操作數都為字符串時才做字符串連接:僅當兩側操作數都為字符串時才做字符串連接vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄303 3、關系運算符、關系運算符n 關系運算符:關系運算符:、=、=、=、n 操作數可以是數值型、字符型、邏輯型、日期型等。操作數可以是數值型、字符型、邏輯型、日期型等。n 值:值:True/False 若關系成立,則返回若關系成立,則返回True,否則,否則返回返回False。運算符運算符例例結果結果= ABCDE = ABR False ABCDE ABR False= bc = abcde True233False= 23 = 3
36、True abc abcde True本章目錄本章目錄vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄使用關系比較時的注意事項311)數值型數據按其數值大小進行比較。2)對于字符型數據,若是單個字符,則按其ASCII碼值大小進行比較;若是漢字字符,則按內碼順序進行比較。常見字符值的大小順序排列如下: 09AZaz任何漢字3)日期型數據將日期看成“yymmdd”格式的6位整數,按數值大小進行比較。 vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄32比較結果: True False例: 45 35 結果為 False 45 = 45 結果為True 4 3 結果為True abc cdf
37、 結果為False for fortran 結果為True 例: 要判斷兩個單精度型變量A和B的值是否相等,可以用下式判斷: Abs(A-B) 例如: 要判斷1除以3是否等于0.3333,可以寫成: Abs(1/3-0.3333)10E-5vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄334 4、邏輯運算符、邏輯運算符 n 邏輯運算符:邏輯運算符:Not、And、Or、Xorn 作用:是將操作數進行邏輯運算作用:是將操作數進行邏輯運算n 結果:邏輯值結果:邏輯值True或或False。 本章目錄本章目錄vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄34例: 將以下條件寫成VB布爾表
38、達式 1. m1- n1jm1+ n1 2. X 5 3. M和N之一為5,但不能同時為5 4. -100k= M1-N1) And (J = M1+N1)2. (X 5.0)3. (M = 5) And (N5) Or (M 5) And (N = 5)4. (K -100) And (K 100) And (K Mod 2 = 0 )5. (X 0) And (X-1.0)*(X-2.0) = 0.0)vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄355 5、日期運算符、日期運算符* * * n 運算符:運算符:+、-n 形式:形式:D1-D2 間隔天數間隔天數 D1+m 向后向后m
39、天的日期天的日期 D1-m 向前向前m天的日期天的日期print date 2013/10/25 print date+5 2013/10/30 print date-5 2013/10/20 print #2013/10/20#-date -5 print date-#2013-10-20# 5 本章目錄本章目錄vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄36二、表達式二、表達式 P55P551、組成、組成 : 變量、常量、函數、運算符和圓括號變量、常量、函數、運算符和圓括號2、書寫規則:、書寫規則: 運算符不能相鄰運算符不能相鄰 例例a+ -b是錯誤的是錯誤的 乘號不能省略乘號不能
40、省略 例例x 乘以乘以y 應寫成:應寫成:x*y 括號必須成對出現括號必須成對出現(均使用圓括號均使用圓括號) 表達式從左到右在同一基準上書寫,無高低、大小表達式從左到右在同一基準上書寫,無高低、大小3、不同數據類型的轉換、不同數據類型的轉換 運算結果的數據類型向精度高的數據類型靠運算結果的數據類型向精度高的數據類型靠 IntegerLongSingleDouble=字符運算符字符運算符關系運算符關系運算符邏輯運算邏輯運算本章目錄本章目錄vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄37表達式書寫舉例表達式書寫舉例110lne45sin10yxefgabcda*b*c*d/e/f/g 或
41、或 a*b*c*d/(e*f*g) 例邏輯表達式書寫例邏輯表達式書寫,選拔優秀生的條件為:年齡選拔優秀生的條件為:年齡(Age)小小于于19歲,三門課總分歲,三門課總分(Total)高于高于285分,其中有一門為分,其中有一門為100分,如果其表達式寫為:分,如果其表達式寫為:Age285 And ( Mark1=100 Or Mark2 =100 Or Mark3=100 )如果取消括號有何問題?如果取消括號有何問題?sin(45*3.14/180)+(exp(10)+log(10)/sqr(x+y+1)本章目錄本章目錄vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄38【例例】計算下列
42、表達式的值。計算下列表達式的值。(1) 3+45*6/7 Mod 8=9 (2) Not (1998 Mod 4=0 And 1998 Mod 1000 Or 1998 Mod 400=0)解:(解:(1)各種運算符的優先順序為:)各種運算符的優先順序為:*、/Mod+=相應的運算過程及結果為:相應的運算過程及結果為: 3+45*6/7 Mod 8=93+430/7 Mod 8=9 3+44.29 Mod 8=9 3+44.29 Mod 8=9 3+1 Mod 8=9 3+1 Mod 8=9 3+1=9 3+1=9 4=9 4=9 False 結果為:結果為: Falsevb程序設計簡明教程程
43、序設計簡明教程本書目錄本書目錄Not (1998 Mod 4=0 And 1998 Mod 1000 Or 1998 Mod 400=0)39(2)各種運算符的優先順序為:)各種運算符的優先順序為:( )Mod(從左到右從左到右)關系運算(從左到關系運算(從左到右)右)AndOrNot相應的運算過程及結果為:相應的運算過程及結果為: Not (1998 Mod 4=0 And 1998 Mod 1000 Or 1998 Mod 400=0) Not (2=0 And 980 Or 398=0) Not (False And True Or False) Not (False Or False)
44、 Not (False) True結果為:結果為:Truevb程序設計簡明教程程序設計簡明教程本書目錄本書目錄40【例】 求VB表達式4 + 2 3 + 5 And Not 2 8 And Not 2 3 關系運算 False And Not True 非運算 False And False 結果 False【例】 一元二次方程ax2 + bx + c = 0有實根的條件為:a 0,并且b2 4ac 0,寫出相應的VB邏輯表達式。【分析】一元二次方程ax2 + bx + c = 0有實根的條件有兩個:a 0和b2 4ac 0。二者是與(And)的關系,用And連接上面的兩個式子。結果為:a 0
45、 And b2 4 * a * c = 0vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄41【例】 閏年的條件是:年份能被4整除,但不能被100整除;或者能被400整除。寫出閏年的VB邏輯表達式。【分析】設y表示年份。被某個數整除,可以用求模運算符Mod或 或Int()函數來實現。年份能被4整除,但不能被100整除的表達式為:y Mod 4 = 0 And y Mod 100 0年份能被400整除的表達式為:y Mod 400 = 0兩者取“或”,即得判斷閏年的邏輯表達式:(y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0)用Int()函數表示
46、為:(Int(y/4) = y/4 And Int(y/100) y/100) Or (Int(y/400) = y/400)vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄423.4 3.4 常用內部函數常用內部函數 P56P56n 把許多常用的功能編寫成一個個子程序,稱為函數把許多常用的功能編寫成一個個子程序,稱為函數(function)(function)。n VBVB函數函數: : 內部函數和用戶自定義函數內部函數和用戶自定義函數內內部部函函數數數學函數數學函數轉換函數轉換函數字符串函數字符串函數日期函數日期函數格式輸出函數格式輸出函數調用函數的形式:調用函數的形式:函數名函數名(
47、參數列表)(參數列表)本章目錄本章目錄vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄43 VB提供了上百種內部函數(庫函數),要求掌握這些常用函數的功能及使用。 調用方法:調用方法: 函數名(參數列表) 有參函數 函數名 無參函數 使用庫函數要注意參數的個數及其參數的數據類型要注意函數的定義域(自變量或參數的取值范圍)要注意函數的值域。說明說明vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄44一、數學函數:一、數學函數:用來進行數值運算的函數。 P57 -43Int(-3.5)Int(3.5) 取小于或等于取小于或等于N的最大整數的最大整數Int(Int(NN) )2.3Log(1
48、0)自然對數自然對數Log(Log(NN) )-3 3Fix(-3.5)Fix(3.9)取整取整Fix(Fix(NN) )20.086Exp(3)enExp(Exp(NN) )3.5Abs(-3.5)取絕對值取絕對值Abs(Abs(NN) )結果結果實例實例含義含義函數名函數名本章目錄本章目錄調用函數的形式:調用函數的形式:函數名函數名(參數列表)(參數列表)-4 4Round(-3.5)Round(3.5)四舍五入取整四舍五入取整Round(N)vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄45數學函數數學函數 0Tan(0)正切函數正切函數Tan(N)Tan(N)-1 Sgn(-3.
49、5)符號函數符號函數Sgn(N)Sgn(N) 0Sin(0)正弦函數正弦函數Sin(N)Sin(N)0,1)之間的數之間的數Rnd產生隨機數產生隨機數Rnd(N)Rnd(N)結果結果實例實例含義含義函數名函數名Rnd函數返回函數返回0和和1(包括(包括0但不包括但不包括1)之間的雙精度隨機數)之間的雙精度隨機數. 每次運行時,要產生不同序列的隨機數,先執行每次運行時,要產生不同序列的隨機數,先執行Randomize 語句。語句。產生產生a,b的之間的隨機整數:的之間的隨機整數:IntInt(Rnd Rnd * *(b-a+1b-a+1)+a a)本章目錄本章目錄1Cos(0)余弦函數余弦函數C
50、os(Cos(NN) )3Sqr(9)平方根平方根Sqr(N)Sqr(N)vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄46說明:說明: 在三角函數中,自變量在三角函數中,自變量x是以弧度為單位。是以弧度為單位。 如:如:sin300 sin(3.14159/180*30) Log和和Exp互為反函數,即互為反函數,即Log(Exp(x)、Exp(Log(x)。 Rnd函數返回函數返回0 1(包括(包括0但不包括但不包括1)之間的雙精度隨機數)之間的雙精度隨機數 【例例】:用:用Rnd產生:產生: 0100之間的隨機數,包括之間的隨機數,包括0和和100 = Int(Rnd*101) 5
51、35之間的隨機數,包括之間的隨機數,包括15和和35 = Int(Rnd*21+15) 說明注:產生一定范圍內的隨機整數通常表示為:說明注:產生一定范圍內的隨機整數通常表示為: Int(Rnd*(上限(上限-下限下限+1)下限)下限) Rnd函數默認情況下,每次運行一個應用程序,函數默認情況下,每次運行一個應用程序,VB提供相同的種提供相同的種子,即子,即Rnd產生相同序列的隨機數。產生相同序列的隨機數。 Randomize語句初始化隨機數生成器,這樣,系統會使隨機數生語句初始化隨機數生成器,這樣,系統會使隨機數生成器得到一個新的種子。成器得到一個新的種子。Randomize語句的形式如下:語
52、句的形式如下:Randomize n 其中參數其中參數n是一個整型數,作為指定隨機數生成器的是一個整型數,作為指定隨機數生成器的“種子種子”。如果省略參數如果省略參數n,則用系統計時器返回的值作為新的種子值。,則用系統計時器返回的值作為新的種子值。vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄47編寫的窗體單擊事件過程代碼如下:編寫的窗體單擊事件過程代碼如下: Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Randomize 初始化隨機數生成器初始化隨機數生成器 a = Int(90 * Rnd
53、 + 10) 產生產生10,99區間內的隨機整數區間內的隨機整數 b = Int(90 * Rnd + 10) c = a + b 求兩數之和求兩數之和 Print 產生的兩個隨機數產生的兩個隨機數: ; a, b Print 和數和數: ; c End Sub運行程序后單擊窗體,輸出結果是:運行程序后單擊窗體,輸出結果是: 產生的兩個隨機數:產生的兩個隨機數:56 71 和數:和數:127例例 通過隨機函數產生通過隨機函數產生2個兩位正整數,求這個兩位正整數,求這2個數個數 之和并顯示出來之和并顯示出來 再次運行程序,單擊窗體后輸再次運行程序,單擊窗體后輸出另一組結果是:出另一組結果是: 產
54、生的兩個隨機數:產生的兩個隨機數:18 37 和數:和數:55vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄48二、轉換函數二、轉換函數 P59P59 字母字母 ASCII ASCII 數值數值字符串字符串 大寫字母大寫字母 小寫字母小寫字母 數據類型的轉換等操作數據類型的轉換等操作ABCUcase$(abc)小寫字母轉為大寫字母小寫字母轉為大寫字母Ucase(C)144Oct$(100)十進制轉換成八進制十進制轉換成八進制Oct(N)123.45Str$(123.45)數值轉換為字符串數值轉換為字符串Str(N)123Val(123AB)數字字符串轉換為數值數字字符串轉換為數值Val(
55、C) abcLcase$(ABC)大寫字母轉為小寫字母大寫字母轉為小寫字母Lcase(C)64Hex(100)十進制轉換成十六進制十進制轉換成十六進制Hex(N)AChr$(65)ASCII碼值轉換成字符碼值轉換成字符Chr(N)65Asc(A)字符轉換成字符轉換成ASCII碼值碼值Asc(C)結果結果實例實例功能功能 函數名函數名本章目錄本章目錄2003-11-13CDate(2003/11/13)轉換成日期型轉換成日期型CDatevb程序設計簡明教程程序設計簡明教程本書目錄本書目錄49 轉換函數用于數據類型的轉換轉換函數用于數據類型的轉換 說明:說明:Val函數將數字字符串轉換為數值型數字
56、時,會自動將字符串中函數將數字字符串轉換為數值型數字時,會自動將字符串中的空格去掉,并依據字符串中排列在前面的數值常量來定值,例如:的空格去掉,并依據字符串中排列在前面的數值常量來定值,例如: Val(12A12) 的值為的值為 12 Val(1.2e2) 的值為的值為 120 Val(A12) 的值為的值為 0 使用轉換函數的示例使用轉換函數的示例 Private Sub Form_Click() x = 123 y = 123 a = Chr(Asc(x) + 5) b = Str(Val(x) + 5) c = Val(Str(y) + 5) Print a,b, c End Sub 運
57、行程序后單擊窗體,輸出結果是什么運行程序后單擊窗體,輸出結果是什么 ? ? 類型轉換函數示例類型轉換函數示例想一想想一想6 128 1235vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄50三、字符串函數三、字符串函數 P60 P60 字符串處理字符串處理BCDMid(ABCDE,2,3)取字符子串取字符子串Mid(C,N1,N2)ABCDTrim( ABCD )去掉字符串兩邊空格去掉字符串兩邊空格Trim(C)4Len(AB教育教育)字符串長度字符串長度Len(C)ABCLeft(ABCDE,3)取字符串左邊取字符串左邊n個字符個字符Left(C,N)結果結果實例實例說明說明 函數名函
58、數名本章目錄本章目錄“BCDRight(ABCD,3)取字符串右邊取字符串右邊n個字符個字符Right(C,N)ABCDLTrim( ABCD)去掉字符串左邊空格去掉字符串左邊空格LTrim(C)ABCDRTrim(ABCD )去掉字符串右邊空格去掉字符串右邊空格RTrim(C)vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄51字符串函數字符串函數 DCBAStrReverse(ABCD)將字符串反序將字符串反序StrReverse(C)AAAString(3,ABC)重復首字符重復首字符n次次String(N,C)S(0)=123 S(1)=“abS=Split(123,ab,)將字符
59、串分隔成字符數將字符串分隔成字符數組。與組。與Join作用相反作用相反Split(C,D)結果結果實例實例說明說明 函數名函數名本章目錄本章目錄 Space(3) 產生產生N個空格的字符串個空格的字符串 Space(N)A3AB3 Replace(ACDABCD,CD,3) 用用C2替代替代C1Replace(C,C1,C2)7InStr(2,EFABCDEFG,EF)從從n開始,在開始,在C1中找中找C2InStr(N,C1,C2,M)123abc A=array(123, ab,“c)Join(A, )將數組將數組A的各元素值用的各元素值用字符字符D分隔連成一長串分隔連成一長串Join(A
60、,D)vb程序設計簡明教程程序設計簡明教程本書目錄本書目錄52 例: LTrim(ABC) 結果為ABC表示空格表示空格RTrim(ABC) 結果為結果為ABCTrim(ABC) 結果為結果為ABCLeft(ABCDE,2) 結果為結果為ABRight(ABCDE,2) 結果為結果為DEMid(ABCDE,2,3) 結果為結果為BCDMid(ABCDE,2,6) 結果為結果為BCDELen(ABCDE) 結果為結果為5String(3,ABC) 結果為結果為AAAString(3,65) 結果為結果為AAAInStr(ABCDECDE,DE) 結果為結果為4InStr(5,ABCDECDE,DE) 結果為結果為7UCase(Abc) 結果為結果為ABCLCase(ABc) 結果為結果為abcvb程序設計簡明教程程序設計簡明教程本書目錄本書目錄53(1) 函數函數Mid(字符串,字符串,p,n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護理職業精神
- 天津師范大學津沽學院《金文與摩崖隸書(秦漢書法史論)》2023-2024學年第二學期期末試卷
- 綿陽職業技術學院《特殊教育學校語文課程與教學》2023-2024學年第二學期期末試卷
- 六安職業技術學院《定性數據統計分析》2023-2024學年第二學期期末試卷
- 廣西現代職業技術學院《耳鼻喉科學》2023-2024學年第二學期期末試卷
- 蘭考三農職業學院《中級英語閱讀1》2023-2024學年第二學期期末試卷
- 烏魯木齊職業大學《世界大國興衰史》2023-2024學年第二學期期末試卷
- 盤錦職業技術學院《微觀計量經濟學》2023-2024學年第二學期期末試卷
- 濟南工程職業技術學院《生物統計學6》2023-2024學年第二學期期末試卷
- 樓盤景觀評測方案(3篇)
- 運輸行業保密知識培訓
- 《治療痤瘡藥》課件
- 住院精神疾病患者自殺風險護理(2023版團標)
- 研究污水處理中的微生物群落結構
- 中等職業學校教職員工績效考核實施方案
- 國開電大《管理英語1》參考答案
- 簪花仕女圖賞析課件
- 音樂治療學基礎理論
- 鐵總物資〔2015〕63號:中國鐵路總公司物資采購管理辦法
- 高一語文-《批注式閱讀紅樓夢》課件
- 裝修工程監理投標方案(完整技術標)
評論
0/150
提交評論