版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
葛錦環(huán)溫州醫(yī)學(xué)院計(jì)算機(jī)教研室
第二章程序設(shè)計(jì)基礎(chǔ)
2023/9/302
2.1
如何學(xué)好VisualBasic語(yǔ)言規(guī)則要熟記,我們只能遵守規(guī)則而不能去創(chuàng)造規(guī)則。編程實(shí)驗(yàn)對(duì)能力提高最重要。開(kāi)始以模仿為主理解熟記常用算法、方法、屬性嘗試設(shè)計(jì)自己的選題嚴(yán)格按照規(guī)定的格式書(shū)寫(xiě)程序2023/9/303
首先注意一下編碼規(guī)則:VB代碼中不區(qū)分字母的大小寫(xiě)。(自動(dòng)轉(zhuǎn)化)在同一行上可以書(shū)寫(xiě)多條語(yǔ)句,但語(yǔ)句間要用冒號(hào)“
:”分割。若在一行上不能寫(xiě)下一個(gè)語(yǔ)句,或在特別需要時(shí),語(yǔ)句可以寫(xiě)在多行上。換行時(shí)需要在本行后加入續(xù)行符“
_”,即空格加下劃線。一行最多允許有255個(gè)字符。注釋以Rem開(kāi)頭,也可以使用撇號(hào)“
’”引導(dǎo)內(nèi)容,用撇號(hào)引導(dǎo)的注釋內(nèi)容可以直接出現(xiàn)在語(yǔ)句的后面。注意關(guān)鍵字,如If和For等2.2數(shù)據(jù)類(lèi)型、常量與變量2023/9/304
PrivateSubForm_Click()DimaAsIntegerDimbAsSingleDimcAsStringDimdAsDoubleDimeAsBooleana=10b=3.5d=a+bc=“學(xué)習(xí)VB程序設(shè)計(jì)“
‘字符類(lèi)型的變量Ce=b>aPrintdPrintcPrinteEndSub2.2數(shù)據(jù)類(lèi)型、常量與變量先看一個(gè)小程序2023/9/305
VB預(yù)定義了豐富的數(shù)據(jù)類(lèi)型,不同數(shù)據(jù)類(lèi)型體現(xiàn)了不同數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)。比如數(shù)值型、字符型、邏輯型、日期型等2.2數(shù)據(jù)類(lèi)型、常量與變量2023/9/306
3.2VB的數(shù)據(jù)類(lèi)型數(shù)據(jù)既是程序處理的基本對(duì)象,也是程序的必要組成部分。數(shù)據(jù)類(lèi)型是指數(shù)據(jù)的內(nèi)在表現(xiàn)形式。VB根據(jù)數(shù)據(jù)的不同性質(zhì)和用途將其分為不同的數(shù)據(jù)類(lèi)型。各種數(shù)據(jù)類(lèi)型具有不同的存儲(chǔ)長(zhǎng)度、取值范圍和允許的操作。數(shù)據(jù)類(lèi)型總的來(lái)說(shuō)分成四大類(lèi):數(shù)值型、字符串型、其它類(lèi)型、自定義類(lèi)型2023/9/307
Integer、Long、Single、Double、Currency、Byte數(shù)值型數(shù)據(jù):
Integer:整型占用2字節(jié),表示范圍-32768~32767
Long:長(zhǎng)整型4字節(jié),-2147483648~2147483647
Single:?jiǎn)尉葘?shí)數(shù)型4字節(jié),
-3.402823E38~-1.401298E-45 1.401298E-45~3.402823E38(6位有效位數(shù))Double:雙精度8字節(jié),-1.79769313486232E308~
-4.94065645841247E-324 4.94065645841247E-324~ 1.79769313486232E308(15位有效位數(shù))2023/9/308
Integer
和Long都用于表示整數(shù)。Integer的運(yùn)算速度快、占用內(nèi)存少,但精確度不夠。
Single
和Double都用于表示實(shí)數(shù)。如果所要處理的均為整數(shù),那就盡量使用Integer類(lèi)型;如果所要處理的包括小數(shù),那么盡量使用Single類(lèi)型。注意:2023/9/309
用于計(jì)算貨幣的數(shù)量,最多保留小數(shù)點(diǎn)右邊4位和小數(shù)點(diǎn)左邊15位。Currency:8字節(jié),-922337203685477.5808~922337203685477.5807Byte:1字節(jié),用于表示0~255范圍內(nèi)的整數(shù),無(wú)符號(hào)。數(shù)值型數(shù)據(jù):2023/9/3010
String:一個(gè)字符占1字節(jié)
用于存放字符型數(shù)據(jù),即用雙引號(hào)對(duì)括起來(lái)的字符串,如:
“123”、“振興中華”、“THANKS”等。字符串型數(shù)據(jù)(String):每個(gè)漢字字符占2個(gè)字節(jié)注意引號(hào)是英文輸入狀態(tài)!2023/9/3011
Boolean、Date、Object、Variant邏輯型數(shù)據(jù)(Boolean):2字節(jié),用于邏輯判斷,占兩個(gè)字節(jié),只有True與False兩種值。其他數(shù)據(jù)類(lèi)型:2023/9/3012
日期型數(shù)據(jù)(Date):8字節(jié),日期文字前后必須添加數(shù)字符號(hào)“#”,#1Jan,97##January1,1999##1999-8-112:30:12PM#
都是合法的日期。其他數(shù)據(jù)類(lèi)型:#05/08/2002#-#05/01/2002#其結(jié)果為數(shù)值:7#05/08/2002#-7其結(jié)果為日期型數(shù)據(jù):#05/01/2002#2023/9/3013
變體型數(shù)據(jù)(Variant):字節(jié)按需分配,是所有未聲明的變量的默認(rèn)數(shù)據(jù)類(lèi)型,它對(duì)數(shù)據(jù)的處理完全取決于程序上下文的需要。
Variant型變量可以存儲(chǔ)數(shù)值型、字符型、日期型、對(duì)象型等數(shù)據(jù),而不必進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換,VB會(huì)自動(dòng)完成任何必要的轉(zhuǎn)換。其他數(shù)據(jù)類(lèi)型:對(duì)象型數(shù)據(jù)(Object):4字節(jié),可用于引用應(yīng)用程序中或某些其他應(yīng)用程序中的對(duì)象。2023/9/3014
常量可以理解為具有固定值的數(shù)據(jù)分為直接常量和符號(hào)常量?jī)煞N
直接常量包括數(shù)值常量、字符串常量、邏輯常量、日期常量。例如:78、1.23、“計(jì)算機(jī)”、TRUE、FALSE、#07/01/2008#等都是直接常量。八進(jìn)制常量前加&O,如:&O1、&O567十六進(jìn)制常量前加&H,如:&HAF、&H2342023/9/3015
符號(hào)常量是為了讓程序更具可讀性而出現(xiàn)的包括: (1)系統(tǒng)定義的符號(hào)常量 例如:vbRed、vbGreen、vbBlue
(2)用戶(hù)自定義的符號(hào)常量定義形式為:
Const常量名[As類(lèi)型]=表達(dá)式ConstPI=3.1415
‘
聲明常量PI代表3.1415,單精度型ConstXAsInteger=5
‘
聲明常量X代表5,整型ConstRAsDouble=3.0‘
聲明常量R代表3.0,雙精度型ConstAREA=PI*R*R
‘
聲明常量AREA代表PI*R*R
2023/9/3016
變量
在計(jì)算機(jī)中我們使用變量來(lái)存儲(chǔ)那些會(huì)發(fā)生變化的數(shù)據(jù),即變量是數(shù)據(jù)的載體。聲明一個(gè)變量,就會(huì)在內(nèi)存中開(kāi)辟一塊區(qū)域來(lái)存儲(chǔ)其數(shù)據(jù)。
變量的命名規(guī)則
變量的聲明顯式聲明隱式聲明2023/9/3017
變量的命名規(guī)則:以字母或漢字開(kāi)頭,由字母、漢字、數(shù)字、下劃線組成,長(zhǎng)度小于等于255個(gè)字符。不能和關(guān)鍵字相同,如Dim、For、Select等,且不能包含“.~‘|”四種英文符號(hào)以及空格。在一定范圍內(nèi)必須是唯一的,且不能和過(guò)程名同名。不區(qū)分大小寫(xiě)字母,如:XYZ、Xyz、xyz都是相同的變量名。例如:最大值、lngX_Y、count是正確命名的變量名。
3a、Byte、k2是一些錯(cuò)誤的變量名。2023/9/3018
變量的顯式聲明:顯示聲明的格式:<限定詞><變量名>[as<類(lèi)型>]<限定詞>:Dim、Static、Public、Private<變量名>:符合命名規(guī)則的變量名稱(chēng)<類(lèi)型>:Integer、Long、Single、Double、
Currency、String、Byte、Boolean、
Date、Object、Variant、自定義類(lèi)型2023/9/3019
例:DimxasIntegerPrivatestrTempasStringPrivatedblTotalasDoubleStaticcWage
(類(lèi)型缺省情況下為Variant型)DimxasInteger,strTempasString,dblTotalasDouble
(一條語(yǔ)句聲明多個(gè)變量是允許的)變量的顯式聲明:2023/9/3020
聲明變量的類(lèi)型符!
單精度浮點(diǎn)數(shù)(Single)#
雙精度浮點(diǎn)數(shù)(Double)%
整型變量(Integer)&
長(zhǎng)整型數(shù)據(jù)(Long)@
貨幣型數(shù)據(jù)(Currency)$
字符串型數(shù)據(jù)(String)2023/9/3021
聲明變量時(shí)可以用類(lèi)型符替代:DimxasInteger<==>Dimx%
雖然使用類(lèi)型符方便,但使用類(lèi)型關(guān)鍵字能使程序更具可讀性。變量的顯式聲明:StaticyasSingle<==>Staticy!PrivatestrTempasString<==>PrivatestrTemp$PrivatedblTotalasDouble<==>PrivatedblTotal#2023/9/3022
變量的顯式聲明:OptionExplicitPrivateSubCommand1_Click()DimtempasIntegerDimresultasIntegertemp=100result=temp*8PrintresultEndSub例:在通用聲明段2023/9/3023
顯式聲明OptionExplicitPrivateSubCommand1_Click()DimtempasIntegerDimresultasIntegertemp=100result=temp*8PrintresultEndSubPrivateSubCommand1_Click()temp=100result=temp*8PrintresultEndSub隱式聲明(書(shū)上38頁(yè)表達(dá)有誤)隱式聲明應(yīng)盡量避免!變量的隱式聲明:2023/9/3024
聲明String類(lèi)型變量時(shí)的特殊操作:
變長(zhǎng)字符串:如PrivatestrTempasString
定長(zhǎng)字符串:如PrivatestrTempasString*5
即使不足5個(gè)字符,也會(huì)用空格填滿(mǎn),若是超出5個(gè)字符,則會(huì)自動(dòng)截去超出部分。2023/9/3025
關(guān)于變量的初始值在程序中聲明了變量之后,VisualBasic自動(dòng)將數(shù)值類(lèi)型的變量賦初值0,變長(zhǎng)字符串被初始化為零長(zhǎng)度的字符串(“”),定長(zhǎng)字符串則用空格填充,而邏輯型的變量初始化為False.回頭看第一個(gè)例子!賦值語(yǔ)句和Print語(yǔ)句以及本章最后的InputBox函數(shù)和MsgBox函數(shù)我們將放在第三章開(kāi)頭講解2023/9/3026
2.4運(yùn)算符和表達(dá)式運(yùn)算符是表示某種運(yùn)算的符號(hào)。表達(dá)式是由變量、常量和運(yùn)算符等組成的有意義的式子。運(yùn)算符按照優(yōu)先級(jí)從高到低排列依次為:算術(shù)運(yùn)算符字符串運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符2023/9/3027
算術(shù)運(yùn)算符與算術(shù)表達(dá)式例:5+10mod10\9/3+2^2結(jié)果:10假設(shè):A=5、X=22023/9/3028
\整除運(yùn)算和Mod求余運(yùn)算的一些特殊規(guī)則:\整除和Mod求余均要求運(yùn)算符左右兩邊的操作數(shù)都是整數(shù);若操作數(shù)是實(shí)數(shù),則先“四舍五入”轉(zhuǎn)換成整數(shù),再計(jì)算;若操作數(shù)是實(shí)數(shù),且實(shí)數(shù)的小數(shù)部分只有一位“5”時(shí),則遵循:奇進(jìn)偶舍,指的是實(shí)數(shù)的整數(shù)部分是奇,則把“5”進(jìn)上去;是偶,則把“5”舍掉。例:20.5\7=21.5\1.49=20.5\1.49=00.5001\1.49=115.5Mod5.49=12023/9/3029
Mod求余運(yùn)算時(shí),結(jié)果的正負(fù)號(hào)始終與第一個(gè)操作數(shù),即左操作數(shù)的符號(hào)相同。例:20.5Mod7=620.5Mod-7=6-20.5Mod-7=-6-20.5Mod7=-6
\整除運(yùn)算和Mod求余運(yùn)算的一些特殊規(guī)則:2023/9/3030
字符串運(yùn)算符與表達(dá)式&運(yùn)算符無(wú)論操作對(duì)象是數(shù)值還是字符,都能進(jìn)行連接,
結(jié)果均為字符串類(lèi)型。使用的時(shí)候前后都必須有空格!例:“123”&“456”‘結(jié)果為“123456”“abc”&123‘結(jié)果為“abc123”“VisualBasic”&“6.0”‘結(jié)果為”VisualBasic6.0”為什么?2023/9/3031
+運(yùn)算符當(dāng)操作對(duì)象均為字符時(shí),與&實(shí)現(xiàn)相同的連接功能;一邊為數(shù)字的字符串,一邊為數(shù)值,則自動(dòng)把數(shù)字的 字符串轉(zhuǎn)化為數(shù)值,再進(jìn)行相加運(yùn)算,結(jié)果為數(shù)值;一邊為非數(shù)字的字符串,一邊為數(shù)值,則出錯(cuò);當(dāng)兩邊均為數(shù)值時(shí),則進(jìn)行相加。例:“123”+“456”‘結(jié)果為“123456”“123”+456‘結(jié)果為579“abc”+123‘出錯(cuò)
123+456‘結(jié)果為579字符串運(yùn)算符與表達(dá)式2023/9/3032
PrivateSubForm_Click()DimaAsStringDimbAsIntegerDimcAsStringDimdAsStringa="123"b=456c=a&bd=a+bPrintcPrintdEndSub2023/9/3033
關(guān)系運(yùn)算符與表達(dá)式運(yùn)算符包括>,<,>=,<=,=,<>運(yùn)算結(jié)果只有兩種,即True或False;如果兩邊都是數(shù)值,則按其大小比較;如果一邊是數(shù)值,另一邊是數(shù)字的字符串,則先轉(zhuǎn)化為數(shù)值,再比較;如果一邊是數(shù)值,另一邊是非數(shù)字的字符串,則出錯(cuò);如果兩邊都是字符型數(shù)據(jù),則按ASCII碼值從左至右一一比較。2023/9/3034
例:"ABCDE">"ABRA"結(jié)果為False
不等號(hào)2023/9/3035
邏輯運(yùn)算符中除Not是單目運(yùn)算符外,其余的都是雙目運(yùn)算符,功能是將運(yùn)算對(duì)象進(jìn)行邏輯比較,比較結(jié)果是邏輯值True或False。運(yùn)算按優(yōu)先級(jí)順序進(jìn)行,同級(jí)運(yùn)算從左到右依次進(jìn)行。邏輯運(yùn)算符與邏輯表達(dá)式2+3>5And5>3
'結(jié)果為False2+3>5Or5>3
'結(jié)果為T(mén)rueNot5<3And6*2=10+2'結(jié)果為T(mén)rue2023/9/3036
常用內(nèi)部函數(shù)數(shù)學(xué)的函數(shù):f(x1,x2,…,xn)=y自變量因變量高級(jí)編程語(yǔ)言的函數(shù):參數(shù)返回值如:Len(“abc”)=32023/9/3037
VB提供了大量的內(nèi)部函數(shù))供用戶(hù)在編程時(shí)調(diào)用。內(nèi)部函數(shù)按其功能可分為數(shù)學(xué)函數(shù)、轉(zhuǎn)換函數(shù)、字符串函數(shù)、日期函數(shù)、顏色函數(shù)、檢測(cè)函數(shù)等。在以下的表格中,我們用N表示數(shù)值表達(dá)式,用C表示字符串表達(dá)式,用D表示日期表達(dá)式。函數(shù)名后的“$”符號(hào)表示函數(shù)的返回值為字符串。2023/9/3038
內(nèi)部函數(shù)——數(shù)學(xué)函數(shù)2023/9/3039
需要特別注意的數(shù)學(xué)函數(shù)Rnd
產(chǎn)生[0,1)范圍的Single類(lèi)型的隨機(jī)數(shù)。(2)Int(N)
返回小于等于N的最大整數(shù)。(3)Fix(N)
返回N的整數(shù)部分。產(chǎn)生[上界,下界]之間隨機(jī)整數(shù)的方法:
Int((上界-下界+1)*Rnd+下界),如:Int((100–0+1)*Rnd+0)PrivateSubForm_Click()Dima
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人教育分期借款合同范本3篇
- 二零二五年度內(nèi)燃機(jī)核心零部件代理銷(xiāo)售合同3篇
- 二零二五年度門(mén)臉?lè)课葑赓U與文創(chuàng)產(chǎn)業(yè)合作合同4篇
- 二零二五年度生態(tài)農(nóng)莊木工建造服務(wù)合同4篇
- 二零二五版門(mén)頭智能化控制系統(tǒng)研發(fā)與安裝合同4篇
- 二零二五年度文化旅游產(chǎn)業(yè)發(fā)展基金合同及違約賠償細(xì)則4篇
- 二零二五版高新技術(shù)企業(yè)研發(fā)項(xiàng)目財(cái)務(wù)監(jiān)管合同范本2篇
- 2025年度個(gè)人抵押借款合同風(fēng)險(xiǎn)評(píng)估范本
- 2025年度個(gè)人漁業(yè)貸款合同模板3篇
- 2025年度個(gè)人對(duì)個(gè)人光伏發(fā)電項(xiàng)目借款合同
- 三位數(shù)除以?xún)晌粩?shù)-豎式運(yùn)算300題
- 2023年12月廣東珠海市軌道交通局公開(kāi)招聘工作人員1人筆試近6年高頻考題難、易錯(cuò)點(diǎn)薈萃答案帶詳解附后
- 寺院消防安全培訓(xùn)課件
- 比摩阻-管徑-流量計(jì)算公式
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、異丙醇和正丁醇檢驗(yàn)
- 五年級(jí)數(shù)學(xué)應(yīng)用題100道
- 西方經(jīng)濟(jì)學(xué)(第二版)完整整套課件(馬工程)
- 高三開(kāi)學(xué)收心班會(huì)課件
- GB/T 33688-2017選煤磁選設(shè)備工藝效果評(píng)定方法
- 科技計(jì)劃項(xiàng)目申報(bào)培訓(xùn)
- 591食堂不合格食品處置制度
評(píng)論
0/150
提交評(píng)論