《Visual Basic程序設(shè)計教程(第二版)》課件3_第1頁
《Visual Basic程序設(shè)計教程(第二版)》課件3_第2頁
《Visual Basic程序設(shè)計教程(第二版)》課件3_第3頁
《Visual Basic程序設(shè)計教程(第二版)》課件3_第4頁
《Visual Basic程序設(shè)計教程(第二版)》課件3_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章VisualBasic的語言規(guī)則

【本章導(dǎo)讀】

本章重點介紹VisualBasic的基本語法知識。包括各種數(shù)據(jù)類型數(shù)據(jù)類型的含義,常量和變量的定義和使用,運算符、表達式和函數(shù)的具體用法,以及編程規(guī)則的基本知識?!颈菊乱c】數(shù)據(jù)類型的含義常量與變量的應(yīng)用運算符、表達式和函數(shù)的應(yīng)用第3章VisualBasic的語言規(guī)則

3.1數(shù)據(jù)類型

3.1.1標準數(shù)據(jù)類型1.字符串型(String)字符串是一個字符序列,專門用來存放字符文本信息的。在VisualBasic中,字符串是放在雙引號內(nèi)的若干個字符,其中長度為0(即不含任何字符)的字符串稱為空字符串。例如:"Thisabook“

"顯示123456789"""(空字符串)字符串分為兩種,即變長字符串和定長字符串。其中變長字符串的長度是不確定的,而定長字符串含有確定個數(shù)的字符。3.1數(shù)據(jù)類型3.1.1標準數(shù)據(jù)類型2.數(shù)值型數(shù)值型數(shù)據(jù)分為整型數(shù)和浮點數(shù)兩類。(1)整型數(shù)整型數(shù)是不帶小數(shù)點和指數(shù)符號的數(shù)。1)整形(Integer):占用2個字節(jié)的存儲空間,可以存放-32768~32767之間的整數(shù)。2)長整型(Long):占用4個字節(jié)的存儲空間,可以存放-231~+231-1之間的整數(shù)。3.1數(shù)據(jù)類型3.1.1標準數(shù)據(jù)類型2.數(shù)值型(2)浮點數(shù)浮點數(shù)也稱實數(shù)與實型數(shù),帶有小數(shù)部分的數(shù)值。1)單精度(Single):以4個字節(jié)存儲,可以精確到7位十進制數(shù)。取值范圍為-3.4×1038~3.4×1038。2)雙精度浮點數(shù)(Double):以8個字節(jié)存儲,可以精確到15或16位十進制數(shù)。取值范圍為:-1.7×10308~1.7×10308。

3.1數(shù)據(jù)類型3.1.1標準數(shù)據(jù)類型3.貨幣型(Currency)貨幣數(shù)據(jù)為表示錢款而設(shè)置的。該類型數(shù)據(jù)以8個字節(jié)存儲,精確到小數(shù)點后4位(小數(shù)點前有15位)。其取值范圍為:-296-1~+296-1

與浮點數(shù)的區(qū)別在于浮點數(shù)中的小數(shù)點可以出現(xiàn)任何位置,而貨幣中的小數(shù)據(jù)點是固定的。4.字節(jié)型(Byte)

字節(jié)實際上是一種數(shù)值類型,以1個字節(jié)的無符號二進制數(shù)存儲,其取值范圍為0~255。3.1數(shù)據(jù)類型3.1.1標準數(shù)據(jù)類型5.布爾型(Boolean)

布爾型數(shù)據(jù)是一個邏輯值,用兩個字節(jié)存儲,它只取兩種值,即True(真)或False(假)。6.日期型(Date)

日期型數(shù)據(jù)用來表示日期信息,其格式為mm/dd/yyyy或mm-dd-yyyy,取值范圍為1/1/100到12/31/9999。

7.對象型(Object)8.變體形(Variant)自定義數(shù)據(jù)類型指用戶根據(jù)需要定義自己的數(shù)據(jù)類型,指由若干標準數(shù)據(jù)類型組成的一種復(fù)合類型。3.1數(shù)據(jù)類型3.1.2自定義數(shù)據(jù)類型3.2變量、常量

在程序中,不同類型的數(shù)據(jù)既可以表現(xiàn)為常量形式,也可以表現(xiàn)為變量形式。常量的值在程序執(zhí)行期間不發(fā)生變化。變量代表內(nèi)存中指定的存儲單元,存儲單元在程序中可以根據(jù)需要賦予不同的數(shù)值,所以變量值是可以變化的。

3.2.1常量常量指在程序運行過程中其值保持不變的量。常量有兩種:直接常量和符號常量。1.直接常量前面所介紹的各種類型的數(shù)據(jù),其取值直接反映了其類型;例如:"abcd"

——一個字符串常量,長度為412345

——一個十進制整數(shù)為了顯式地指明常數(shù)的類型,可以在常數(shù)后面加上類型說明符3.2變量、常量

%整型&長整型!單精度浮點數(shù)#雙精度浮點數(shù)@貨幣型$字符串型3.2.1常量

2.符號常量定義符號常量,用來代替數(shù)值或字符串。一般格式為:Const常量名=表達式[,常量名=表達式]...“常量名”是一個名字“表達式”由數(shù)字常量、算術(shù)運算符(指數(shù)運算符^除外)、邏輯運算符組成,也可以使用字符串,但不能使用字符串連接運算符、變量及用戶定義的函數(shù)或內(nèi)部函數(shù)。例如:ConstMaxchars=254,Maxbue=Maxchars+1

3.2變量、常量

3.2.1常量

2.符號常量在使用符號常量時,應(yīng)注意以下幾點:(1)在聲明符號常量時,可以在常量名后面加上類型說明符,例如:Constone&=1ConstOne#=1(2)當在程序中引用符號常量時,通常省略類型說明符。。(3)類型說明符不是符號常量的一部分,定義符號常量后,在定義變量時要慎重。例如,申明了ConstNum=10則Num!、Num#、Num%、Num&、Num@不能再用做變量名。

3.2變量、常量

3.2.2變量1.變量命名規(guī)則VisualBasic對變量名有以下要求:(1)以字母開始,可以包括數(shù)字、字母和下劃線;不能多于255個字符;(2)不能與關(guān)鍵字重復(fù)(如End、Printe、Sub等);(3)在同一作用域中,變量名不能重復(fù)。3.2變量、常量

下面是一些正確的變量名:AbcNameintAgex12MY_Book下面是一些非法的變量名:12ab_abc.dMy$VarCallx[1]∏3.2.2變量2.變量的類型和定義任何變量都屬于一定的數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和用戶定義的數(shù)據(jù)類型。在VisualBasic中,可以用下面幾種方式來規(guī)定一個變量的類型:(1)用類型說明符來標識把類型說明符放在變量名的尾部,可以標識不同的變量類型。其中%表示整型,&表示長整型,!表示單精度型,#表示雙精度型,@表示貨幣型,$表示字符串型。例如:Total%Amount#Lzlame$3.2變量、常量

3.2.2變量2.變量的類型和定義(2)在定義變量時指定其類型可以用下面的格式定義變量:Dim變量名As類型例如:DimCjAsInteger'把Cj定義為整型變量DimNameAsString'把Name定義為變長字符串DimMyNameAsString*10'定長字符串,長度為10個字節(jié)DimVar1AsString,Var2AsDouble3.2變量、常量

3.2.2變量3.變體類型變量

VisualBasic提供了一種變體數(shù)據(jù)類型(Variant)。和其他基本數(shù)據(jù)類型一樣,也可以定義變體類型的變量,這種變量的使用十分靈活。

Variant變量可以用普通數(shù)據(jù)類型變量的格式定義,也可以缺省定義。例如:DimSomeValueAsVariantDimSomeValue

3.2變量、常量

3.3運算符和表達式

運算(操作)是對數(shù)據(jù)的加工。最基本的運算形式常??梢杂靡恍┖啙嵉姆杹砻枋觯@些符號稱為運算符或操作符。被運算的對象,稱為運算量或操作數(shù)。運算量可以是常量、變量、還可以是函數(shù)。由運算量和運算符可以組成表達式。表達式用來描述對哪些數(shù)據(jù)、以何種順序進行什么樣的操作。表達式的計算結(jié)果稱為表達式的值,表達式的值也有相應(yīng)的數(shù)據(jù)類型3.3.1運算符

VisualBasic提供了豐富的運算符,可以構(gòu)成多種表達式。1.算術(shù)運算符算術(shù)運算符要求參加運算的運算量是數(shù)值型,運算結(jié)果也是數(shù)值型。3.3運算符和表達式運算符意義舉例運算結(jié)果+加法運算2+57-減法運算取負數(shù)2-7-2-5-2*乘法運算2.1*1.53.15/除法運算13/52.6\整除運算13\52^冪運算2^33^0.581.7320508Mod取模(求余)運算13mod5-13mod53-33.3.1運算符2.字符串運算符字符串連接是把兩個字符串首尾連接成一個字符串。可以進行字符串運算的運算符有“+”(加號)和“&”。"學習"&"VisualBasic" '運算結(jié)果為"學習VisualBasic""10"&"15" '運算結(jié)果為"1015"10&15 '運算結(jié)果為"1015"(先進行類型轉(zhuǎn)換)10&"15" '運算結(jié)果為"1015""10"+15 '注意!運算結(jié)果為25一般情況下,兩個運算功能是相同的,所以在進行字符串連接時最好使用“&”。

3.3運算符和表達式3.3.1運算符3.比較運算符比較運算符(又稱為關(guān)系運算符)用來對兩個值進行比較,比較的結(jié)果是一個邏輯值(如果Null參與比較運算則結(jié)果必為Null)。如果關(guān)系成立,則結(jié)果True,否則結(jié)果為False

3.3運算符和表達式運算符意義舉例運算結(jié)果<小于2<5"ab"<"abc"TrueTrue>大于2>5"123">"99"FalseFalse<=小于等于2<=(5+3)/2"a"<="a"&"b"TrueTrue>=大于等于5-3>=2"abc">="abcd"TrueFalse=等于2=(4\2)"abc"="abc"TrueTrue<>不等于2<>3^0.5"abc"<>"ABC"TrueTrue3.3.1運算符3.比較運算符(1)字符串數(shù)據(jù)按其ASCII值進行比較。在比較兩個字符串時,首先比較兩個字符串的第一個字符,其中ASCII碼值較大的字符串大。如果第一個字符相同時,比較第二個字符,以此類推,直到比較出大小。(2)在ASCII碼表和國標碼表中,位于前面的字符小于后面的字符,所有的漢字與中文符大于所有的英文字母、數(shù)字與半角符號。漢字以拼音為序進行比較。3.3運算符和表達式3.3.1運算符3.比較運算符(3)對于英文字母的比較,默認情況下是區(qū)分大小寫的,如果希望進行比較時不區(qū)分大小,應(yīng)該在模塊的聲明段加上一條語句:OptionCompareText默認值是(OptionCompareBinary)

3.3運算符和表達式3.3.1運算符4.邏輯運算符邏輯運算也稱布爾運算。用邏輯運算符連接兩個或多個關(guān)系式,組成一個布爾表達式。(1)Not(非)由真變假或由假變真,進行“取反運算”。3>8,Not(3>8)的值分別為False和True(2)And(與)對兩個關(guān)系表達式的值進行與運算,如果兩個表達式的值均為True,結(jié)果才為True,否則為False。3.3運算符和表達式3.3.1運算符4.邏輯運算符(3)Or(或)對兩個表達式進行或運算,如果其中某一個表達式的值為True,結(jié)果就為True,只有兩個表達式的值均為False時,結(jié)果才為False。例如:

(3>8)Or("a"<"b")結(jié)果為True(4)Xor(異或)如果兩個表達式同時為True或同時為False,則結(jié)果為False,否則為True。例如:

(8>3)Xor(5<6)結(jié)果為False3.3運算符和表達式3.3.1運算符4.邏輯運算符(5)Eqv(等價)如果兩個表達式同時為True或同時為False,則結(jié)果為True。例如:

(8>3)Eqv(5<6)結(jié)果為True(6)Imp(蘊含)當?shù)谝粋€表達式為True,且第二個表達式為False時,結(jié)果為False。其他情況結(jié)果均為True。3.3運算符和表達式XYNotXXandYXorYXXorYXEqvYXImpY-1-10-1-10-1-1-1000-1-1000-1-10-1-10-100-1000-1-13.3.2表達式表達式是指用運算符連接運算量形成的式子。表達式的運算結(jié)果稱為表達式的值。根據(jù)表達式的類型,可以把表達式分不同的類型,如邏輯表達式、字符串表達式等。運算符有不同的優(yōu)先級,在一個表達式中,優(yōu)先級最高的運算符先進行計算,然后是優(yōu)先級較高的運算符進行計算,最后才是優(yōu)先級最低的運算符。同等優(yōu)先級的運算符,按從左到右的順序進行計算

3.3運算符和表達式3.3.2表達式1.運算符的優(yōu)先級在表達式中,當運算符不止一種時,要先進行算術(shù)運算,接著進行比較運算,最后才是邏輯運算。所有比較運算符的優(yōu)先順序都相同;也就是說,要按它們出現(xiàn)的順序從左到右進行運算.算術(shù)運算符和邏輯運算符則按圖從左向右的優(yōu)先順序進行計算3.3運算符和表達式()正負號函數(shù)乘方*,/+,-Mod\()NotAndOrXorImpEqv3.3.2表達式1.運算符的優(yōu)先級

3.3運算符和表達式3.3.2表達式2.表達式的書寫雖然VisualBasic中的表達式與代數(shù)中的算式很相似,但二者卻是兩個完全不同的概念。在書寫VisualBasic程序中的表達式時,不要受代數(shù)知識的影響。有一些字符是不可在VisualBasic的程序代碼中出現(xiàn)的(字符串中除外),比如:≥、≠、±、×、÷、和上下標(如乘方)

3.3運算符和表達式3.3.2表達式2.表達式的書寫

3.3運算符和表達式代數(shù)式表達式說明1.2×10-31.2E-3應(yīng)該使用VisualBasic的常量表示(a+b)/(a-b)在表達式中無法寫分式Sqr(b^2-4*a*c)使用內(nèi)部函數(shù)Sqr計算平方根,表達式中乘法運算符*不能省略a/(-b)適當加括號避免產(chǎn)生歧義ex+∏Exp(x)+PiVisualBasic中不提供的常量(如E和∏)??墒褂孟鄳?yīng)的函數(shù)(如Exp)或者自定義符號常量(Pi)a≥b≥ca>=bandb>=c使用邏輯運算符100*10%100*0.1VisualBasic中不提供的%(百分數(shù)),需換為小數(shù)3.3.2表達式2.表達式的書寫說明:(1)當乘法和除法同時出現(xiàn)在表達式中時,將按照它們從左到右出現(xiàn)的順序進行計算??梢杂美ㄌ柛淖儍?yōu)先順序。括號內(nèi)的運算總是優(yōu)先于括號外的運算。(2)字符串連接運算符(&)不是算術(shù)運算符,就其優(yōu)先順序而言,它在所有算術(shù)運算符之后,而在所有比較運算符之前。(3)^表示指數(shù)運算,例如A^B表示A的B次方。當A和(或)B不是單個常量或變量時,要用括號括起來。例如(A+B)^(C+2)。(4)乘號(*)不能省略,也不能用“.”代替。(5)在一般情況下,不允許兩個運算符相連,應(yīng)當用括號隔開。(6)括號可以改變運算順序。3.3運算符和表達式3.3.2表達式3.混合表達式一個表達式內(nèi)可能包括邏輯運算符、關(guān)系運算符和算術(shù)運算符,VisualBasic規(guī)定了以下優(yōu)先級別:算術(shù)運算(高)↓

關(guān)系運算↓邏輯運算(Not→And→Or)(低)3.3運算符和表達式3.3.2表達式3.混合表達式3.3運算符和表達式3.4.1數(shù)學函數(shù)數(shù)學函數(shù)用于各種數(shù)學運算,包括三角函數(shù)、求平方根、絕對值及對數(shù)、指數(shù)函數(shù)等

3.4常用內(nèi)部函數(shù)函數(shù)功能Sin(x)返回自變量x的正弦值Cos(x)返回自變量x的余弦值Tan(x)返回自變量x的正切值A(chǔ)tn(x)返回自變量x的反正切值A(chǔ)bs(x)返回自變量x的絕對值Sgn(x)返回自變量x的符號當x為負數(shù)時,函數(shù)返回值為-1當x為正數(shù)時,函數(shù)返回值為1當x為零時,函數(shù)返回值為0Sqr(x)返回自變量x的平方根Exp(x)返回以e為底、以x為指數(shù)的值,即求e的x次方Log(x)返回自變量x的自然對數(shù),即相當于數(shù)學函數(shù)Ln(x)Int(x)返回小于或等于x的最大整數(shù);Fix(x)返回數(shù)據(jù)的整數(shù)部分Rnd([x])返回一個小于1并且大于0的Single類型隨機數(shù)3.4.2字符串函數(shù)

VisualBasic提供了大量的字符串函數(shù),具有十分豐富的字符串處理能力

3.4常用內(nèi)部函數(shù)函數(shù)功能LTrim$(字符串)去掉“字符串”左邊的空白字符RTrim$(字符串)去掉“字符串”右邊的空白字符Left$(字符串,n)返回“字符串”的左部n個字符Mid$(字符串,p,n)從第p個字符開始截取n個字符。Right$(字符串,n)返回“字符串”的右部n個字符。Len(字符串)測試字符串的長度Len(變量名)測試變量的存儲空間String$(n,ASCII碼)返回由該ASCII碼對應(yīng)的n個字符String$(n,字符串)返回由n個指定字符組成的字符串Space$(n)返回n個空格InStr([首字符位置,]字符串1,字符串2)返回“字符串2”的在"字符串1"中的位置Ucase$(字符串)把“字符串"中的小寫字母轉(zhuǎn)換為大寫字母Lcase$(字符串)把“字符串”中的大寫字母轉(zhuǎn)換為小寫字母3.4.3日期和時間函數(shù)用這些函數(shù)可以返回當前的日期和時間,并提取出年、月、日、時、分、秒以及對日期和時間進行格式化等。

3.4常用內(nèi)部函數(shù)函數(shù)功能Date返回當前的日期Year(Now)返回當前的年份Month(Now)返回當前的月份Day(Now)返回當前的天數(shù)WeekDay(Now)返回當前的星期Time(Now)返回當前的時間Hour(Now)返回當前的小(0~23)Minute(Now)返回當前的分鐘(0~59)Second(Now)返回當前的秒(0~59)3.4.4轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)用于類型或形式的轉(zhuǎn)換,包括整型、浮點型、字符串型之間以及數(shù)值與ASCII字符之間的轉(zhuǎn)換。

3.4常用內(nèi)部函數(shù)函數(shù)功能Hex$(x)一個十進制數(shù)轉(zhuǎn)換為十六進制數(shù)和八進制數(shù)Oct$(x)一個十進制數(shù)轉(zhuǎn)換為八進制數(shù)Asc(字符串)返回"字符串"中第一個字符的ASCII碼Chr$(x)把x的值轉(zhuǎn)換為相應(yīng)的ASCII字符Val(字符串)把"字符串"轉(zhuǎn)換為數(shù)值Str$(x)把x的值轉(zhuǎn)換為一個字符串Cint(x)把x的小數(shù)部分四舍五入,轉(zhuǎn)換為整數(shù)Ccur(x)把x的值轉(zhuǎn)換為貨幣類型,最多保留4位小數(shù)CDbl(x)把x的值轉(zhuǎn)換為雙精度CLng(x)把x的小數(shù)部分四舍五入,轉(zhuǎn)換為長整形CSng(x)把x的值轉(zhuǎn)換為單精度數(shù)Cvar(x)把x的值轉(zhuǎn)換為變體類型值3.4.

5格式輸出函數(shù)格式:Format$(數(shù)值表達式,格式字符串)用格式輸出函數(shù)Format$可以使數(shù)值或日期按指定的格式輸出

3.4常用內(nèi)部函數(shù)該函數(shù)的功能是:按“格式字符串”指定的格式輸出“數(shù)值表達式”的值。如果省略“格式字符串”,則Format$函數(shù)的功能與Str$函數(shù)基本相同,唯一的差別是,當把正數(shù)轉(zhuǎn)換成字符串時,Str$函數(shù)在字符串前面留有一個空格,而Format$函數(shù)則不留空格

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論