




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章VisualBasic語言基本知識本章要點(diǎn):?VB語言編碼規(guī)則?數(shù)據(jù)類型?常量、變量?運(yùn)算符與表達(dá)式?常用內(nèi)部函數(shù)1第3章VisualBasic語言基本知識本章要點(diǎn):13.1編碼規(guī)則1.在VB的代碼中,字母不分大小寫;2.VB將關(guān)鍵字自動轉(zhuǎn)換為大寫字母開頭,其余均為小寫字母;3.對于用戶定義的變量名、過程名和函數(shù)名、VB以第一次定義為準(zhǔn);4.在一行中可寫多條語句,各語句之間用冒號隔開。如:t=a:a=b:b=t5.如果一條語句在一行內(nèi)寫不下,可將其分為若干行,要在行后加上續(xù)行符(一個空格后跟一個下劃線)。23.1編碼規(guī)則1.在VB的代碼中,字母不分大小寫;2
PrivateSubCommand1-Click()
DimsASlong,IASintegers=0:i=1DoWhilei<=100s=s+ii=i+1LoopText1.Text=sEnd
Sub開始0s1ii≤100s+isi+1i輸出s結(jié)束例:3PrivateSubCommand1-Click()開
PrivateSubCommand1-Click()
DimsASlong,iASintegers=0:i=1DoWhilei<=100s=s+ii=i+1LoopText1.Text=sEnd
Sub常量:0、1、100變量:s、i定義類型4PrivateSubCommand1-Click()常3.2數(shù)據(jù)類型主要有:數(shù)值型;字符串型;布爾型;日期型3.2.1數(shù)值型數(shù)據(jù)
Integer(整型)Long(長整型)
Single(單精度浮點(diǎn)型)Double(雙精度浮點(diǎn)型)
Currency(貨幣型)Byte(字節(jié)型)1.整數(shù)類型(1)整型(Integer)以2個字節(jié)存儲十進(jìn)制表示:由+-號,0~9組成范圍:-32768~3276753.2數(shù)據(jù)類型主要有:數(shù)值型;字符串
八進(jìn)制表示:以&O開頭,由0~7組成范圍:&O0~&O177777十六進(jìn)制表示:以&H開頭,由0~9,A~F組成范圍:&H0~&HFFFF例:-325056+100
&O456&O36
&H1AC&H38&H2(2)長整型(Long)以4個字節(jié)存儲十進(jìn)制表示:由+-號,0~9組成范圍:-2147483648~+2147483647八進(jìn)制表示:以&O開頭,以&結(jié)束范圍:&O0&~&O37777777777&十六進(jìn)制表示:以&H開頭,以&結(jié)束范圍:&H0&~&HFFFFFFFF&6八進(jìn)制表示:以&O開頭,由0~7組成6例:453466-34568+1000000
&O456&
&O36&
&H1AC&
&H38&
&H2&2.實(shí)數(shù)類型浮點(diǎn)數(shù)采用IEEE格式,由尾數(shù)及指數(shù)組成:
[±]...[....][E|D][±](1)單精度浮點(diǎn)型(Single)以4個字節(jié)存儲,可以精確到7位十進(jìn)制數(shù)例:3.234E+2表示3.234102-28E9表示-281094.56E-17表示4.5610-17尾數(shù)部分指數(shù)部分e|d7例:453466-34568(2)雙精度浮點(diǎn)型(Double)以8個字節(jié)存儲,可以精確到16位3.234D+2表示3.234102-28D9表示-281094.56D-17表示4.5610-17(3)貨幣型(Currency)以8個字節(jié)存儲用于表示定點(diǎn)數(shù),其小數(shù)點(diǎn)左邊有15位數(shù)字,右邊有4位數(shù)字。3.字節(jié)型(Byte)用于存儲二進(jìn)制數(shù)據(jù),其取值范圍為0~255。8(2)雙精度浮點(diǎn)型(Double)83.2.2字符串型數(shù)據(jù)(String)由""括起來的一串符號例:"abc""ABC""計算機(jī)""12.34""3+2"""(空串)
如果字符串本身包括雙引號,可用連續(xù)兩個雙引號表示。例:要打印以下字符串:
"Youmuststudyhard",hesaid.在程序中需要將該字符串表示成:"""Youmuststudyhard"",hesaid."3.2.3布爾型數(shù)據(jù)(Boolean)用于進(jìn)行邏輯判斷,只有True和False兩個值93.2.2字符串型數(shù)據(jù)(String)93.2.4日期型數(shù)據(jù)(Date)用于表示日期和時間格式:#……#VB接受許多種日期時間格式例:下面的Date/Time值全部有效。
#3-6-9313:20#
#March27,19931:20am#
#Apr-2-93#
#14April1993#
#12/18/1999#3.2.5對象型數(shù)據(jù)(Object)以4個字節(jié)存儲,用于引用程序中的對象。3.2.6可變類型數(shù)據(jù)(Variant)可以包含任何類型的數(shù)據(jù)??梢园珽mpty、Error、及Null等特殊值103.2.4日期型數(shù)據(jù)(Date)103.3常量指在程序運(yùn)行期間其值不發(fā)生變化的量。兩種形式:直接常量;符號常量3.3.1直接常量例:"歡迎使用VisualBasic"字符串常量12345數(shù)值型常量True布爾型常量#11/10/2001#日期型常量3.3.2用戶自定義符號常量
格式:Const<常量名>[As
<類型>]=<表達(dá)式>
類型:
IntegerLongSingleDoubleStringString[*n]BooleanDateCurrencyByteVariant113.3常量指在程序運(yùn)行期間其值不發(fā)生變化例:ConstPi=3.14159ConstMaxAsInteger=9ConstBirthDate=#1/1/01#ConstMyString="friend"
'用逗號分隔多個常量聲明ConstPi=3.14,Max=9,MyStr="Hello"
'用先前定義過的常量定義新常量ConstPi2=Pi*2使用:在程序中引用如:AREA=Pi*R^2在程序中不可修改如:Pi=3.1412例:ConstPi=3.14159123.3.3系統(tǒng)定義符號常量VB內(nèi)部已定義,可以直接使用的常量查看內(nèi)部常量:視圖→對象瀏覽器→選擇庫、類、成員如:庫VBRUN
類ColorConstants
ShapeConstants
成員Vbred
vbShapeCircle
例:PrivateSubForm_Activate()ConstAAsString="各種常量的使用"
Form1.BackColor=vbGreenForm1.ForeColor=vbRedForm1.FontSize=14PrintAEndSub133.3.3系統(tǒng)定義符號常量133.4變量程序執(zhí)行期間,用變量臨時存儲數(shù)值。變量的值可以發(fā)生變化。每個變量都有名稱和數(shù)據(jù)類型。2.變量的命名規(guī)則
?第一個字符必須是字母
?長度不超過255個字符
?不可以包含小數(shù)點(diǎn)或者內(nèi)嵌的類型聲明字符
?不能使用關(guān)鍵字
?不能與過程名或符號常量同名例:intMaxstrNameStudent1MyName
不區(qū)分大小寫;變量名應(yīng)便于識別、記憶……5A1.什么是變量?
一個有名稱的內(nèi)存單元稱為變量。143.4變量程序執(zhí)行期間,用變量臨時存儲數(shù)值。?3.變量的聲明(1)聲明變量格式:Dim|Private|Public|Static<變量名>[As<類型>]?Dim:在窗體模塊、標(biāo)準(zhǔn)模塊或過程中聲明變量。?Private:在窗體模塊或標(biāo)準(zhǔn)模塊中聲明變量,使變量僅在該模塊中有效。?Public:在標(biāo)準(zhǔn)模塊中聲明全局變量,使變量在整個應(yīng)用程序中有效。?Static:在過程中定義靜態(tài)變量,即使該過程結(jié)束,也仍然保留變量的值。153.變量的聲明15例:DimSumAsLongDimAddressAsStringDimNoAsString*8PrivatebAsIntegerDimNum,TotalAsInteger'Num為可變類型PublicAverageAsSingle
StaticAAsLong(2)隱式聲明可變類型。易出錯、浪費(fèi)空間(3)強(qiáng)制顯式聲明在模塊的聲明段中使用語句:OptionExplicit如果設(shè)置:工具→選項(xiàng)→編輯器→要求變量聲明則在后續(xù)模塊中自動插入OptionExplicit16例:DimSumAsLong例:窗體模塊和過程中使用Dim語句的區(qū)別。設(shè)在窗體中放置按鈕Command1和Command2DimaAsIntegerPrivateSubCommand1_Click()a=a+10PrintaEndSubPrivateSubCommand2_Click()a=a+15PrintaEndSub
運(yùn)行程序,觀察結(jié)果將DimaAsInteger放到過程內(nèi),再運(yùn)行,觀察結(jié)果。去除Dim,比較使用OptionExplicit與不使用的結(jié)果。17例:窗體模塊和過程中使用Dim語句的區(qū)別。173.5運(yùn)算符與表達(dá)式操作數(shù):常量、變量、函數(shù)、對象運(yùn)算符:圓括號算術(shù)運(yùn)算符(算術(shù)表達(dá)式)字符串運(yùn)算符(字符串表達(dá)式)關(guān)系運(yùn)算符(關(guān)系表達(dá)式)布爾運(yùn)算符(布爾表達(dá)式)3.5.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式運(yùn)算符:()^*/\(整除)Mod(求余)+-優(yōu)先級:()→^→*/→\→Mod→+-書寫:一條線、無[]、無{}183.5運(yùn)算符與表達(dá)式操作數(shù):常量、變量、函數(shù)、對例:將以下表達(dá)式寫成VB合法的表達(dá)式(xy)za1+a2a-b+a(-b)a1+a2a^(-b)+a*(-b)(x^y)^z
a^(1/n)
y/(-x)+x/(-y)A/(4+(8/(3+B))19例:將以下表達(dá)式寫成VB合法的表達(dá)式(xy)za1+a21.乘方運(yùn)算例:10^210的平方,結(jié)果為10010^(-2)10的平方的倒數(shù),結(jié)果為0.012^2^3運(yùn)算順序從左到右,結(jié)果為64(-8)^(-1/3)錯誤,當(dāng)?shù)讛?shù)為負(fù)時,指數(shù)應(yīng)為整數(shù)2.整數(shù)除法例:10\4結(jié)果為225.68\6.99先四舍五入再整除,結(jié)果為33.取模運(yùn)算例:10Mod4結(jié)果為225.68Mod6.99先四舍五入再求余數(shù),結(jié)果為511Mod–4結(jié)果為3-11Mod5結(jié)果為-1-11Mod-3結(jié)果為-2結(jié)果符號同第一個操作數(shù)201.乘方運(yùn)算結(jié)果符號同第一個操作數(shù)203.5.2字符串運(yùn)算符與字符串表達(dá)式字符串運(yùn)算符有兩個:&+例:"Hello"&"World"結(jié)果為"HelloWorld""Check"&123結(jié)果為"Check123"123&456結(jié)果為"123456""123"&456結(jié)果為"123456"
123+456
結(jié)果為579
"123"+"456"
結(jié)果為"123456"
"Check"+123
錯誤213.5.2字符串運(yùn)算符與字符串表達(dá)式213.5.3關(guān)系運(yùn)算符與關(guān)系表達(dá)式1.比較運(yùn)算符<(小于)<=(小于或等于)>(大于)>=(大于或等于)=(等于)<>(不等于)2.表達(dá)式:<表達(dá)式1><比較運(yùn)算符><表達(dá)式2>3.如何比較數(shù)值比較:按數(shù)值大小日期比較:按整數(shù)yyyymmdd的值比較單字符比較:缺省情況下按字符的內(nèi)部二進(jìn)制表示比較,典型的二進(jìn)制排序順序如下:
""<"0"<"1"<……<"9"<"A"<"B"<……"Z"<"a"<"b"<……<"z"
字符串比較:從左開始逐個比較223.5.3關(guān)系運(yùn)算符與關(guān)系表達(dá)式224.比較結(jié)果:TrueFalse例:45<35結(jié)果為False45=45結(jié)果為True4<>3結(jié)果為True
"abc">"cdf"結(jié)果為False
"for"<"fortran"結(jié)果為True例:要判斷兩個單精度型變量A和B的值是否相等,可以用下式判斷:
Abs(A-B)<1E-5234.比較結(jié)果:TrueFalse233.5.4布爾運(yùn)算符與布爾表達(dá)式1.布爾運(yùn)算符:NotAndOr2.布爾表達(dá)式:
<關(guān)系表達(dá)式1><布爾運(yùn)算符><關(guān)系表達(dá)式2>3.優(yōu)先級:Not→And→Or例:A=10:B=8:C=6。Not(A>B)結(jié)果為FalseNot(B>A)結(jié)果為TrueA>BAndB>C結(jié)果為TrueB>AAndB>C結(jié)果為FalseA>BOrB>C結(jié)果為TrueB>AOrB>C結(jié)果為TrueA<BOrB=C結(jié)果為False243.5.4布爾運(yùn)算符與布爾表達(dá)式24例:將以下條件寫成VB布爾表達(dá)式1.m1-n1≤j≤m1+n12.X<-5或X>53.M和N之一為5,但不能同時為54.-100<k<100,且K為偶數(shù)的定義域5.1.(J>=M1-N1)And(J<=M1+N1)2.(X<-5.0)Or(X>5.0)3.((M=5)And(N<>5))Or((M<>5)And(N=5))4.(K>-100)And(K<100)And(KMod2=0)5.(X<>0)And((X-1.0)*(X-2.0)>=0.0)25例:將以下條件寫成VB布爾表達(dá)式的定義域5.1.(J>3.5.5表達(dá)式的運(yùn)算順序()→函數(shù)運(yùn)算→算術(shù)運(yùn)算→關(guān)系運(yùn)算→布爾運(yùn)算例:設(shè)a=3,b=5,c=-1,d=7,求以下表達(dá)式的值。⑥False⑦True⑧False⑨
True⑩True②6③True④False⑤Falsea+b>c+dAnda>=5OrNotc>0Ord<0①8263.5.5表達(dá)式的運(yùn)算順序⑥False⑦True⑧Fa3.6常用內(nèi)部函數(shù)函數(shù)分類:內(nèi)部函數(shù)、用戶自定義函數(shù)函數(shù)形式:函數(shù)名[(<參數(shù)表>]
參數(shù)可以是常量、變量或表達(dá)式。若有多個參數(shù),參數(shù)之間以逗號分隔。函數(shù)的使用:函數(shù)在表達(dá)式中被調(diào)用。273.6常用內(nèi)部函數(shù)函數(shù)分類:內(nèi)部函數(shù)、用戶自定義函數(shù)23.6.1數(shù)學(xué)函數(shù)例:Fix(45.67)結(jié)果為45Int(45.67)結(jié)果為45Fix(-2.89)結(jié)果為-2Int(-2.89)結(jié)果為-3Abs(-4)結(jié)果為4Log(10)結(jié)果為2.30258509299405Sgn(3)結(jié)果為1Sgn(-6)結(jié)果為-1Sgn(0)結(jié)果為0例:求sin300
Sin(a*3.14/180)例:判斷一個整數(shù)Y能否被另一個整數(shù)X整除如果INT(Y/X)=Y/X則整除283.6.1數(shù)學(xué)函數(shù)28例:常用對數(shù)log10X的求法用換底公式log10X=Ln(X)/Ln(10)
即LOG(X)/LOG(10)例:求e3
正確:EXP(3)
錯誤:e^3(錯)3.6.2字符串函數(shù)例:LTrim("∪∪∪ABC")結(jié)果為"ABC"表示空格RTrim("ABC∪∪∪")結(jié)果為"ABC"Trim("∪∪∪ABC∪∪∪")結(jié)果為"ABC"Left("ABCDE",2)結(jié)果為"AB"Right("ABCDE",2)結(jié)果為"DE"Mid("ABCDE",2,3)結(jié)果為"BCD"Mid("ABCDE",2,6)結(jié)果為"BCDE"29例:常用對數(shù)log10X的求法表示空格RTrim("ABC例:Len("ABCDE")結(jié)果為5String(3,"ABC")結(jié)果為"AAA"String(3,65)結(jié)果為"AAA"InStr("ABCDECDE","DE")結(jié)果為4
InStr(5,"ABCDECDE","DE")結(jié)果為7UCase("Abc")結(jié)果為"ABC"LCase("ABc")結(jié)果為"abc"30例:Len("ABCDE")3.6.3隨機(jī)函數(shù)1.隨機(jī)函數(shù)
Rnd[(x)]
產(chǎn)生0~1之間的單精度隨機(jī)數(shù)。x<0:每次使用x作為隨機(jī)數(shù)種子得到相同的結(jié)果x>0:以上一個隨機(jī)數(shù)作種子,產(chǎn)生序列中的下一個隨機(jī)數(shù)x=0:產(chǎn)生與最近生成的隨機(jī)數(shù)相同的數(shù)省略x:同x>02.Randomize語句初始化隨機(jī)數(shù)發(fā)生器例:生成[a,b]范圍內(nèi)的隨機(jī)整數(shù)Int((b-a+1)*Rnd+a)313.6.3隨機(jī)函數(shù)313.6.4轉(zhuǎn)換函數(shù)例:Asc("A")結(jié)果為65Asc("ABC")結(jié)果為65Chr(65)結(jié)果為"A"Str(123)結(jié)果為"∪123"Str(-123)結(jié)果為"-123"Val("123")結(jié)果為123Val("123AB")結(jié)果為123Val(".123AB")結(jié)果為.123Val("a123AB")結(jié)果為03.6.5日期和時間函數(shù)
P46-47323.6.4轉(zhuǎn)換函數(shù)323.6.6格式輸出函數(shù)例:Format(123.45,"0000.000")結(jié)果為"0123.450"Format(123.45,"0.0")結(jié)果為"123.5"Format(123.45,"####.###")結(jié)果為"123.45"Format(123.45,"#.#")結(jié)果為"123.5"Format(0.123,".##")結(jié)果為".12"Format(0.123,"0.##")結(jié)果為"0.12"Format("HELLO","<")結(jié)果為"hello"Format("Thisisit",">")結(jié)果為"THISISIT"注:經(jīng)Format函數(shù)格式化后的結(jié)果為字符串類型例:
Format(123)+Format(456)結(jié)果為"123456"區(qū)別:
Str(123)+Str(456)結(jié)果為"∪123∪456"333.6.6格式輸出函數(shù)33本章小結(jié):1.常用數(shù)據(jù)類型整型:Integer長整型:Long單精度:Single
雙精度:Double
貨幣型:Currency字節(jié)型:Byte可變長度字符串:String
固定長度字符串:String*length布爾:Boolean日期型:Date對象類型:Object
可變類型:Variant34本章小結(jié):1.常用數(shù)據(jù)類型342.常量:直接常量用戶自定義符號常量:Const語句系統(tǒng)定義符號常量3.變量命名規(guī)則聲明:Dim語句4.表達(dá)式:算術(shù)表達(dá)式字符串表達(dá)式關(guān)系表達(dá)式布爾表達(dá)式日期表達(dá)式對象表達(dá)式5.內(nèi)部函數(shù):數(shù)學(xué)函數(shù)、字符串函數(shù)、隨機(jī)函數(shù)轉(zhuǎn)換函數(shù)、日期時間函數(shù)352.常量:直接常量35第3章VisualBasic語言基本知識本章要點(diǎn):?VB語言編碼規(guī)則?數(shù)據(jù)類型?常量、變量?運(yùn)算符與表達(dá)式?常用內(nèi)部函數(shù)36第3章VisualBasic語言基本知識本章要點(diǎn):13.1編碼規(guī)則1.在VB的代碼中,字母不分大小寫;2.VB將關(guān)鍵字自動轉(zhuǎn)換為大寫字母開頭,其余均為小寫字母;3.對于用戶定義的變量名、過程名和函數(shù)名、VB以第一次定義為準(zhǔn);4.在一行中可寫多條語句,各語句之間用冒號隔開。如:t=a:a=b:b=t5.如果一條語句在一行內(nèi)寫不下,可將其分為若干行,要在行后加上續(xù)行符(一個空格后跟一個下劃線)。373.1編碼規(guī)則1.在VB的代碼中,字母不分大小寫;2
PrivateSubCommand1-Click()
DimsASlong,IASintegers=0:i=1DoWhilei<=100s=s+ii=i+1LoopText1.Text=sEnd
Sub開始0s1ii≤100s+isi+1i輸出s結(jié)束例:38PrivateSubCommand1-Click()開
PrivateSubCommand1-Click()
DimsASlong,iASintegers=0:i=1DoWhilei<=100s=s+ii=i+1LoopText1.Text=sEnd
Sub常量:0、1、100變量:s、i定義類型39PrivateSubCommand1-Click()常3.2數(shù)據(jù)類型主要有:數(shù)值型;字符串型;布爾型;日期型3.2.1數(shù)值型數(shù)據(jù)
Integer(整型)Long(長整型)
Single(單精度浮點(diǎn)型)Double(雙精度浮點(diǎn)型)
Currency(貨幣型)Byte(字節(jié)型)1.整數(shù)類型(1)整型(Integer)以2個字節(jié)存儲十進(jìn)制表示:由+-號,0~9組成范圍:-32768~32767403.2數(shù)據(jù)類型主要有:數(shù)值型;字符串
八進(jìn)制表示:以&O開頭,由0~7組成范圍:&O0~&O177777十六進(jìn)制表示:以&H開頭,由0~9,A~F組成范圍:&H0~&HFFFF例:-325056+100
&O456&O36
&H1AC&H38&H2(2)長整型(Long)以4個字節(jié)存儲十進(jìn)制表示:由+-號,0~9組成范圍:-2147483648~+2147483647八進(jìn)制表示:以&O開頭,以&結(jié)束范圍:&O0&~&O37777777777&十六進(jìn)制表示:以&H開頭,以&結(jié)束范圍:&H0&~&HFFFFFFFF&41八進(jìn)制表示:以&O開頭,由0~7組成6例:453466-34568+1000000
&O456&
&O36&
&H1AC&
&H38&
&H2&2.實(shí)數(shù)類型浮點(diǎn)數(shù)采用IEEE格式,由尾數(shù)及指數(shù)組成:
[±]...[....][E|D][±](1)單精度浮點(diǎn)型(Single)以4個字節(jié)存儲,可以精確到7位十進(jìn)制數(shù)例:3.234E+2表示3.234102-28E9表示-281094.56E-17表示4.5610-17尾數(shù)部分指數(shù)部分e|d42例:453466-34568(2)雙精度浮點(diǎn)型(Double)以8個字節(jié)存儲,可以精確到16位3.234D+2表示3.234102-28D9表示-281094.56D-17表示4.5610-17(3)貨幣型(Currency)以8個字節(jié)存儲用于表示定點(diǎn)數(shù),其小數(shù)點(diǎn)左邊有15位數(shù)字,右邊有4位數(shù)字。3.字節(jié)型(Byte)用于存儲二進(jìn)制數(shù)據(jù),其取值范圍為0~255。43(2)雙精度浮點(diǎn)型(Double)83.2.2字符串型數(shù)據(jù)(String)由""括起來的一串符號例:"abc""ABC""計算機(jī)""12.34""3+2"""(空串)
如果字符串本身包括雙引號,可用連續(xù)兩個雙引號表示。例:要打印以下字符串:
"Youmuststudyhard",hesaid.在程序中需要將該字符串表示成:"""Youmuststudyhard"",hesaid."3.2.3布爾型數(shù)據(jù)(Boolean)用于進(jìn)行邏輯判斷,只有True和False兩個值443.2.2字符串型數(shù)據(jù)(String)93.2.4日期型數(shù)據(jù)(Date)用于表示日期和時間格式:#……#VB接受許多種日期時間格式例:下面的Date/Time值全部有效。
#3-6-9313:20#
#March27,19931:20am#
#Apr-2-93#
#14April1993#
#12/18/1999#3.2.5對象型數(shù)據(jù)(Object)以4個字節(jié)存儲,用于引用程序中的對象。3.2.6可變類型數(shù)據(jù)(Variant)可以包含任何類型的數(shù)據(jù)??梢园珽mpty、Error、及Null等特殊值453.2.4日期型數(shù)據(jù)(Date)103.3常量指在程序運(yùn)行期間其值不發(fā)生變化的量。兩種形式:直接常量;符號常量3.3.1直接常量例:"歡迎使用VisualBasic"字符串常量12345數(shù)值型常量True布爾型常量#11/10/2001#日期型常量3.3.2用戶自定義符號常量
格式:Const<常量名>[As
<類型>]=<表達(dá)式>
類型:
IntegerLongSingleDoubleStringString[*n]BooleanDateCurrencyByteVariant463.3常量指在程序運(yùn)行期間其值不發(fā)生變化例:ConstPi=3.14159ConstMaxAsInteger=9ConstBirthDate=#1/1/01#ConstMyString="friend"
'用逗號分隔多個常量聲明ConstPi=3.14,Max=9,MyStr="Hello"
'用先前定義過的常量定義新常量ConstPi2=Pi*2使用:在程序中引用如:AREA=Pi*R^2在程序中不可修改如:Pi=3.1447例:ConstPi=3.14159123.3.3系統(tǒng)定義符號常量VB內(nèi)部已定義,可以直接使用的常量查看內(nèi)部常量:視圖→對象瀏覽器→選擇庫、類、成員如:庫VBRUN
類ColorConstants
ShapeConstants
成員Vbred
vbShapeCircle
例:PrivateSubForm_Activate()ConstAAsString="各種常量的使用"
Form1.BackColor=vbGreenForm1.ForeColor=vbRedForm1.FontSize=14PrintAEndSub483.3.3系統(tǒng)定義符號常量133.4變量程序執(zhí)行期間,用變量臨時存儲數(shù)值。變量的值可以發(fā)生變化。每個變量都有名稱和數(shù)據(jù)類型。2.變量的命名規(guī)則
?第一個字符必須是字母
?長度不超過255個字符
?不可以包含小數(shù)點(diǎn)或者內(nèi)嵌的類型聲明字符
?不能使用關(guān)鍵字
?不能與過程名或符號常量同名例:intMaxstrNameStudent1MyName
不區(qū)分大小寫;變量名應(yīng)便于識別、記憶……5A1.什么是變量?
一個有名稱的內(nèi)存單元稱為變量。493.4變量程序執(zhí)行期間,用變量臨時存儲數(shù)值。?3.變量的聲明(1)聲明變量格式:Dim|Private|Public|Static<變量名>[As<類型>]?Dim:在窗體模塊、標(biāo)準(zhǔn)模塊或過程中聲明變量。?Private:在窗體模塊或標(biāo)準(zhǔn)模塊中聲明變量,使變量僅在該模塊中有效。?Public:在標(biāo)準(zhǔn)模塊中聲明全局變量,使變量在整個應(yīng)用程序中有效。?Static:在過程中定義靜態(tài)變量,即使該過程結(jié)束,也仍然保留變量的值。503.變量的聲明15例:DimSumAsLongDimAddressAsStringDimNoAsString*8PrivatebAsIntegerDimNum,TotalAsInteger'Num為可變類型PublicAverageAsSingle
StaticAAsLong(2)隱式聲明可變類型。易出錯、浪費(fèi)空間(3)強(qiáng)制顯式聲明在模塊的聲明段中使用語句:OptionExplicit如果設(shè)置:工具→選項(xiàng)→編輯器→要求變量聲明則在后續(xù)模塊中自動插入OptionExplicit51例:DimSumAsLong例:窗體模塊和過程中使用Dim語句的區(qū)別。設(shè)在窗體中放置按鈕Command1和Command2DimaAsIntegerPrivateSubCommand1_Click()a=a+10PrintaEndSubPrivateSubCommand2_Click()a=a+15PrintaEndSub
運(yùn)行程序,觀察結(jié)果將DimaAsInteger放到過程內(nèi),再運(yùn)行,觀察結(jié)果。去除Dim,比較使用OptionExplicit與不使用的結(jié)果。52例:窗體模塊和過程中使用Dim語句的區(qū)別。173.5運(yùn)算符與表達(dá)式操作數(shù):常量、變量、函數(shù)、對象運(yùn)算符:圓括號算術(shù)運(yùn)算符(算術(shù)表達(dá)式)字符串運(yùn)算符(字符串表達(dá)式)關(guān)系運(yùn)算符(關(guān)系表達(dá)式)布爾運(yùn)算符(布爾表達(dá)式)3.5.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式運(yùn)算符:()^*/\(整除)Mod(求余)+-優(yōu)先級:()→^→*/→\→Mod→+-書寫:一條線、無[]、無{}533.5運(yùn)算符與表達(dá)式操作數(shù):常量、變量、函數(shù)、對例:將以下表達(dá)式寫成VB合法的表達(dá)式(xy)za1+a2a-b+a(-b)a1+a2a^(-b)+a*(-b)(x^y)^z
a^(1/n)
y/(-x)+x/(-y)A/(4+(8/(3+B))54例:將以下表達(dá)式寫成VB合法的表達(dá)式(xy)za1+a21.乘方運(yùn)算例:10^210的平方,結(jié)果為10010^(-2)10的平方的倒數(shù),結(jié)果為0.012^2^3運(yùn)算順序從左到右,結(jié)果為64(-8)^(-1/3)錯誤,當(dāng)?shù)讛?shù)為負(fù)時,指數(shù)應(yīng)為整數(shù)2.整數(shù)除法例:10\4結(jié)果為225.68\6.99先四舍五入再整除,結(jié)果為33.取模運(yùn)算例:10Mod4結(jié)果為225.68Mod6.99先四舍五入再求余數(shù),結(jié)果為511Mod–4結(jié)果為3-11Mod5結(jié)果為-1-11Mod-3結(jié)果為-2結(jié)果符號同第一個操作數(shù)551.乘方運(yùn)算結(jié)果符號同第一個操作數(shù)203.5.2字符串運(yùn)算符與字符串表達(dá)式字符串運(yùn)算符有兩個:&+例:"Hello"&"World"結(jié)果為"HelloWorld""Check"&123結(jié)果為"Check123"123&456結(jié)果為"123456""123"&456結(jié)果為"123456"
123+456
結(jié)果為579
"123"+"456"
結(jié)果為"123456"
"Check"+123
錯誤563.5.2字符串運(yùn)算符與字符串表達(dá)式213.5.3關(guān)系運(yùn)算符與關(guān)系表達(dá)式1.比較運(yùn)算符<(小于)<=(小于或等于)>(大于)>=(大于或等于)=(等于)<>(不等于)2.表達(dá)式:<表達(dá)式1><比較運(yùn)算符><表達(dá)式2>3.如何比較數(shù)值比較:按數(shù)值大小日期比較:按整數(shù)yyyymmdd的值比較單字符比較:缺省情況下按字符的內(nèi)部二進(jìn)制表示比較,典型的二進(jìn)制排序順序如下:
""<"0"<"1"<……<"9"<"A"<"B"<……"Z"<"a"<"b"<……<"z"
字符串比較:從左開始逐個比較573.5.3關(guān)系運(yùn)算符與關(guān)系表達(dá)式224.比較結(jié)果:TrueFalse例:45<35結(jié)果為False45=45結(jié)果為True4<>3結(jié)果為True
"abc">"cdf"結(jié)果為False
"for"<"fortran"結(jié)果為True例:要判斷兩個單精度型變量A和B的值是否相等,可以用下式判斷:
Abs(A-B)<1E-5584.比較結(jié)果:TrueFalse233.5.4布爾運(yùn)算符與布爾表達(dá)式1.布爾運(yùn)算符:NotAndOr2.布爾表達(dá)式:
<關(guān)系表達(dá)式1><布爾運(yùn)算符><關(guān)系表達(dá)式2>3.優(yōu)先級:Not→And→Or例:A=10:B=8:C=6。Not(A>B)結(jié)果為FalseNot(B>A)結(jié)果為TrueA>BAndB>C結(jié)果為TrueB>AAndB>C結(jié)果為FalseA>BOrB>C結(jié)果為TrueB>AOrB>C結(jié)果為TrueA<BOrB=C結(jié)果為False593.5.4布爾運(yùn)算符與布爾表達(dá)式24例:將以下條件寫成VB布爾表達(dá)式1.m1-n1≤j≤m1+n12.X<-5或X>53.M和N之一為5,但不能同時為54.-100<k<100,且K為偶數(shù)的定義域5.1.(J>=M1-N1)And(J<=M1+N1)2.(X<-5.0)Or(X>5.0)3.((M=5)And(N<>5))Or((M<>5)And(N=5))4.(K>-100)And(K<100)And(KMod2=0)5.(X<>0)And((X-1.0)*(X-2.0)>=0.0)60例:將以下條件寫成VB布爾表達(dá)式的定義域5.1.(J>3.5.5表達(dá)式的運(yùn)算順序()→函數(shù)運(yùn)算→算術(shù)運(yùn)算→關(guān)系運(yùn)算→布爾運(yùn)算例:設(shè)a=3,b=5,c=-1,d=7,求以下表達(dá)式的值。⑥False⑦True⑧False⑨
True⑩True②6③True④False⑤Falsea+b>c+dAnda>=5OrNotc>0Ord<0①8613.5.5表達(dá)式的運(yùn)算順序⑥False⑦True⑧Fa3.6常用內(nèi)部函數(shù)函數(shù)分類:內(nèi)部函數(shù)、用戶自定義函數(shù)函數(shù)形式:函數(shù)名[(<參數(shù)表>]
參數(shù)可以是常量、變量或表達(dá)式。若有多個參數(shù),參數(shù)之間以逗號分隔。函數(shù)的使用:函數(shù)在表達(dá)式中被調(diào)用。623.6常用內(nèi)部函數(shù)函數(shù)分類:內(nèi)部函數(shù)、用戶自定義函數(shù)23.6.1數(shù)學(xué)函數(shù)例:Fix(45.67)結(jié)果為45Int(45.67)結(jié)果為45Fix(-2.89)結(jié)果為-2Int(-2.89)結(jié)果為-3Abs(-4)結(jié)果為4Log(10)結(jié)果為2.30258509299405Sgn(3)結(jié)果為1Sgn(-6)結(jié)果為-1Sgn(0)結(jié)果為0例:求sin300
Sin(a*3.14/180)例:判斷一個整數(shù)Y能否被另一個整數(shù)X整除如果INT(Y/X)=Y/X則整除633.6.1數(shù)學(xué)函數(shù)28例:常用對數(shù)log10X的求法用換底公式log10X=Ln(X)/Ln(10)
即LOG(X)/LOG(10)例:求e3
正確:EXP(3)
錯誤:e^3(錯)3.6.2字符串函數(shù)例:LTrim("∪∪∪ABC")結(jié)果為"ABC"表示空格RTrim("ABC∪∪∪")
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 牛和鵝教材解讀
- 全局靈敏度分析方法
- 腦癱中醫(yī)護(hù)理常規(guī)
- 青棗結(jié)果管理技術(shù)要點(diǎn)
- 細(xì)胞蛋白提取方法
- 細(xì)胞死亡方式
- 新業(yè)態(tài)法律新規(guī)解讀
- 手術(shù)無菌操作技術(shù)教學(xué)
- 糖尿病足護(hù)理查房要點(diǎn)
- 如何在職場上生存
- 2023火力發(fā)電設(shè)備隱患排查治理手冊
- 切削刀具項(xiàng)目實(shí)施方案
- 常見行政案件筆錄模版
- 手術(shù)室甲狀腺切除術(shù)手術(shù)配合護(hù)理查房
- 國家電網(wǎng)電力中級職稱考試題
- 美國專利法及實(shí)務(wù)培訓(xùn)-上傳課件
- 新版中國電信員工手冊
- D500-D505 2016年合訂本防雷與接地圖集
- 中國重癥加強(qiáng)治療病房(ICU)建設(shè)與管理指南
- 社區(qū)矯正法課件
- 后勤保障樓幕墻施工方案新
評論
0/150
提交評論