版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章VisualBasic程序設(shè)計代碼基礎(chǔ)▲本章要點:字符集數(shù)據(jù)類型常量、變量常用內(nèi)部函數(shù)運算符與表達(dá)式13.1字符集1.字符集使用Unicode字符集,其基本字符集包括:數(shù)字:0~9英文字母:a~z,A~Z特殊字符:空格!"#$%&'()*+-/\^,.:;<=>?@[]_{}|~等。2.關(guān)鍵字關(guān)鍵字又稱為保留字
VB自動將關(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(長整型)Single(單精度浮點型)Double(雙精度浮點型)Currency(貨幣型)Byte(字節(jié)型)41.整數(shù)類型(1)整型(Integer)以2個字節(jié)存儲十進(jìn)制表示:由+-號,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)長整型(Long)以4個字節(jié)存儲十進(jìn)制表示:由+-號,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ù)采用IEEE格式,由尾數(shù)及指數(shù)組成:
[±]...[....][E|D][±](1)單精度浮點型(Single)以4個字節(jié)存儲,可以精確到7位十進(jìn)制數(shù)例:3.234E+2表示3.234102-28E9表示-281094.56E-17表示4.5610-17(2)雙精度浮點型(Double)以8個字節(jié)存儲,可以精確到16位3.234D+2表示3.234102-28D9表示-281094.56D-17表示4.5610-17尾數(shù)部分指數(shù)部分e|d7(3)貨幣型(Currency)以8個字節(jié)存儲用于表示定點數(shù),其小數(shù)點左邊有15位數(shù)字,右邊有4位數(shù)字。3.字節(jié)型(Byte)用于存儲二進(jìn)制數(shù)據(jù),其取值范圍為0~255。83.2.2字符串型數(shù)據(jù)(String)由""括起來的一串符號例:"abc""ABC""計算機""12.34""3+2"""(空串)
如果字符串本身包括雙引號,可用連續(xù)兩個雙引號表示。例:要打印以下字符串:
"Youmuststudyhard",hesaid.在程序中需要將該字符串表示成:"""Youmuststudyhard"",hesaid."3.2.3布爾型數(shù)據(jù)(Boolean)用于進(jìn)行邏輯判斷,只有True和False兩個值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等特殊值10*3.2.7枚舉類型(自學(xué))3.2.8用戶自定義類型是用戶自己定義的類型,這種類型可以包含多個基本類型。例如,可以定義一個Students數(shù)據(jù)類型,該類型中的每一個數(shù)又包含了學(xué)生的班級、學(xué)號、姓名、成績信息。定義格式為:
PrivateTypeStudents
ClassAsString'班級
NoAsString'學(xué)號
NameAsString'姓名
ScoreAsInteger'成績EndType113.3常量指在程序運行期間其值不發(fā)生變化的量。兩種形式:直接常量;符號常量3.3.1直接常量例:"歡迎使用VisualBasic"字符串常量12345數(shù)值型常量True布爾型常量#11/10/2001#日期型常量3.3.2用戶自定義符號常量
格式:Const<常量名>[As
<類型>]=<表達(dá)式>
類型:
IntegerLongSingleDoubleStringString*nBooleanDateCurrencyByteVariant12例: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.1413VB內(nèi)部已定義,可以直接使用的常量查看內(nèi)部常量:視圖→對象瀏覽器→選擇庫、類、成員如:庫VBRUN
類ColorConstants
ShapeConstants
成員Vbred
vbShapeCircle
例:PrivateSubForm_Activate()ConstAAsString="各種常量的使用"
Form1.BackColor=vbGreenForm1.ForeColor=vbRedForm1.FontSize=14PrintAEndSub3.3.3系統(tǒng)定義符號常量143.4變量程序執(zhí)行期間,用變量臨時存儲數(shù)值。變量的值可以發(fā)生變化。每個變量都有名稱和數(shù)據(jù)類型。2.變量的命名規(guī)則第一個字符必須是字母
長度不超過255個字符不可以包含小數(shù)點或者內(nèi)嵌的類型聲明字符
不能使用關(guān)鍵字不能與過程名或符號常量同名例:intMax
strNameStudent1MyName
不區(qū)分大小寫;變量名應(yīng)便于識別、記憶……5A1.什么是變量?
一個有名稱的內(nèi)存單元稱為變量。153.變量的聲明(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é)束,也仍然保留變量的值。16例:DimSumAsLongDimAddressAsStringDimNoAsString*8PrivatebAsIntegerDimNum,TotalAsInteger'Num為可變類型PublicAverageAsSingle
StaticAAsLong(2)隱式聲明可變類型。易出錯、浪費空間(3)強制顯式聲明在模塊的聲明段中使用語句:OptionExplicit如果設(shè)置:工具→選項→編輯器→要求變量聲明則在后續(xù)模塊中自動插入OptionExplicit17例:窗體模塊和過程中使用Dim語句的區(qū)別。設(shè)在窗體中放置按鈕Command1和Command2
DimaAsIntegerPrivateSubCommand1_Click()
a=a+10PrintaEndSubPrivateSubCommand2_Click()
a=a+15PrintaEndSub觀察程序運行結(jié)果將DimaAsInteger放到過程內(nèi),觀察運行結(jié)果。18例:Staic的作用。設(shè)在窗體中放置按鈕C1PrivateSubC1_Click()StaticaAsIntegera=a+10PrintaEndSubPrivateSubC1_Click()DimaAsIntegera=a+10PrintaEndSub運行時,多次單擊命令按鈕C1,比較以上兩個事件過程的執(zhí)行效果193.5常用內(nèi)部函數(shù)函數(shù)形式:函數(shù)名[(<參數(shù)表>]參數(shù):常量、變量或表達(dá)式。若有多個參數(shù),參數(shù)之間以逗號分隔。函數(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例:判斷一個整數(shù)Y能否被另一個整數(shù)X整除如果INT(Y/X)=Y/X則整除例:常用對數(shù)log10X的求法用換底公式log10X=Ln(X)/Ln(10)
即LOG(X)/LOG(10)例:求e3
正確:EXP(3)
錯誤:e^3(錯)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.隨機函數(shù)
Rnd[(x)]
產(chǎn)生[0,1)之間的單精度隨機數(shù)。
x<0:每次使用x作為隨機數(shù)種子得到相同的結(jié)果。
x>0:以上一個隨機數(shù)作種子,產(chǎn)生序列中的下一個隨機數(shù)。
x=0:產(chǎn)生與最近生成的隨機數(shù)相同的數(shù)。省略x:同x>02.Randomize語句初始化隨機數(shù)發(fā)生器,格式:
Randomize[n]
n:種子,省略時以系統(tǒng)時間作為種子3.5.3隨機函數(shù)24生成[a,b]范圍內(nèi)的隨機整數(shù)Int((b-a+1)*Rnd+a)例:生成[1,99]之間的隨機整數(shù)的表達(dá)式為:Int(99*Rnd+1)例:生成(1,99)之間的隨機整數(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ù)自學(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:決定程序運行時窗口的樣式。如果省略,則程序以具有焦點的最小化窗口執(zhí)行。取值見P51表3-1。3.5.7Shell函數(shù)例:運行時單擊窗體,打開計算器:
PrivateSubForm_Click()
Shell"c:\winnt\system32\calc.exe",vbNormalFocusEndSub這里Shell函數(shù)以語句形式出現(xiàn),沒有返回值。283.6運算符與表達(dá)式操作數(shù):常量、變量、函數(shù)、對象運算符:圓括號算術(shù)運算符(算術(shù)表達(dá)式)字符串運算符(字符串表達(dá)式)關(guān)系運算符(關(guān)系表達(dá)式)布爾運算符(布爾表達(dá)式)293.6.1算術(shù)運算符與算術(shù)表達(dá)式優(yōu)先級運算符運算示例1^乘方3^22-取負(fù)-93*乘法3*53/浮點除法10/34\整數(shù)除法10/35Mod取模10mod36+加法2+36-減法2-3書寫:一條線、無[]、無{}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.乘方運算例:10^210的平方,結(jié)果為10010^(-2)10的平方的倒數(shù),結(jié)果為0.012^2^3運算順序從左到右,結(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.取模運算例:10Mod4結(jié)果為225.68Mod6.99先四舍五入再求余數(shù),結(jié)果為511Mod–4結(jié)果為3-11Mod5結(jié)果為-1-11Mod-3結(jié)果為-2結(jié)果符號同第一個操作數(shù)32字符串運算符有兩個:&+例:"Hello"&"World"結(jié)果為"HelloWorld""Check"&123結(jié)果為"Check123"123&456結(jié)果為"123456""123"&456結(jié)果為"123456"&:自動將兩側(cè)的操作數(shù)作為字符處理
123+456
結(jié)果為579
"123"+456
結(jié)果為579
"123"+"456"
結(jié)果為"123456"
"Check"+123
錯誤+:僅當(dāng)兩側(cè)操作數(shù)都為字符串時才做字符串連接3.6.2字符串運算符與字符串表達(dá)式331.比較運算符<(小于)<=(小于或等于)>(大于)>=(大于或等于)=(等于)<>(不等于)2.表達(dá)式:<表達(dá)式1><比較運算符><表達(dá)式2>3.如何比較數(shù)值比較:按數(shù)值大小單字符比較:缺省情況下按字符的內(nèi)部二進(jìn)制表示比較,典型的二進(jìn)制排序順序如下:
""<"0"<"1"<……<"9"<"A"<"B"<……<"Z"<"a"<"b"<……<"z"
字符串比較:從左開始逐個比較3.6.3關(guā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例:要判斷兩個單精度型變量A和B的值是否相等,可以用下式判斷:
Abs(A-B)<ε例如:要判斷1除以3是否等于0.3333,可以寫成:
Abs(1/3-0.3333)<10E-5351.布爾運算符:NotAndOr2.布爾表達(dá)式:
<關(guān)系表達(dá)式1><布爾運算符><關(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é)果為False3.6.4布爾運算符與布爾表達(dá)式36例:將以下條件寫成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)37()→函數(shù)運算→算術(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋰電池供應(yīng)商的合作協(xié)議書范文
- 杭州市2025屆高三教學(xué)質(zhì)量檢測(一模) 數(shù)學(xué)試題卷(含答案解析)
- 2017年10月自考03350社會研究方法試題及答案
- 八年級上冊語文期中試卷及答案
- 心理健康課件教學(xué)課件
- 2023-2024學(xué)年新疆昌吉市教育共同體四校招生統(tǒng)一考試模擬(一)數(shù)學(xué)試題
- 邊做邊學(xué)AutoCAD建筑制圖立體化教程第章繪制和編輯平面圖形三
- 工地裝修材料買賣協(xié)議(3篇)
- 工作報告周總結(jié)
- 建筑類的實習(xí)報告
- -商朝與青銅文化ppt課件
- 表面處理集中加工區(qū)項目突發(fā)環(huán)境事件風(fēng)險評估報告
- 幼兒園中班社會動物好朋友學(xué)習(xí)教案
- 山東省省管企業(yè)擔(dān)保管理辦法
- 沙盤游戲治療(課堂PPT)
- Powerpoint - Business Plan Marketing Presentation Template
- 《我敬佩的一個人》作文教學(xué)課件分析
- 分部分項工程驗收管理辦法
- 全國初中數(shù)學(xué)競賽輔導(dǎo)(全套)
- 醫(yī)學(xué)免疫學(xué)名詞解釋和簡答題
- 自行車連鎖店運營手冊范本
評論
0/150
提交評論