VB第三章 順序結構_第1頁
VB第三章 順序結構_第2頁
VB第三章 順序結構_第3頁
VB第三章 順序結構_第4頁
VB第三章 順序結構_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、本章內(nèi)容及要求:本章內(nèi)容及要求:常量、變量與數(shù)據(jù)類型運算符、表達式與函數(shù)基本語句數(shù)據(jù)輸入、輸出與處理;本章重點:本章重點: 變量和常量的定義及使用變量和常量的定義及使用、運算符和表達運算符和表達 式的使用及常用內(nèi)部函數(shù)的使用。式的使用及常用內(nèi)部函數(shù)的使用。本章難點:本章難點: 數(shù)據(jù)類型、內(nèi)部函數(shù)。數(shù)據(jù)類型、內(nèi)部函數(shù)。3.1 基本數(shù)據(jù)類型基本數(shù)據(jù)類型在計算機高級語言中,每一個數(shù)據(jù)都屬于一個特定的數(shù)據(jù)類型。不同類型數(shù)據(jù)的表示、存儲及操作的方式是不相同的。Visual Basic不但提供了一系列的基本數(shù)據(jù)類型,包括字符串型、數(shù)值型、字節(jié)型、貨幣型、日期型、布爾字符串型、數(shù)值型、字節(jié)型、貨幣型、日期型

2、、布爾型、對象型和變體型型、對象型和變體型等,而且允許用戶根據(jù)需要自定義數(shù)據(jù)類型。1.1.字符串型數(shù)據(jù)字符串型數(shù)據(jù)字符串是一個由ASCII字符組成的字符序列,在Visual Basic程序中需要用雙引號把組成字符串的字符包括起來例:“南華大學” “Visual Basic”在Visual Basic中使用字符串數(shù)據(jù)應注意:(1)每個字符串都有長度,其大小由包含在字符串定界符中字符個數(shù)決定的,每個ASCII字符(包括空格字符)的長度為1(2)長度為0的字符串稱為空字符串,其形式為不含任何字符。 串與 串不同,前者不包含任何字符,長度為0,后者包含一個空格字符,長度為1。(3)字符串按存儲方式不同

3、可分為兩種,即變長字符串和定長字符串。2.2.數(shù)值型數(shù)據(jù)數(shù)值型數(shù)據(jù)數(shù)值型數(shù)據(jù)分為整型數(shù)和浮點數(shù)(實數(shù))兩類。其中整型數(shù)又分為整數(shù)和長整數(shù),浮點數(shù)分為單精度浮點數(shù)和雙精度浮點數(shù)。在Visual Basic中,整型數(shù)不僅可以用十進制表示,還可以用十六進制和八進制表示,如:100(十進制方法,表示數(shù)量100),&H64&(十六進制方法,表示數(shù)量100)、&O144&(八進制方法,表示數(shù)量100)。3.3.貨幣型數(shù)據(jù)貨幣型數(shù)據(jù) 貨幣數(shù)據(jù)類型是為表示錢款而設置的,精確到十數(shù)點后4位(小數(shù)點前有15位),在小數(shù)點后4位以后的數(shù)字將被舍去。它與浮點數(shù)的區(qū)別是:浮點數(shù)中的小數(shù)點

4、是“浮動”的,即小數(shù)點可以出現(xiàn)在數(shù)的任何位置,而貨幣類型數(shù)據(jù)的小數(shù)點是固定的。 日期型數(shù)據(jù)是用來表示日期的,它由年月日及時間(可缺?。┌凑找欢ǖ呐帕薪M成,由一對#號作為定界符。如:#8/24/2001 1:20 PM# 表示2001年8月24日下午1時20分。4.4.日期型數(shù)據(jù)日期型數(shù)據(jù)布爾型數(shù)據(jù)類型只有兩個數(shù)據(jù)True和False,分別表示邏輯真和邏輯假。 5.5.布爾型數(shù)據(jù)布爾型數(shù)據(jù)標準數(shù)據(jù)類型一覽表標準數(shù)據(jù)類型一覽表3.2.1 常常 量量 在程序運行過程中,其值在程序運行過程中,其值不能被改變不能被改變的量稱為常量。在的量稱為常量。在VB中有三類常量:中有三類常量: 普通常量普通常量 符

5、號常量符號常量 系統(tǒng)常量系統(tǒng)常量 一、普通常量一、普通常量 1 整型常量整型常量 (1)整型()整型(Integer):表示):表示-32768至至32767之間的整數(shù)之間的整數(shù) 例如:例如:10 110 20 (2)長整型()長整型(Long):): 表示表示-2,147,483,648至至2,147,483,647之間的整數(shù)之間的整數(shù) 例如:長整型常數(shù)的書寫:例如:長整型常數(shù)的書寫: 23& 通常我們說的整型常量指的是十進制整數(shù),但通常我們說的整型常量指的是十進制整數(shù),但VB中可中可以使用八進制和十六進制形式的整型常數(shù),因此整型常數(shù)以使用八進制和十六進制形式的整型常數(shù),因此整型常數(shù)

6、有如下三種形式:有如下三種形式: 1)十進制整數(shù)。如)十進制整數(shù)。如125,0,-89。202)八進制整數(shù)。以)八進制整數(shù)。以&或或&O(字母(字母O)開頭的整數(shù)是八)開頭的整數(shù)是八進制整數(shù),如進制整數(shù),如&O25表示八進制整數(shù)表示八進制整數(shù)25,即,即(25)8 ,等于十,等于十進制數(shù)進制數(shù)21。 3)十六進制。以)十六進制。以&H開頭的整數(shù)是十六進制整數(shù),如開頭的整數(shù)是十六進制整數(shù),如&H25表示十六進制整數(shù)表示十六進制整數(shù)25,即,即(25)16 ,等于十進制數(shù),等于十進制數(shù)37。VB中的顏色數(shù)據(jù)常常用十六進制整數(shù)表示。中的顏色數(shù)據(jù)常常用十六進制整

7、數(shù)表示。 2、實型常量、實型常量1) 單精度實型(單精度實型(Single):有效數(shù)為):有效數(shù)為7位位 表示表示-3.37E+38至至3.37E+38之間的實數(shù)之間的實數(shù) 2)雙精度實型()雙精度實型(Double):有效數(shù)為):有效數(shù)為15位位實型常量的表示:實型常量的表示:1)十進制小數(shù)形式。它是由正負號()十進制小數(shù)形式。它是由正負號(+,-)、數(shù)字)、數(shù)字(09)和小數(shù)點()和小數(shù)點(.)或類型符號(!、)或類型符號(!、#)組成,即)組成,即n.n,n!或!或n#,其中,其中n是是09的數(shù)字。的數(shù)字。例如例如0.123、.123、123.0、123!、!、123#等都是十進制小等都

8、是十進制小數(shù)形式。數(shù)形式。2)指數(shù)形式。)指數(shù)形式。nEm 或或 n.nEm, nDm 或或 n.nDm 例:例:1.25E+3 和和 1.25D+3相當于相當于1250.0 或者或者1.25103。 3、字符串常量字符串常量在在VB中字符串常量是用雙引號中字符串常量是用雙引號“”括起的一串字符,例括起的一串字符,例如如ABC,abcdefg,123,0,VB程序設計程序設計等。等。說明:說明:(1)字符串中的字符可以是所有西文字符和漢字、標)字符串中的字符可以是所有西文字符和漢字、標點符號等;點符號等;(2)表示空字符串,而表示空字符串,而 表示有一個空格的字符串;表示有一個空格的字符串;(

9、3)若字符串中有雙引號,例如)若字符串中有雙引號,例如ABDXYZ,則用連續(xù),則用連續(xù)兩個雙引號表示,即:兩個雙引號表示,即: ABDXYZ“4、邏輯(、邏輯(Boolean)數(shù)據(jù)類型)數(shù)據(jù)類型 只有兩個值只有兩個值True,或,或False。將邏輯數(shù)據(jù)轉(zhuǎn)換成整型時:。將邏輯數(shù)據(jù)轉(zhuǎn)換成整型時:True為為-1,F(xiàn)alse為為0;其它數(shù)據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時:;其它數(shù)據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時:非非0為為True, 0為為False。 5、日期常量、日期常量 日期(日期(Date)型數(shù)據(jù)按)型數(shù)據(jù)按8字節(jié)的浮點數(shù)來存儲,表示日字節(jié)的浮點數(shù)來存儲,表示日期范圍從公元期范圍從公元100年年1月月1日日9999年

10、年12月月31日,而時間范圍從日,而時間范圍從0:00:0023:59:59。 一種在字面上可被認作日期和時間的字符,只要用號碼符一種在字面上可被認作日期和時間的字符,只要用號碼符“ “#”括起來,都可以作為日期型數(shù)值常量。括起來,都可以作為日期型數(shù)值常量。 例:例:#09/02/99#、#January 4,1989#,#2002-5-4 14:30:00 PM#都是合法的日期型常量。都是合法的日期型常量。 二、符號常量二、符號常量 在程序中,某個常量多次被使用,則可以使用一個符在程序中,某個常量多次被使用,則可以使用一個符號來代替該常量,這樣不僅在書寫上方便,而且有效地改進號來代替該常量,

11、這樣不僅在書寫上方便,而且有效地改進了程序的可讀性和可維護性。了程序的可讀性和可維護性。 VB中使用關鍵字中使用關鍵字Const 聲明符號常量。其格式如下:聲明符號常量。其格式如下:Const 常量名常量名 As 類型類型|類型符號類型符號=常數(shù)表達式常數(shù)表達式例如:例如: Const PI#=3.1415926535 等價于:等價于: Const PI As Double=3.1415926535 三、系統(tǒng)常量三、系統(tǒng)常量 VB系統(tǒng)提供了應用程序和控件的系統(tǒng)定義常數(shù)。它們系統(tǒng)提供了應用程序和控件的系統(tǒng)定義常數(shù)。它們存放于系統(tǒng)的對象庫中,在存放于系統(tǒng)的對象庫中,在“對象瀏覽器對象瀏覽器”中的中

12、的 Visual Basic(VB) 和和 Visual Basic for applications(VBA)對象)對象庫中列舉了庫中列舉了 Visual Basic 的常數(shù)的常數(shù) 例如,要將文本框例如,要將文本框Text1的前景顏色設置為紅色,可以的前景顏色設置為紅色,可以使用下面的語句:使用下面的語句: Text1.ForeColor=vbRed 這里的這里的vbRed就是系統(tǒng)常量。這比直接使用就是系統(tǒng)常量。這比直接使用16進制數(shù)來進制數(shù)來設置要直觀得多。設置要直觀得多。 又如,窗口狀態(tài)屬性又如,窗口狀態(tài)屬性WindowsState可取可取0,1,2三個值,對應三個值,對應三種不同狀態(tài)(

13、參見第二章表三種不同狀態(tài)(參見第二章表2-2所示)。所示)。 在程序中使用語句在程序中使用語句 Myform.WindowsState=vbMaxmized,將窗口極大化,顯然要比使用語句將窗口極大化,顯然要比使用語句Myform.WindowsState=2 易于閱讀和理解。易于閱讀和理解。 一一. .變量和常量的命名規(guī)則變量和常量的命名規(guī)則 1. 1. 以字母或漢字開頭以字母或漢字開頭,后可跟字母、數(shù)字或下劃線組成,后可跟字母、數(shù)字或下劃線組成,長度小于等于長度小于等于4040個字符;個字符; 2. 2. 不能使用不能使用VBVB中的關鍵字;中的關鍵字; 3. VB3. VB中中不區(qū)分不區(qū)

14、分變量名的大小寫變量名的大小寫. . 4. 4. 為了增加程序的可讀性,可在變量名前加一個縮寫的前為了增加程序的可讀性,可在變量名前加一個縮寫的前綴來表明該變量的數(shù)據(jù)類型。綴來表明該變量的數(shù)據(jù)類型。 例如:例如:strAbc, strAbc, (字符串變量)字符串變量) iCount, iCount, (整型(整型變量)變量) dblx, dblx, (雙精度變量)(雙精度變量) sYz sYz (單精度變量)(單精度變量)3.2.2 變變 量量 1 1以下變量名中合法的是以下變量名中合法的是( () )。 A Acase Bcase Bname10name10 C Ct-name Dt-na

15、me Dx x* *y y2 2以下變量名中合法的是以下變量名中合法的是( () )。 A Ax2-1 Bx2-1 Bprint print C Cstr_n Dstr_n D2x2x二二. .變量聲明變量聲明 1.1.用用DimDim語句顯式聲明變量語句顯式聲明變量 形式:形式:Dim Dim 變量名變量名 AS AS 類型類型 Dim Dim 變量名變量名 類型符類型符 例例 Dim iCount As integer , sum As Dim iCount As integer , sum As singlesingle 等價于等價于 Dim iCount%, sum!Dim iCoun

16、t%, sum!2.2.隱式聲明隱式聲明 Visual BasicVisual Basic允許用戶在編寫應用程序時,不允許用戶在編寫應用程序時,不聲明變量而直接使用,系統(tǒng)臨時為新變量分配存儲空間聲明變量而直接使用,系統(tǒng)臨時為新變量分配存儲空間并使用,這就是隱式聲明。所有隱式聲明的變量都是并使用,這就是隱式聲明。所有隱式聲明的變量都是VariantVariant數(shù)據(jù)類型。數(shù)據(jù)類型。Visual BasicVisual Basic根據(jù)程序中賦予變量的根據(jù)程序中賦予變量的值來自動調(diào)整變量的類型。值來自動調(diào)整變量的類型。 例如:例如: 下面是一個很簡單的程序,其使用的變量下面是一個很簡單的程序,其使用

17、的變量a, b, Suma, b, Sum都沒有事先定都沒有事先定義。義。Private Sub Form_Click()Sum = 0a = 10: b = 20Sum = a + bPrint Sum=; SumEnd Sub另外,可在變量名后加特定的后綴字符,通過后綴字符來隱式另外,可在變量名后加特定的后綴字符,通過后綴字符來隱式說明變量的類型。具體如下:說明變量的類型。具體如下:后綴字符為后綴字符為“$ $”時:隱含表示變量類型為字符串型。時:隱含表示變量類型為字符串型。后綴字符為后綴字符為“% %”時:隱含表示變量類型為整型。時:隱含表示變量類型為整型。后綴字符為后綴字符為“&

18、; &”時:隱含表示變量類型為長整型。時:隱含表示變量類型為長整型。后綴字符為后綴字符為“! !”時:隱含表示變量類型為單精度型。時:隱含表示變量類型為單精度型。后綴字符為后綴字符為“# #”時:隱含表示變量類型為雙精度型。時:隱含表示變量類型為雙精度型。3強制顯式聲明強制顯式聲明Option Explicit語句語句 良好的編程習慣都應該是良好的編程習慣都應該是“先聲明變量,后使用變量先聲明變量,后使用變量”,這樣做可以提高程序的效率,同時也使程序易于調(diào)試。這樣做可以提高程序的效率,同時也使程序易于調(diào)試。Visual Basic 中可以強制顯式聲明,可以在窗體模塊、標準中可以強制顯式

19、聲明,可以在窗體模塊、標準模塊和類模塊的通用聲明段中加入語句:模塊和類模塊的通用聲明段中加入語句:Option Explicit1.1.下面可以正確定義下面可以正確定義2 2個整型變量和個整型變量和1 1個字符個字符串變量的語句是串變量的語句是( () )。 A ADim nDim n,m As Integerm As Integer,s As String s As String B BDim a%Dim a%,b$b$,c As Stringc As String C CDim a As IntegerDim a As Integer,b b,c As String c As String

20、 D DDim x%Dim x%,y As Integery As Integer,z As Stringz As String2.2.執(zhí)行語句執(zhí)行語句Dim XDim X,Y as IntegerY as Integer后,后,( () )。 A AX X和和Y Y均被定義為整型變量均被定義為整型變量 B BX X和和Y Y被定義為變體類型變量被定義為變體類型變量 C CX X為整型變量,為整型變量,Y Y為變體類型變量為變體類型變量 D DX X為變體類型變量,為變體類型變量,Y Y為整型變量為整型變量 3 3在程序中分別將變量在程序中分別將變量IntaInta、BlBl、StSt、D D

21、定義為整型、布爾型、字符串型定義為整型、布爾型、字符串型和日期型,下列賦值語句在執(zhí)行時會出和日期型,下列賦值語句在執(zhí)行時會出錯的是錯的是( () )。 A AInta=4.6 BInta=4.6 BBl=#True#Bl=#True# C CSt=123.5 DSt=123.5 DD=#10/05/01#D=#10/05/01#3.3.1 . 3.3.1 . 算術表達式算術表達式 1. 1. 算術運算符算術運算符(均是雙目運算,(均是雙目運算,iaia=3=3)例:例:5+10 mod 10 9 / 3 +2 2 5+10 mod 10 9 / 3 +2 2 結果是:結果是:10算術表達式由算

22、術運算符、數(shù)值型常量、數(shù)值型變量和函數(shù)組成。算術運算符是最常用的運算符算術運算算術運算類函數(shù)類函數(shù)輸入?yún)?shù)輸入?yún)?shù)x和函和函數(shù)返回值類型數(shù)返回值類型功能說明功能說明例子例子Sin(x)均為數(shù)值類型返回x的正弦值Sin(30*3.14/180)=0.499770102643102Cos(x)均為數(shù)值類型返回x的余弦值Cos(45*3.14/180)=0.7073882691672Tan(x)均為數(shù)值類型返回x的正切值Tan(30*3.14/180)=0.576996400392873Atn(x)均為數(shù)值類型返回x的反正切值Atn(0.5773502691896)=0.52359877559829

23、Abs(x)均為數(shù)值類型返回x的絕對值Abs(-51.3)=51.3Exp(x)均為數(shù)值類型返回以e為底,x為指數(shù)的冪。 Exp(1)=2.71828182845905Log(x)均為數(shù)值類型返回x的自然對數(shù)Log(1024)/log(10)=3.01029995663981Sgn(x)均為數(shù)值類型求出x的符號Sgn(-3.5)=-1 ;Sgn(3.5)= 1Sqr(x)均為數(shù)值類型返回x的平方根Sqr(5)=2.23606797749979Int(x)均為數(shù)值類型返回不超過x的最大整數(shù)Int(3.5)=3;Int(-3.5)=-4Fix(x)均為數(shù)值類型若x為正數(shù),返回整數(shù)部分;若x為負,返

24、回數(shù)大于或等于x的第一個負整數(shù)。Fix (3.5)=3;Fix (-3.5)=-3Round(x)均為數(shù)值類型返回x經(jīng)過四舍五入以后的結果。Round(3.5)=4;Round(-3.5)= -4Rnd(x)均為數(shù)值類型1.缺省參數(shù)時,隨機返回一個0到1之間的小數(shù)(包含0不包含1);2.x0,產(chǎn)生下一個隨機數(shù);4.x=0,產(chǎn)生最近生成的隨機數(shù); 在使用Rnd之前,最好先使用Randomize語句初始化隨機數(shù)生成器以避免使用相同種子產(chǎn)生相同隨機數(shù)列。算術運算類函數(shù)算術運算類函數(shù)aacbb242baba例:將下列算術表達式轉(zhuǎn)為例:將下列算術表達式轉(zhuǎn)為VBVB表達式:表達式:下列表述中不能判斷下列表

25、述中不能判斷x x是否為偶數(shù)的是是否為偶數(shù)的是( () )。 A)x/2A)x/2Int(x/2) B)x Mod 2Int(x/2) B)x Mod 20 0 C)Fix(x/2) C)Fix(x/2)x/2 D)x2x/2 D)x20 0可以產(chǎn)生可以產(chǎn)生30,5030,50之間的整數(shù)的表達式之間的整數(shù)的表達式( )( )。 A)Int(RndA)Int(Rnd* *21+30) B)Int(Rnd21+30) B)Int(Rnd* *20+30)20+30) C)Int(Rnd C)Int(Rnd* *50-Rnd50-Rnd* *30)D)Int(Rnd30)D)Int(Rnd* *30

26、+50)30+50)3.3.2. 3.3.2. 字符串運算符與字符串表達式字符串運算符與字符串表達式 字符串運算符有:字符串運算符有: 、+ + 。 功能是字符串連接功能是字符串連接例如:例如: ABCD + EFGHI ABCD + EFGHI 結果為:結果為:ABCDEFGHIABCDEFGHI“ VB ” & “ VB ” & “程序設計教程程序設計教程” ” 結果為:結果為:VBVB程序設計教程序設計教程程說明:當連接符兩旁的操作量都為字符串時,上述兩個連接符等價。說明:當連接符兩旁的操作量都為字符串時,上述兩個連接符等價。它們區(qū)別是:它們區(qū)別是: + +(連接運算)(

27、連接運算):兩個操作數(shù)均應為字符串類型;:兩個操作數(shù)均應為字符串類型; & &(連接運算)(連接運算):兩個操作數(shù)既可為字符型也可為數(shù)值型,:兩個操作數(shù)既可為字符型也可為數(shù)值型,當是數(shù)值型時,系統(tǒng)自動先將其轉(zhuǎn)換為數(shù)字字符,然后進行連當是數(shù)值型時,系統(tǒng)自動先將其轉(zhuǎn)換為數(shù)字字符,然后進行連接操作。接操作。 例:例:100 + 123 100 + 123 結果為結果為 223223100 + 123 100 + 123 結果為結果為 100123100123 AbcAbc + 123 + 123 出錯出錯 100 & 123 100 & 123 結果為結果為 1001

28、23100123 100 & 123 100 & 123 結果為結果為 100123100123 AbcAbc & 123 & 123 結果為結果為 Abc123Abc123 AbcAbc & 123 & 123 結果為結果為 Abc123Abc123 注意:使用運算符注意:使用運算符“&”時,變量與運算符時,變量與運算符“&”之間應之間應加一個加一個空格空格。這是因為符號。這是因為符號“&”還是長整型的類型定義符,還是長整型的類型定義符,如果變量與符號如果變量與符號“&”接在一起,接在一起,VB系統(tǒng)先把它作為類型

29、定系統(tǒng)先把它作為類型定義符處理,因而就會出現(xiàn)語法錯誤。義符處理,因而就會出現(xiàn)語法錯誤。 見教材P34 表3.4字符串處理類函數(shù)字符串處理類函數(shù)功能說明例子Left( x, n )Left( x, n )返回字符串x最左邊的n個字符Left(123456789,4)=1234Right(x, n)Right(x, n)返回字符串x最右邊的n個字符Right(123456789,4)=6789Mid(x, n1,n2)Mid(x, n1,n2)返回字符串x中的n2個字符,返回的字符從x的第n1個字符開始Mid(123456789,6)=6789Mid(123456789,6,2)=67InStrI

30、nStr(n,x1,x2)(n,x1,x2)返回在x1中,x2最先出現(xiàn)的位置。如果加上參數(shù)n,則表示由x1的第n個字符開始找起。Instr(1234567891234,5)=5 Instr(1234567891234, 2341)=0Len(x)Len(x)返回x的長度Len(ABC一二)=5Len(12345)=5LTrimLTrim(x)(x)返回去除字符串x前面空格的字符串Ltrim( Visual Basic )=Visual Basic RTrimRTrim(x)(x)返回去除字符串x后面空格的字符串Rtrim( Visual Basic )= Visual BasicTrim(x)

31、Trim(x)返回去除字符串x前后空格的字符串Trim( Visual Basic )=Visual BasicSpace(x)Space(x)返回由指定數(shù)量x個空格組成的字符串Space(5)= String(String(n,sn,s) )返回由指定數(shù)量n個s串的首字符組成的字符串String(5, abcd)= aaaaaLcaseLcase( x)( x)返回轉(zhuǎn)換成小寫的字符串Lcase(Visual BASIC)=visual basicUcaseUcase(x)(x)返回轉(zhuǎn)換成大寫的字符串Ucase(Visual BASIC)=VISUAL BASIC字符串處理類函數(shù)字符串處理類函

32、數(shù)執(zhí)行以下程序后輸出的是執(zhí)行以下程序后輸出的是( () )。Private Sub Command1_Click()Private Sub Command1_Click()chch=AABCDEFGH=AABCDEFGHPrint Mid(Right(ch,6),Len(Left(ch,4),2)Print Mid(Right(ch,6),Len(Left(ch,4),2)End SubEnd Sub A)CDEFGH B)ABCD C)FG D)AB A)CDEFGH B)ABCD C)FG D)AB3.3.3 日期型表達式日期型表達式日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),只能有下面日期型數(shù)據(jù)是

33、一種特殊的數(shù)值型數(shù)據(jù),只能有下面3種情況:種情況:1一個日期型數(shù)據(jù)可以相減:一個日期型數(shù)據(jù)可以相減: DateB-DateA結果是一個數(shù)值型整數(shù)結果是一個數(shù)值型整數(shù)(兩個日期相差的天數(shù)兩個日期相差的天數(shù))。例如:例如:#05/08/2002# - #05/01/2002# 其結果為數(shù)值:其結果為數(shù)值:72一個日期型數(shù)據(jù)(一個日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)()與一數(shù)值數(shù)據(jù)(n)可作加法)可作加法運算:運算:DateA+n其結果仍是一個日期型數(shù)據(jù)。其結果仍是一個日期型數(shù)據(jù)。例如:例如:#05/01/2002# +7 其結果為日期型數(shù)據(jù):其結果為日期型數(shù)據(jù):#05/08/2002#3一個日期型

34、數(shù)據(jù)(一個日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)()與一數(shù)值數(shù)據(jù)(n)可作減法)可作減法運算:運算: DateA-n其結果仍是一個日期型數(shù)據(jù)。其結果仍是一個日期型數(shù)據(jù)。例如:例如:#05/08/2002# - 7其結果為日期型數(shù)據(jù):其結果為日期型數(shù)據(jù):#05/01/2002#日期時間類日期時間類函數(shù)函數(shù)功能說明功能說明例子例子Now( )返回一個當前系統(tǒng)日期及時間的 值N o w ( ) = # 2 0 0 3 - 1 0 - 1 6 11:13:09#Time()返回一個當前系統(tǒng)時間Time()=#11:13:09#Date()返回當前系統(tǒng)日期Date()=#Day(D)返回一個范圍在 1 到

35、 31 之間的值,表示月中的一天。D=#Day(D)=1Month(D)返回一個范圍為 1 到 12的值,表示一年中的 12 個月。Month(D)=10Year(D)返回一個表示年的范圍為 1 到 9999的值。Year(D)=2003Hour(D)返回一個范圍為 0 到 23的 值,表示一天中的 24 小時。T=#2003/10/01 13:15:18#Hour(T)=13Minute(D)返回一個范圍為 0 到 59的 值,表示一小時中的 60 分鐘。Minute(T)=15Second(D)返回一個范圍為 0 到 59的值,表示一分鐘的 60 秒。Second(T)=18日期處理類函數(shù)

36、日期處理類函數(shù)3.3.4 3.3.4 關系運算符與關系表達式關系運算符與關系表達式 關系運算符都是雙目運算,是用來比較兩個運算量之間關系運算符都是雙目運算,是用來比較兩個運算量之間的關系,關系表達式的運算結果為邏輯量。若關系成立,結的關系,關系表達式的運算結果為邏輯量。若關系成立,結果為果為True,若關系不成立,結果為,若關系不成立,結果為False。 VB中的關系運算符如下表所示。中的關系運算符如下表所示。 運算符運算符含義含義優(yōu)先級優(yōu)先級實例實例結果結果小于小于所有關系運算所有關系運算優(yōu)先級相同。優(yōu)先級相同。低于算術運算低于算術運算的加的加“+”,減,減“-”運算,高運算,高于邏輯非于邏

37、輯非“Not”運算。運算。15+1020False=小于或等于小于或等于10大于大于1020False=大于或等于大于或等于This= ThatTrue=等于等于This= ThatFalse不等于不等于This ThatTrueLike字符串匹配字符串匹配This Like *isTrueIs對象比較對象比較 關系運算的規(guī)則如下:關系運算的規(guī)則如下: (1 1)當兩個操作式均為數(shù)值型,按數(shù)值大小比較。)當兩個操作式均為數(shù)值型,按數(shù)值大小比較。 (2)字符串比較)字符串比較,則按字符的則按字符的ASCII碼值從左到右一一比較碼值從左到右一一比較,直到出現(xiàn)不同的字符為止直到出現(xiàn)不同的字符為止.。

38、 例:例: ABCDE ABRA 結果為結果為 False (3)數(shù)值型與可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較,)數(shù)值型與可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較, 如:如:29189 ,按數(shù)值比較,結果為,按數(shù)值比較,結果為False。(4)數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較,)數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較, 如:如:77 sdcd ,不能比較,系統(tǒng)出錯。,不能比較,系統(tǒng)出錯。(5)“Like”運算符是運算符是VB6.0新增加的。新增加的。 其使用格式為:其使用格式為:str1 Like str2 3.3.5 3.3.5 邏輯運算符與邏輯表達式邏輯運算符與邏輯表達式 Not Not 邏輯非為單目運算符(要求一

39、個操作數(shù)),其它為邏輯非為單目運算符(要求一個操作數(shù)),其它為雙目運算符。雙目運算符。 條件表達式條件表達式1 And 1 And 條件表達式條件表達式2 2 條件表達式均為條件表達式均為T T 結果為結果為T T 條件表達式條件表達式1 Or 1 Or 條件表達式條件表達式2 2 條件表達式有一個條件表達式有一個T T 結果結果為為T T說明:說明:(1)邏輯運算符的優(yōu)先級不相同,)邏輯運算符的優(yōu)先級不相同,Not(邏輯非)最高,(邏輯非)最高,但它低于關系運算,但它低于關系運算,Imp(邏輯蘊含)最低。(邏輯蘊含)最低。(2)VB中常用的邏輯運算符是中常用的邏輯運算符是Not、And和和O

40、r。它們用于。它們用于將多個關系表達式進行邏輯判斷。將多個關系表達式進行邏輯判斷。例如,數(shù)學上表示某個數(shù)在某個區(qū)域時用表達式:例如,數(shù)學上表示某個數(shù)在某個區(qū)域時用表達式: 10X=10 And X=字符運算符字符運算符關系運算符關系運算符邏輯運算邏輯運算 說明:說明: 1當一個表達式中出現(xiàn)多種運算符時,首先進行算術運當一個表達式中出現(xiàn)多種運算符時,首先進行算術運算符,接著處理字符串連接運算符,然后處理比較運算符,算符,接著處理字符串連接運算符,然后處理比較運算符,最后處理邏輯運算符,在各類運算中再按照相應的優(yōu)先次最后處理邏輯運算符,在各類運算中再按照相應的優(yōu)先次序進行。序進行。 2可以用括號改

41、變優(yōu)先順序,強令表達式的某些部分可以用括號改變優(yōu)先順序,強令表達式的某些部分優(yōu)先運行。括號內(nèi)的運算總是優(yōu)先于括號外的運算。對于優(yōu)先運行。括號內(nèi)的運算總是優(yōu)先于括號外的運算。對于多重括號,總是由內(nèi)到外。多重括號,總是由內(nèi)到外。 . 表達式的書寫中需注意的問題表達式的書寫中需注意的問題 (1)運算符不能相鄰。例)運算符不能相鄰。例a+-b是錯誤的。是錯誤的。 (2)乘號不能省略。例)乘號不能省略。例x 乘以乘以y 應寫成:應寫成:x*y (3)括號必須成對出現(xiàn),均使用圓括號。)括號必須成對出現(xiàn),均使用圓括號。 (4)表達式從左到右在同一基準并排書寫,不能出現(xiàn)上下)表達式從左到右在同一基準并排書寫,

42、不能出現(xiàn)上下標標 (5)要注意各種運算符的優(yōu)先級別,為保持運算順序,在)要注意各種運算符的優(yōu)先級別,為保持運算順序,在寫表達式時需要適當添加括號()寫表達式時需要適當添加括號(),若用到庫函數(shù)必須按若用到庫函數(shù)必須按庫函要求書寫庫函要求書寫。 如:如: (b-sqr(b*b-4*a*c)/(2*a) (a+b)/(a-b) aacbb242baba3.4 基本語句基本語句3.4.1 3.4.1 賦值語句賦值語句賦值語句的一般格式為賦值語句的一般格式為 = 例:x = 5 常量賦值y = 2 * x + 2 + 3 算術運算表達式賦值strName =張三 字符串表達式賦值i = i + 1 變

43、量自加賦值注意:(1)一個賦值語句只能給一個變量賦值。a=b=c=4 【錯誤】(2)賦值是一個復制過程。例如,a=2 b=a 賦值后a、b結果均為2(3)賦值語句左邊變量與右邊表達式的數(shù)據(jù)類型必須是一致的或相容的。例如,假設a是一個單精度的變量,則下面的用法是錯誤的。a“123abc” 賦值類型與定義類型不匹配(4)賦值符號“”雖然與等號“”在形式上是一樣的,但是它們的語義是完全不同的。例如 i=i+1 作等于運算結果為邏輯假,但是作為一條賦值語句則是完全正確可行的。它的含意是把變量i的值加1再賦給i。如果原來i的值為1,則執(zhí)行該語句后變量i的值就變成了2。函數(shù)名函數(shù)名功能說明功能說明例子例子

44、Asc(s)Asc(s)返回字符串s的首字符的ASCII碼值Asc(Apple)=65Chr(n)Chr(n)返回一個ASCII碼為n的字符Chr(65)= ACDblCDbl(n)把n轉(zhuǎn)換成雙精度數(shù)CDbl(234.456784*8.2*0.01)=19.225456288CIntCInt(n)把n的小數(shù)部分四舍五入,轉(zhuǎn)換成整數(shù)CInt(2345.5678)=2346CLngCLng(n)把x的小數(shù)部分四舍五入轉(zhuǎn)換成長整數(shù)CLng(25427.45)=25427CSngCSng(n)把x的值舍入為單精度數(shù)CSng(75.3421115)=75.34211Str(n)Str(n)返回n的字符串

45、形式Str(100)= 100注意:Len(str(100)=4(有符號位)Val(s)Val(s)返回s中所含的數(shù)值。若遇到字母(指數(shù)符號除外)則停止轉(zhuǎn)換Val(35)=1.2Val(1.2E123)=1.2E+123附:數(shù)據(jù)轉(zhuǎn)換類函數(shù)3.4.2 3.4.2 注釋語句注釋語句Visual Basic有兩個注釋語句,其語法格式為:RemRem 或或 3.4.3 3.4.3 暫停語句暫停語句 Visual Basic語言使用Stop語句來暫停語句的執(zhí)行,以幫助程序員調(diào)試程序。當遇到Stop語句時,程序會暫停繼續(xù)執(zhí)行后面的語句,進入調(diào)試狀態(tài)。3.4.4 3.4.4 程序結束語句程序結束語句 調(diào)試狀

46、態(tài)下可點擊結束按鈕終止程序執(zhí)行。如果希望程序能自動結束,需要使用程序結束語句。Visual Basic的程序結束語句是End。3.4.5 3.4.5 數(shù)據(jù)輸入輸出語句數(shù)據(jù)輸入輸出語句1. 1. 數(shù)據(jù)輸入函數(shù)(數(shù)據(jù)輸入函數(shù)(InputBoxInputBox)InputBox在一個對話框中顯示提示,等待用戶輸入文字或單擊按鈕,然后返回包含文本框內(nèi)容的字符串,其標準格式如下:InputBox(Prompt,Title,DefaultResponse,Xpos,Ypos,HelpFile,Context) 該函數(shù)返回值的類型是字符串,有7個參數(shù),除第一個參數(shù)第一個參數(shù)外,其余參數(shù)都是可選的。各參數(shù)的含

47、義如下: (1)PromptPrompt,必需的參數(shù)必需的參數(shù),作為輸入框中提示信息出現(xiàn)的字符串。如果Prompt包含多個行,則可在各行之間用回車符(Chr(13)、換行符(Chr(10) 來分隔。(2)TitleTitle,可選的參數(shù),作為輸入框標題欄中的字符串。若省略該參數(shù),則在標題欄中顯示應用程序名稱。(3)DefaultDefault,可選的參數(shù),作為輸入框中默認的字符串,在沒有其它輸入時作為缺省值。若省略該參數(shù),則文本框為空。函數(shù)InputBox(“請輸入數(shù)據(jù)”,“數(shù)據(jù)輸入測試”,0)2 2消息對話框(消息對話框(MsgBoxMsgBox)函數(shù)格式如下:MsgBox(PromptMs

48、gBox(Prompt, , , ,HelpFile,ContextHelpFile,Context)該函數(shù)有5個參數(shù),除第一個參數(shù)是必選第一個參數(shù)是必選,其余參數(shù)都是可選的。各參數(shù)的含義如下:(1)Prompt:是一個字符串,其長度不能超過1024個符,如果超過,則多余的字符被截掉。該字符串的內(nèi)容將在由MsgBox函數(shù)產(chǎn)生的對話框內(nèi)顯示。當字符串在一行內(nèi)顯示不完時將自動換行,當然也可以用“Chr$(13)+Chr$(10)”強制換行。(2)VbMsgBoxStyle:對話框類型,對話框類型的設置包括三個方面:按鈕類型設置、圖標類型設置和標識默認按鈕,它們對應著同一個參數(shù),可用系統(tǒng)提供的枚舉類

49、型符號常量以“+”連接來表示.intMsg=MsgBox(你輸入的學號正確嗎?,vbYesNoCancel+vbExclamation ,“輸入確認”)3. Print3. Print方法輸出方法輸出Print方法可以用于在窗體、打印機、圖片框等對象上實現(xiàn)輸出,格式為: 對象名稱對象名稱.Print.Print 表達式表達式,| |;表達式表達式 Print 好的開始是成功的一半! 在窗體中輸出Printer.Print 打印機測試 在打印機上輸出Picture1.Print 我的照片 在圖片框中輸出Dim a As Integera=123Print a 輸出a的值6,并換行Print 輸出

50、空行,并換行Print 張三 輸出張三,并換行Print 1; 2; 3,Print 1; 2; 3Print 1, 2, 3;Print Over! 3.5 3.5 控件控件3.5.1 3.5.1 文本框控件文本框控件1.文本框控件的常用屬性屬性屬性說明說明ScrollBars返回/設置一個值,指出對象是否有垂直或水平滾動條。PasswordCharPasswordChar返回/設置一個值,決定是否在控件中顯示用戶鍵入字符或保留區(qū)字符。TextText返回/設置控件中包含的文本。maxlengthmaxlength返回/設置控件中可以輸入的字符的最大數(shù)。Multiline返回/設置一個值,決

51、定一個控件是否可以接受多行文本。Selstart選中文本的起始位置,返回的是選中文本的第一個字符的位置。Seltext返回或設置當前所選文本的字符串,如果沒有選中的字符,那么返回值為空字符串即。Sellength選中文本的長度,返回的是選中文本的字符串個數(shù)。2 2.文本框控件的常用事件文本框的常用事件有Change、KeyPress和LostFocus3種。 3. 文本框控件的常用方法SetFocus是文本框中常用的方法。格式:對象.SetFocus功能:該方法可以把光標移到指定的文本框中,當在窗體上建立了多個文本框后,可以用該方法把光標置于所需要的文本框中。 例例 1 焦點切換(見教材例3.

52、2)例例 2 文件框?qū)傩栽O置(見教材例3.3)3.5.2 3.5.2 標簽控件標簽控件標簽(Label)是最簡單的輸出控件。屬性屬性說明說明BackColorBackColor返回/設置對象中文本和圖形的背景色。BackStyle指出Label或Shape的背景樣式是透明的還是不透明的。BorderStyle 返回/設置對象的邊框樣式。CaptionCaption返回/設置對象的標題欄中或圖標下面的文本。ForeColor返回/設置對象中文本和圖形的前景色。Autosize決定控件是否能自動調(diào)整大小以顯示所有的內(nèi)容。Height返回/設置對象的高度。Left返回/設置對象的內(nèi)部左邊緣與容器其左

53、邊緣之間的距離。Top返回/設置對象的內(nèi)部左邊緣與容器其頂端之間的距離。Width返回/設置對象的寬度。Enabled返回/設置一個值,決定一個對象是否響應用戶生成事件。TabIndex返回/設置父窗體對象響應tab鍵的順序。VisibleVisible返回/設置一個值,決定對象是否可見。Alignment返回/設置復選框或選項按鈕、或一個控件的文本的對齊。FontFont返回/設置一個Font對象。WordWrap返回/設置一個值,決定控件是否擴大以顯示標題文字。標簽控件的標簽控件的主要主要屬性屬性.3滾動條控件滾動條控件滾動條分為兩種,即水平滾動條和垂直滾動條屬性屬性說明說

54、明ValueValue滾動框在滾動條中的位置,在Max與Min之間。MaxMax滾動條所能表示的最大值,位于滾動條的最右側或最低端的值,在-3276832767之間。MinMin滾動條所能表示的最小值,位于滾動條的最左側或最高端的值,在-3276832767之間。SmallChangeSmallChange用鼠標單擊滾動框箭頭時,滾動滑快每次移動的大小(Value屬性改變的值)。LargeChangeLargeChange用鼠標單擊滾動框區(qū)域時,滾動滑快每次移動的大?。╒alue屬性改變的值)。1 1。滾動條屬性。滾動條屬性2. 2. 滾動條事件滾動條事件滾動條的常用事件有Change、Scr

55、ollg兩種。(1)Change事件單擊滾動條或滾動條箭頭以及釋放滾動框時觸發(fā),用來得到滾動條的最終位置。(2)Scroll事件拖動滾動滑塊時觸發(fā),用于跟蹤滾動條的動態(tài)變化。 3.5.4 3.5.4 直線控件直線控件 直線控件用來在窗口控件中劃出一條直線的控件,它采用坐標方式進行標識,即起點坐標(x1,y1)終點坐標(x2,y2),其坐標值即對應該直線控件的屬性。例:滾動條與直線控件例題(見教材例3.5)3.5.5 3.5.5 形狀控件形狀控件1. 屬性(1)BorderColor:設置形狀的顏色。(2)BorderStyle:確定形狀的邊界線的線型。(3)BorderWidth:設定邊界線的

56、寬度。、(4)BackStyle:決定形狀是否被指定的顏色填充,當值為0時,表示邊界內(nèi)區(qū)域為透明,若值為1,則區(qū)域由BackColor屬性所指定的顏色來填充。(5)FillColor:定義形狀的內(nèi)部顏色,與BorderColor設置相同。(6)FillStyle:設置形狀內(nèi)部的填充圖案。(7)Shape:設置所畫形狀的幾何特性,可設置如下幾種值。值值常數(shù)常數(shù)形狀形狀0vbShapeRectangle矩形(默認)1vbShapeSquare正方形2vbShapeOval橢圓形3vbShapeCircle圓形4vbShapeRoundedRectangle圓角的矩形5vbShapeRoundedS

57、quare圓角的正方形形3.5.6 3.5.6 圖形與圖像控件圖形與圖像控件圖片框?qū)J名為Picture1;圖像控件對應默認名為Image1。 圖片框和圖像框以基本相同的方式出現(xiàn)在窗體上,都可以裝入多種格式的圖形文件。 其主要區(qū)別是:圖片框?qū)ο鬄橐粋€容器容器,可以在內(nèi)部再添加其它控件,可能通過Print方法接收文本,而圖像框?qū)ο髣t不能。屬性屬性(1)Picture屬性:用來把圖形放入到對應控件對象中。Visual Basic支持位圖(Bitmap)、圖標(Icon)、圖元文件(Metafile)、JPEG、GIF圖形文件??赏ㄟ^設置Picture屬性裝入圖形文件,同時也可運行時采用Load

58、Picture函數(shù)裝入圖形文件,注意注意:采用LoadPicture函數(shù)裝入圖形文件時,即指明圖形文件的具體路徑。(2)Stretch屬性:此屬性僅用于圖像框(Image)對象,用來自動調(diào)整圖像框中圖形內(nèi)容的大小。圖片框PictureBox和圖像框ImageBox的區(qū)別在于:1-ImageBox使用系統(tǒng)資源少,重新繪圖的數(shù)度較快2-PictureBox能使用print方法和繪圖語句繪制圖形,ImageBox則不能3-ImageBox只能用于顯示圖片,而PictureBox除了可以顯示圖形外,還可以作為其他控件的容器.4-ImageBox能夠延伸圖形的大小,以適應控件的大小,而PictureBo

59、x則不能,但PictureBox能自動調(diào)整控件大小以全圖形顯示出來 3.5.7 3.5.7 時鐘控件時鐘控件 時鐘控件又叫計時器控件,時鐘控件對象用于間隔一定時間的觸發(fā)事件,運行時不可見。1. 屬性(1)IntervalInterval:用于設置時鐘控件事件之間的時間間隔,單位為毫秒,取值在065767之間,如設置為0,則表示時鐘控件對象無效。(2) Enable:用來設置時間控件對象是否有效,如有無效則表示每隔Interval毫秒毫秒的時間觸發(fā)對應的timer事件 2.事件時間控件只支持Timer事件,當達到IntervalInterval屬性規(guī)定的時間間隔時間間隔時,觸發(fā)該事事件。例例1

60、設計一個數(shù)字計時器(見教材例3.6)例例2 汽車控件例題汽車控件例題(見教材例3.7)實 驗實驗教程P2P7要求:按實驗教程要求命名文件名,并保存后壓縮成一個文件,做為作業(yè)上交。任務2 2隨機產(chǎn)生一個3位正整數(shù),然后逆序輸出,產(chǎn)生的隨機數(shù)與逆序數(shù)同時顯示。例如,產(chǎn)生375,輸出573,如圖2.2所示。要求:將文件保存在以學號為名建立的文件夾下,工程文件名為sjt212.vbp,窗體文件名為sjt212.frm。提示:利用“Mod”和“”將一個3位數(shù)分離出3個1位數(shù),然后連接成一個逆序的3位數(shù)。任務3 3使用Mid、Left、Right函數(shù)。在Text1文本框中輸入一字符串,在Label1、Label2和Label3中顯示如圖2.3所示的效果。要求:將文件保存在以學號為名建立的文件夾下,工程文件名為sjt213.vbp,窗體文件名為sjt21

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論