第3章VB程序設(shè)計(jì)代碼基礎(chǔ)_第1頁(yè)
第3章VB程序設(shè)計(jì)代碼基礎(chǔ)_第2頁(yè)
第3章VB程序設(shè)計(jì)代碼基礎(chǔ)_第3頁(yè)
第3章VB程序設(shè)計(jì)代碼基礎(chǔ)_第4頁(yè)
第3章VB程序設(shè)計(jì)代碼基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章VisualBasic程序設(shè)計(jì)代碼基礎(chǔ)▲本章要點(diǎn):字符集數(shù)據(jù)類型常量、變量常用內(nèi)部函數(shù)運(yùn)算符與表達(dá)式13.1字符集1.字符集使用Unicode字符集,其基本字符集包括:數(shù)字:0~9英文字母:a~z,A~Z特殊字符:空格!"#$%&'()*+-/\^,.:;<=>?@[]_{}|~等。2.關(guān)鍵字關(guān)鍵字又稱為保留字

VB自動(dòng)將關(guān)鍵字的首字母轉(zhuǎn)換為大寫字母例如:PRINT5+6

轉(zhuǎn)換成Print5+6

23.2數(shù)據(jù)類型基本數(shù)據(jù)類型:數(shù)值型字符串型布爾型日期型用戶自定義的數(shù)據(jù)類型基本數(shù)據(jù)類型分為33.2.1數(shù)值型數(shù)據(jù)Integer(整型)Long(長(zhǎng)整型)Single(單精度浮點(diǎn)型)Double(雙精度浮點(diǎn)型)Currency(貨幣型)Byte(字節(jié)型)41.整數(shù)類型(1)整型(Integer)以2個(gè)字節(jié)存儲(chǔ)十進(jìn)制表示:由+-號(hào),0~9組成范圍:-32768~32767八進(jìn)制表示:以&O開頭,由0~7組成范圍:&O0~&O177777十六進(jìn)制表示:以&H開頭,由0~9,A~F組成范圍:&H0~&HFFFF例:-325056+100

&O456&O36

&H1AC&H38&H25(2)長(zhǎng)整型(Long)以4個(gè)字節(jié)存儲(chǔ)十進(jìn)制表示:由+-號(hào),0~9組成范圍:-2147483648~+2147483647八進(jìn)制表示:以&O開頭,以&結(jié)束范圍:&O0&~&O37777777777&十六進(jìn)制表示:以&H開頭,以&結(jié)束范圍:&H0&~&HFFFFFFFF&例:453466-34568+1000000

&O456&

&O36&

&H1AC&

&H38&

&H2&62.實(shí)數(shù)類型浮點(diǎn)數(shù)采用IEEE格式,由尾數(shù)及指數(shù)組成:

[±]...[....][E|D][±](1)單精度浮點(diǎn)型(Single)以4個(gè)字節(jié)存儲(chǔ),可以精確到7位十進(jìn)制數(shù)例:3.234E+2表示3.234102-28E9表示-281094.56E-17表示4.5610-17(2)雙精度浮點(diǎn)型(Double)以8個(gè)字節(jié)存儲(chǔ),可以精確到16位3.234D+2表示3.234102-28D9表示-281094.56D-17表示4.5610-17尾數(shù)部分指數(shù)部分e|d7(3)貨幣型(Currency)以8個(gè)字節(jié)存儲(chǔ)用于表示定點(diǎn)數(shù),其小數(shù)點(diǎn)左邊有15位數(shù)字,右邊有4位數(shù)字。3.字節(jié)型(Byte)用于存儲(chǔ)二進(jìn)制數(shù)據(jù),其取值范圍為0~255。83.2.2字符串型數(shù)據(jù)(String)由""括起來(lái)的一串符號(hào)例:"abc""ABC""計(jì)算機(jī)""12.34""3+2"""(空串)

如果字符串本身包括雙引號(hào),可用連續(xù)兩個(gè)雙引號(hào)表示。例:要打印以下字符串:

"Youmuststudyhard",hesaid.在程序中需要將該字符串表示成:"""Youmuststudyhard"",hesaid."3.2.3布爾型數(shù)據(jù)(Boolean)用于進(jìn)行邏輯判斷,只有True和False兩個(gè)值93.2.4日期型數(shù)據(jù)(Date)用于表示日期和時(shí)間格式:#……#VB接受許多種日期時(shí)間格式例:下面的Date/Time值全部有效。

#3-6-9313:20#

#March27,19931:20am#

#Apr-2-93#

#14April1993#

#12/18/1999#3.2.5對(duì)象型數(shù)據(jù)(Object)以4個(gè)字節(jié)存儲(chǔ),用于引用程序中的對(duì)象。3.2.6可變類型數(shù)據(jù)(Variant)可以包含任何類型的數(shù)據(jù)??梢园珽mpty、Error、及Null等特殊值10*3.2.7枚舉類型(自學(xué))3.2.8用戶自定義類型是用戶自己定義的類型,這種類型可以包含多個(gè)基本類型。例如,可以定義一個(gè)Students數(shù)據(jù)類型,該類型中的每一個(gè)數(shù)又包含了學(xué)生的班級(jí)、學(xué)號(hào)、姓名、成績(jī)信息。定義格式為:

PrivateTypeStudents

ClassAsString'班級(jí)

NoAsString'學(xué)號(hào)

NameAsString'姓名

ScoreAsInteger'成績(jī)EndType113.3常量指在程序運(yùn)行期間其值不發(fā)生變化的量。兩種形式:直接常量;符號(hào)常量3.3.1直接常量例:"歡迎使用VisualBasic"字符串常量12345數(shù)值型常量True布爾型常量#11/10/2001#日期型常量3.3.2用戶自定義符號(hào)常量

格式:Const<常量名>[As

<類型>]=<表達(dá)式>

類型:

IntegerLongSingleDoubleStringString*nBooleanDateCurrencyByteVariant12例:ConstPi=3.14159ConstMaxAsInteger=9ConstBirthDate=#1/1/01#ConstMyString="friend"

'用逗號(hào)分隔多個(gè)常量聲明ConstPi=3.14,Max=9,MyStr="Hello"

'用先前定義過(guò)的常量定義新常量ConstPi2=Pi*2使用:在程序中引用如:AREA=Pi*R^2在程序中不可修改如:Pi=3.1413VB內(nèi)部已定義,可以直接使用的常量查看內(nèi)部常量:視圖→對(duì)象瀏覽器→選擇庫(kù)、類、成員如:庫(kù)VBRUN

類ColorConstants

ShapeConstants

成員Vbred

vbShapeCircle

例:PrivateSubForm_Activate()ConstAAsString="各種常量的使用"

Form1.BackColor=vbGreenForm1.ForeColor=vbRedForm1.FontSize=14PrintAEndSub3.3.3系統(tǒng)定義符號(hào)常量143.4變量程序執(zhí)行期間,用變量臨時(shí)存儲(chǔ)數(shù)值。變量的值可以發(fā)生變化。每個(gè)變量都有名稱和數(shù)據(jù)類型。2.變量的命名規(guī)則第一個(gè)字符必須是字母

長(zhǎng)度不超過(guò)255個(gè)字符不可以包含小數(shù)點(diǎn)或者內(nèi)嵌的類型聲明字符

不能使用關(guān)鍵字不能與過(guò)程名或符號(hào)常量同名例:intMax

strNameStudent1MyName

不區(qū)分大小寫;變量名應(yīng)便于識(shí)別、記憶……5A1.什么是變量?

一個(gè)有名稱的內(nèi)存單元稱為變量。153.變量的聲明(1)聲明變量格式:Dim|Private|Public|Static<變量名>[As<類型>]Dim:在窗體模塊、標(biāo)準(zhǔn)模塊或過(guò)程中聲明變量。Private:在窗體模塊或標(biāo)準(zhǔn)模塊中聲明變量,使變量?jī)H在該模塊中有效。Public:在標(biāo)準(zhǔn)模塊中聲明全局變量,使變量在整個(gè)應(yīng)用程序中有效。Static:在過(guò)程中定義靜態(tài)變量,即使該過(guò)程結(jié)束,也仍然保留變量的值。16例:DimSumAsLongDimAddressAsStringDimNoAsString*8PrivatebAsIntegerDimNum,TotalAsInteger'Num為可變類型PublicAverageAsSingle

StaticAAsLong(2)隱式聲明可變類型。易出錯(cuò)、浪費(fèi)空間(3)強(qiáng)制顯式聲明在模塊的聲明段中使用語(yǔ)句:OptionExplicit如果設(shè)置:工具→選項(xiàng)→編輯器→要求變量聲明則在后續(xù)模塊中自動(dòng)插入OptionExplicit17例:窗體模塊和過(guò)程中使用Dim語(yǔ)句的區(qū)別。設(shè)在窗體中放置按鈕Command1和Command2

DimaAsIntegerPrivateSubCommand1_Click()

a=a+10PrintaEndSubPrivateSubCommand2_Click()

a=a+15PrintaEndSub觀察程序運(yùn)行結(jié)果將DimaAsInteger放到過(guò)程內(nèi),觀察運(yùn)行結(jié)果。18例:Staic的作用。設(shè)在窗體中放置按鈕C1PrivateSubC1_Click()StaticaAsIntegera=a+10PrintaEndSubPrivateSubC1_Click()DimaAsIntegera=a+10PrintaEndSub運(yùn)行時(shí),多次單擊命令按鈕C1,比較以上兩個(gè)事件過(guò)程的執(zhí)行效果193.5常用內(nèi)部函數(shù)函數(shù)形式:函數(shù)名[(<參數(shù)表>]參數(shù):常量、變量或表達(dá)式。若有多個(gè)參數(shù),參數(shù)之間以逗號(hào)分隔。函數(shù)值:也叫“返回值”函數(shù)的使用:函數(shù)在表達(dá)式中被調(diào)用。函數(shù)分類內(nèi)部函數(shù)用戶自定義函數(shù)20例: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)3.5.1數(shù)學(xué)函數(shù)21例:判斷一個(gè)整數(shù)Y能否被另一個(gè)整數(shù)X整除如果INT(Y/X)=Y/X則整除例:常用對(duì)數(shù)log10X的求法用換底公式log10X=Ln(X)/Ln(10)

即LOG(X)/LOG(10)例:求e3

正確:EXP(3)

錯(cuò)誤:e^3(錯(cuò))22例: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"Len("ABCDE")結(jié)果為5String(3,"ABC")結(jié)果為"AAA"String(3,65)結(jié)果為"AAA"InStr("ABCDECDE","DE")結(jié)果為4InStr(5,"ABCDECDE","DE")結(jié)果為7UCase("Abc")結(jié)果為"ABC"LCase("ABc")結(jié)果為"abc"3.5.2字符串函數(shù)231.隨機(jī)函數(shù)

Rnd[(x)]

產(chǎn)生[0,1)之間的單精度隨機(jī)數(shù)。

x<0:每次使用x作為隨機(jī)數(shù)種子得到相同的結(jié)果。

x>0:以上一個(gè)隨機(jī)數(shù)作種子,產(chǎn)生序列中的下一個(gè)隨機(jī)數(shù)。

x=0:產(chǎn)生與最近生成的隨機(jī)數(shù)相同的數(shù)。省略x:同x>02.Randomize語(yǔ)句初始化隨機(jī)數(shù)發(fā)生器,格式:

Randomize[n]

n:種子,省略時(shí)以系統(tǒng)時(shí)間作為種子3.5.3隨機(jī)函數(shù)24生成[a,b]范圍內(nèi)的隨機(jī)整數(shù)Int((b-a+1)*Rnd+a)例:生成[1,99]之間的隨機(jī)整數(shù)的表達(dá)式為:Int(99*Rnd+1)例:生成(1,99)之間的隨機(jī)整數(shù)的表達(dá)式為:Int(97*Rnd+2)25例: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é)果為0Val("12E2ABC")結(jié)果為12003.5.5日期和時(shí)間函數(shù)自學(xué):P503.5.4轉(zhuǎn)換函數(shù)26例: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"3.5.6格式輸出函數(shù)27Shell函數(shù)用于調(diào)用Windows下的應(yīng)用程序。格式:Shell(pathname[,windowstyle])pathname:要執(zhí)行的可執(zhí)行文件名,包含路徑。windowstyle:決定程序運(yùn)行時(shí)窗口的樣式。如果省略,則程序以具有焦點(diǎn)的最小化窗口執(zhí)行。取值見P51表3-1。3.5.7Shell函數(shù)例:運(yùn)行時(shí)單擊窗體,打開計(jì)算器:

PrivateSubForm_Click()

Shell"c:\winnt\system32\calc.exe",vbNormalFocusEndSub這里Shell函數(shù)以語(yǔ)句形式出現(xiàn),沒(méi)有返回值。283.6運(yùn)算符與表達(dá)式操作數(shù):常量、變量、函數(shù)、對(duì)象運(yùn)算符:圓括號(hào)算術(shù)運(yùn)算符(算術(shù)表達(dá)式)字符串運(yùn)算符(字符串表達(dá)式)關(guān)系運(yùn)算符(關(guān)系表達(dá)式)布爾運(yùn)算符(布爾表達(dá)式)293.6.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式優(yōu)先級(jí)運(yùn)算符運(yùn)算示例1^乘方3^22-取負(fù)-93*乘法3*53/浮點(diǎn)除法10/34\整數(shù)除法10/35Mod取模10mod36+加法2+36-減法2-3書寫:一條線、無(wú)[]、無(wú){}30例:將以下表達(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))311.乘方運(yùn)算例:10^210的平方,結(jié)果為10010^(-2)10的平方的倒數(shù),結(jié)果為0.012^2^3運(yùn)算順序從左到右,結(jié)果為64(-8)^(-1/3)錯(cuò)誤,當(dāng)?shù)讛?shù)為負(fù)時(shí),指數(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é)果符號(hào)同第一個(gè)操作數(shù)32字符串運(yùn)算符有兩個(gè):&+例:"Hello"&"World"結(jié)果為"HelloWorld""Check"&123結(jié)果為"Check123"123&456結(jié)果為"123456""123"&456結(jié)果為"123456"&:自動(dòng)將兩側(cè)的操作數(shù)作為字符處理

123+456

結(jié)果為579

"123"+456

結(jié)果為579

"123"+"456"

結(jié)果為"123456"

"Check"+123

錯(cuò)誤+:僅當(dāng)兩側(cè)操作數(shù)都為字符串時(shí)才做字符串連接3.6.2字符串運(yùn)算符與字符串表達(dá)式331.比較運(yùn)算符<(小于)<=(小于或等于)>(大于)>=(大于或等于)=(等于)<>(不等于)2.表達(dá)式:<表達(dá)式1><比較運(yùn)算符><表達(dá)式2>3.如何比較數(shù)值比較:按數(shù)值大小單字符比較:缺省情況下按字符的內(nèi)部二進(jìn)制表示比較,典型的二進(jìn)制排序順序如下:

""<"0"<"1"<……<"9"<"A"<"B"<……<"Z"<"a"<"b"<……<"z"

字符串比較:從左開始逐個(gè)比較3.6.3關(guān)系運(yùn)算符與關(guān)系表達(dá)式344.比較結(jié)果:TrueFalse例:45<35結(jié)果為False45=45結(jié)果為True4<>3結(jié)果為True

"abc">"cdf"結(jié)果為False

"for"<"fortran"結(jié)果為True例:要判斷兩個(gè)單精度型變量A和B的值是否相等,可以用下式判斷:

Abs(A-B)<ε例如:要判斷1除以3是否等于0.3333,可以寫成:

Abs(1/3-0.3333)<10E-5351.布爾運(yùn)算符:NotAndOr2.布爾表達(dá)式:

<關(guān)系表達(dá)式1><布爾運(yùn)算符><關(guān)系表達(dá)式2>3.優(yōu)先級(jí):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é)果為False3.6.4布爾運(yùn)算符與布爾表達(dá)式36例:將以下條件寫成VB布爾表達(dá)式1.m1-n1≤j≤m1+n12.X<-5或X>53.M和N之一為5,但不能同時(shí)為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)37()→函數(shù)運(yùn)算→算術(shù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論