版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)表示及基本運算
2024/11/2223.1.1 數(shù)據(jù)類型VisualBasic所支持的數(shù)據(jù)類型,以及存儲空間大小與范圍數(shù)據(jù)類型存儲空間范圍1Byte(字節(jié))1個字節(jié)0到2552Boolean(布爾型)2個字節(jié)True或False3Integer(整型)2個字節(jié)-32,768到32,7674Long(長整型)4個字節(jié)-2,147,483,648到2,147,483,6475Single(單精度浮點型)4個字節(jié)負數(shù)時從-3.402823E38到-1.401298E-45;正數(shù)時從1.401298E-45到3.402823E382024/11/223VisualBasic所支持的數(shù)據(jù)類型,以及存儲空間大小與范圍數(shù)據(jù)類型存儲空間范圍6Double(雙精度浮點型)8負數(shù)時從-1.79769313486232E308到-4.94065645841247E-324;正數(shù)時從4.94065645841247E-324到1.79769313486232E3087Currency(貨幣型)8從-922,337,203,685,477.5808到922,337,203,685,477.58078Date(日期型)8100年1月1日到9999年12月31日9Object(對象型)4任何Object引用2024/11/224VisualBasic所支持的數(shù)據(jù)類型,以及存儲空間大小與范圍數(shù)據(jù)類型存儲空間范圍10String(變長字符型)10字節(jié)加字符串長度0到大約20億11String(定長字符型)字符串長度1到大約65,53512Variant(變體數(shù)字型)16個字節(jié)任何數(shù)字值,最大可達Double的范圍13Variant(變體字符型)22個字節(jié)加字符串長度與變長String有相同的范圍14用戶自定義(利用Type)所有元素所需數(shù)目每個元素的范圍與它本身的數(shù)據(jù)類型的范圍相同。2024/11/225常用的數(shù)據(jù)類型簡要說明布爾型數(shù)據(jù)的值僅有兩種,即True(真)或False(假),這種值通常稱為邏輯值。當把數(shù)值型數(shù)轉換為布爾型時0會轉換為False其他非0值轉換為True當把布爾值轉換為數(shù)值型時False轉換為0True轉換為-1。1布爾型Boolean2024/11/226常用的數(shù)據(jù)類型簡要說明整型數(shù)是指不含有小數(shù)和指數(shù)的數(shù)。例如,序號、年齡、人數(shù)等,均可以用整型數(shù)來表示。整型數(shù)可以有符號,例如:-10,21,100,-5007,等。長整型(Long)與整型(Integer)間的差別取值范圍不同在內存所占用的字節(jié)數(shù)不同。2整型Integer2024/11/227常用的數(shù)據(jù)類型簡要說明浮點型也稱為實型,帶有小數(shù)部分。浮點數(shù)分作:小數(shù)的有效尾數(shù)、指數(shù)。小數(shù)的有效尾數(shù)是數(shù)值的數(shù)字部分,而指數(shù)說明小數(shù)點的位置。單精度浮點數(shù)(Single)只有7個十進制有效位。在表示一個金額時,如果以元為單位,使用2位來表示角分,則元最多只能用到5位,34028.23就是所能表示的最大精度有效值雙精度浮點(Double)數(shù)的有效位數(shù)最多可達15或16位。3浮點型2024/11/228常用的數(shù)據(jù)類型簡要說明主要目的是為了把計算后的貨幣的元與分的舍入誤差降至最小。如果使用浮點數(shù)表示,4.9999999與5.0之間是存在舍入誤差的,但在處理金融數(shù)據(jù)時是不可忽略的。貨幣型就是為了防止這種問題而設立的。貨幣型保留有4位小數(shù),整數(shù)部分可達15位有效數(shù)字。4貨幣型(Currency)2024/11/229常用的數(shù)據(jù)類型簡要說明或稱字符串型,用于存儲一切可打印的字符或字符串的序列。例如,姓名、地址、標題等等。字符型根據(jù)其長度是否固定分為:變長字符串是指字符的長度是不固定的。其長度不能超過20億個字符。定長字符串是指它在程序執(zhí)行過程中,始終保持其長度不變的字符串。其長度不能超過65535個字節(jié)。5字符型(String)2024/11/2210常用的數(shù)據(jù)類型簡要說明日期型數(shù)據(jù)用來表示日期和時間。日期的范圍從公元100年1月1日至9999年12月31日。時間的范圍從0:00:00到23:59:59。日期型數(shù)據(jù)用兩個“#”符號括起來例如,#10/28/2001#、#17:04:23##10/28/200110:46:01pm#‘在日期與時間部分間用一個空格通常所采用的日期格式為月/日/年(mm/dd/yyyy),時間格式為時:分:秒AM/PM(hh:mm:ssAM/PM)。也可以把日期和時間組合在一起,6日期型(Date)2024/11/2211常用的數(shù)據(jù)類型簡要說明定義自定義類型由Type語句來完成,其語法如下:[Private|Public]Type<類型名><元素名>As<數(shù)據(jù)類型>[<元素名>As<數(shù)據(jù)類型>]...EndType例如,希望創(chuàng)建一個描述人的類型定義如下:TypePeople NameAsString*10 SexAsString*2 AgeAsIntegerEndType8)用戶自定義2024/11/2212常用的數(shù)據(jù)類型簡要說明變體型可以表示任何數(shù)據(jù)類型值,包括數(shù)值、字符串、日期等。變體型數(shù)據(jù)表示數(shù)值型數(shù)據(jù)時,占用16個字節(jié)的存儲空間,最大可達Double類型的取值范圍表示字符串時占用的存儲空間等于字符串的長度。7)變體型(Variant)2024/11/22133.1.2 變量用標識符標識數(shù)據(jù)存儲單元的方法。先定義后使用。在程序中所體現(xiàn)出的對指定數(shù)據(jù)的存取就是利用變量來進行的,只要在程序中定義了變量,就可以給這個變量賦值,或使用它的值。2024/11/2214變量命名規(guī)則(1)變量名只能由字母、數(shù)字和下劃線組成。(2)變量名的第一個字符必須是字母,最后一個字符可以是類型符。(3)組成變量名的字符數(shù)不超過255個字符。(4)不能用該語言的保留字當作變量名。例如,Count,Chinese_Score,Age%等都是合法的變量名,而8a,A+B,Dim等則是非法的變量名。⑸不區(qū)分大小寫。2024/11/2215變量命名時注意(1)取名最好使用有明確實際意義。如用sum代表求和、Student_Num代表學生學號等。(2)變量名不宜過長。(3)變量名不能與過程名和符號常量名相同,更不能用該語言的關鍵字做變量名。(4)盡量采用所用高級程序設計語言建議的變量名前綴或后綴的約定來命名,以便區(qū)分變量的類型,如intMax,strName。2024/11/2216變量聲明的語句語法Dim<變量名>[As<類型>][,<變量名>[As<類型>]]…例如:DimCountAsInteger,TotalAsDoubleDimSexAsString'定義變長字符串DimNameAsString*10'定義定長字符串如果在聲明某變量時沒有指定類型,則該變量被默認為Variant類型。2024/11/2217變量初始化使用聲明語句建立一個變量后,VisualBasic自動將數(shù)值類型的變量初始化為0變長的字符串被初始化為一個零長度的空字符串(“”)定長的字符串則用空格填充Variant變量被初始化為Empty布爾型的變量則為False。 2024/11/2218自定義類型的變量自定義類型的變量也應該在Dim語句中加以說明,然后再使用。例如利用上節(jié)中定義的People類型,說明Student變量:
DimStudentAsPeople給Student賦值:Student.Name="林霄"Student.Sex="男"Student.Age=162024/11/2219其他聲明語句Public:用來在標準模塊中定義全局變量或數(shù)組;Static:用于在過程中定義靜態(tài)變量及數(shù)組;Private:用來聲明局部變量。這些聲明語句將在介紹過程時加以介紹。2024/11/22203.1.3 常量常量是在程序運行過程中不會改變的常數(shù)。常量也有類型之分,常用到的常量類型為:數(shù)值型、字符串型、日期型和布爾型。在語句中使用常量時,數(shù)值型可以直接寫出數(shù)字字符型用一對雙引號把字符串的內容括起來日期型則使用一對井號括起一串按月/日/年格式表示的日期布爾型則使用True或False2024/11/2221數(shù)值的指數(shù)形式當需要表示一個較大或較小的數(shù)值時,可以采用指數(shù)形式。例如:1.3023E-16,其意義為1.3023×10-16;2.3342E+14,其意義為2.3342×1014。2024/11/2222符號常數(shù)應該先聲明、后使用,定義常數(shù)的一般格式為:Const<常數(shù)名>=<表達式>[,<常數(shù)名>=<表達式>…]例如,3.14在程序中多處使用,不妨將其定義為常數(shù)PI:ConstPI=3.14聲明后,PI在程序中就代表3.14這個值了??梢許=PI*R*RQ=2*PI+2.1254在一行中可放置多個常數(shù)聲明:ConstPI=3.14,MaxPlanets=9,LCap="項目名稱"2024/11/22233.2 函數(shù)3.2.1 數(shù)學函數(shù)3.2.2 字符串函數(shù)3.2.3 日期和時間函數(shù)3.2.4 類型轉換函數(shù)2024/11/22243.2.1 數(shù)學函數(shù)函數(shù)說明Sin(x)返回x的正弦值Cos(x)返回x的余弦值Tan(x)返回x的正切值Atn(x)返回x的反正切值其中,x表示一個以弧度為單位的角。為了將角度轉換成弧度,請將角度乘以π/180。2024/11/2225例如:DimMyAngleAsDouble,MySecantAsDoubleConstPI=3.1415927MyAngle=63.5MySecant=Cos(MyAngle*PI/180)2024/11/22263.2.1 數(shù)學函數(shù)函數(shù)說明Abs(x)返回x的絕對值Exp(x)返回以e為底,以x為指數(shù)的值,即e的x次方Log(x)返回以e為底的自然對數(shù)值Sqr(x)返回x的平方根Rnd[(x)]隨機數(shù)函數(shù)Fix(x)截斷取整函數(shù)Int(x)最大取整函數(shù)Sgn(x)返回數(shù)的符號值:當x為負數(shù)時,函數(shù)返回-1;當x為0時,函數(shù)返回0;當x為正數(shù)時,函數(shù)返回12024/11/2227Int(x)和Fix(x)的區(qū)別如果x為負數(shù),則Int(x)返回小于或等于x的第一個負整數(shù),而Fix(x)則會返回大于或等于x的第一個負整數(shù)。例如,Int(-8.4)轉換成-9,F(xiàn)ix(-8.4)轉換成-8。2024/11/2228Rnd[(x)]函數(shù)說明Rnd函數(shù)返回一個隨機的Single類型數(shù)值,該值小于1但大于或等于0。Rnd函數(shù)的參數(shù)是可選的。如果參數(shù)值小于0,每次都使用參數(shù)值作為隨機數(shù)種子得到相同結果;參數(shù)值大于0,返回序列中的下一個隨機數(shù);參數(shù)值等于0,返回最近生成的數(shù);如果省略參數(shù)值,返回序列中的下一個隨機數(shù)。2024/11/2229Randomize語句在調用Rnd之前,首先應使用一次Randomize語句:Randomize語句初始化隨機數(shù)生成器,使之每次發(fā)出的隨機數(shù)各不相同,生成一個隨機數(shù)序列。Rnd函數(shù)將從該序列中取一個值作為返回值。例如,Randomizetimer2024/11/2230生成某個范圍內的隨機整數(shù)生成[a,b]范圍內的隨機整數(shù),可使用以下公式:Int((b-a+1)*Rnd+a)這里,b是隨機數(shù)范圍的上限,而a則是隨機數(shù)范圍的下限。例如,產生一個3位的整數(shù),即[100,999]:Int((999-100+1)*Rnd+100)即Int(900*Rnd)+1002024/11/22313.2.2 字符串函數(shù)函數(shù)說明Ltrim(字符串)去掉字符串左邊的空白字符Rtrim(字符串)去掉字符串右邊的空白字符Trim(字符串)去掉字符串左邊及右邊的空白字符Left(字符串,n)取字符串左部的n個字符Right(字符串,n)取字符串右部的n個字符Mid(字符串,p,n)從位置p開始取字符串的n個字符Len(字符串)測試字符串的長度String(n,字符)返回由n個字符組成的字符串Space(n)返回n個空格Instr([n,]字符串1,字符串2)返回字符串2在字符串1中的位置Ucase(字符串)把小寫字母轉換成大寫字母Lcase(字符串)把大寫字母轉換成小寫字母2024/11/2232例如,求串長Len函數(shù)返回參數(shù)字符串中包含的字符個數(shù),或是存儲一個變量所需的字節(jié)數(shù)。DimMyLenAsIntegerDimMyCurAsCurrency,MyStringAsString,MynameAsStringMyString="HelloWorld“MyName="袁小霞"
'設置變量初值MyLen=Len(MyString) '返回11MyLen=Len(MyName) '返回3MyLen=Len(MyCur) '返回82024/11/2233例如,取消串的前后空格Ltrim、Rtrim和Trim函數(shù),用于去掉字符串左、右邊和前后的空白字符。DimMyStringASString*10,MyNameASString,MyAddASString,MyStrASStringMyString="World"MyName="袁小霞"MyAdd="宏業(yè)路"MyStr=Ltrim(MyString) '返回"World"MyStr=Rtrim(MyName) '返回"袁小霞"MyStr=Trim(MyAdd) '返回"宏業(yè)路"2024/11/2234例如,取子串Left、Right和Mid函數(shù)分別返回字符串中的部分字符。DimMyStringASString,MyStrMyString="VisualBasicApplications"
'設置變量初值MyStr=Left(MyString,6) '返回"Visual"MyStr=Right(MyString,12)
'返回"Applications"MyStr=Mid(MyString,8,5) '返回"Basic"2024/11/2235例如,子串定位Instr函數(shù)將返回一個指定字符串在另一字符串中最先出現(xiàn)的位置。DimMyStringASString,MyPosASintegerMyString="VisualBasicApplications"
'設置變量初值MyPos=Instr(MyString,"s")
'返回3如果使用含有3個參數(shù)的Instr函數(shù),第一個參數(shù)用來說明開始查找的位置。MyPos=Instr(8,MyString,"s")
'返回102024/11/2236例如,
重復字符、空格串、大小寫轉換String函數(shù)用來生成包含n個指定字符的字符串。String(10,”@”)Space函數(shù)用來生成包含n個空格符的字符串。Space(5)Ucase函數(shù)把字符串中的小寫字符全部轉換為大寫字符。Ucase(“tom”)Lcase函數(shù)把字符串中的大寫字符全部轉換為小寫字符。Lcase(“HELLO”)2024/11/22373.2.3 日期和時間函數(shù)函數(shù)說明Now返回系統(tǒng)當前的日期和時間Date返回系統(tǒng)當前的日期Time返回系統(tǒng)當前時間Day(日期)返回日期中的某一日Weekday(日期)返回日期中的星期Month(日期)返回日期中的月份Year(日期)返回日期中的年份Hour(時間)返回時間中的小時數(shù)(0~23)Minute(時間)返回時間中的分鐘數(shù)(0~59)Second(時間)返回時間中的秒數(shù)(0~59)2024/11/22383.2.4 類型轉換函數(shù)CBool(<表達式>) '把參數(shù)的值轉換為布爾型CByte(<表達式>) '把參數(shù)的值轉換為字節(jié)型CCur(<表達式>) '把參數(shù)的值轉換為貨幣類型CDate(<表達式>) '把參數(shù)值轉換為日期型CDbl(<表達式>) '把參數(shù)值轉換為雙精度數(shù)CInt(<表達式>)
'把參數(shù)的小數(shù)部分四舍五入,轉換為小數(shù)CLng(<表達式>)
'把參數(shù)的小數(shù)部分四舍五入轉換為長整型數(shù)CSng(<表達式>) '把參數(shù)值轉換為單精度數(shù)CStr(<表達式>) '把參數(shù)值轉換為字符型CVar(<表達式>) '把參數(shù)值轉換為變體類型值2024/11/2239Asc和ChrAsc函數(shù)返回代表字符串中首字母的字符代碼。Chr函數(shù)則返回與指定的字符代碼相關的字符。例如:MyNumber=Asc("A") '返回65MyNumber=Asc("a") '返回97MyNumber=Asc("Apple") '返回65MyChar=Chr(65) '返回AMyChar=Chr(97) '返回aMyChar=Chr(62) '返回>MyChar=Chr(37) '返回%2024/11/2240Val和StrVal函數(shù)將字符串中有效的數(shù)字部分轉換為數(shù)值。Str函數(shù)將數(shù)值轉換為字符串。如:DimXAsDoubleX=val("36.789") 'X的值為36.789X=val("3.76.2729") 'X的值為3.76X=val("a3.76.2729") 'X的值為0DimCasString,XasDoubleX=15.763C=Str(X*2+1.2) 'C的值為"32.726"2024/11/2241DateSerial(<年>,<月>,<日>)DateSerial函數(shù)返回一個日期。例如:MyDate=DateSerial(1989,2,12)
'返回日期2/12/1989。2024/11/2242TimeSerial(<時>,<分>,<秒>)TimeSerial函數(shù)返回一個時間。其中。例如:MyTime=TimeSerial(9,42,38) '返回時間9:42:38。2024/11/2243Format函數(shù)格式如下:Format(<表達式>[,<格式表達式>])下面請看一些例子,有關格式符的請參照課本上的表格2024/11/2244例如,轉換數(shù)值使用用戶自定義格式來轉換數(shù)值:MyStr=Format(5459.4,"##,##0.00") '返回"5,459.40"MyStr=Format(5,"0.00%") '返回"500.00%"MyStr=Format(25.4,"#####.##\元") '返回"25.4元"MyStr=
Format(334.9,"金額:#######0.00")
'返回"金額:334.90"2024/11/2245例如,轉換日期/時間
使用用戶自定義格式來轉換日期/時間:MyTime=#16:12:47#MyDate=#8/28/2008#MyStr=Format(MyTime,"hh:nn:ss") '返回"16:12:47"MyStr=Format(MyTime,"hh:mm:ssAMPM")
'返回"04:12:47PM"MyStr=Format(MyDate,"dddd,yyyymmdd")
'返回"Thursday,20080828"MyStr=Format(MyDate-20,"yyyy-mm-dd(dddd)")
'返回"2008-08-08(Friday)"2024/11/2246例如,轉換字符串使用用戶自定義格式來轉換字符串:MyStr=“=”&Format(“HELLO”,“&&&&&&&&&&”)&“。”
‘取消空格返回"=HELLO。"MyStr=“=”&Format(“HELLO”,“!@@@@@@@@@@”)&“?!?
‘右補空格返回"=HELLO。"MyStr=Format(“HELLO”,“<”)
‘變小寫返回"hello"MySt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年智能硬件設備及配套軟件研發(fā)與銷售合同
- 2024年版道路運輸司機合同2篇
- 2021-2022學年甘肅省白銀市部分學校高一上學期第二次聯(lián)考語文試題(解析版)
- 2025造價工程師經驗對建設工程合同的審查意義備考資料
- 2025年陽泉貨運準駕證模擬考試
- 2024年房地產項目施工監(jiān)理合同范本集錦3篇
- 2024年度高級實習生個人隱私及商業(yè)秘密保護協(xié)議3篇
- 洛陽科技職業(yè)學院《經濟數(shù)學(一)》2023-2024學年第一學期期末試卷
- 高端制造企業(yè)總經理聘任合同
- 2024年度船舶買賣居間代理合同實施細則下載3篇
- 北京海淀區(qū)育英學校跟崗學習總結
- 中軟統(tǒng)一終端安全管理平臺v90使用手冊
- 護理質量管理PPT通用課件
- 氨水崗位應知應會手冊.docx
- AQ-C1-19 安全教育記錄表(三級)
- 廣東飼料項目建議書(參考范文)
- 鋁單板、玻璃幕墻建筑施工完整方案
- 六年級數(shù)學簡便計算易錯題
- 工程造價咨詢公司質量控制制度
- 《常用醫(yī)學檢查》PPT課件.ppt
- 《發(fā)展經濟學派》PPT課件.ppt
評論
0/150
提交評論