版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
VB語法基礎(chǔ)本章內(nèi)容及要求:1.
熟悉VB程序中代碼和語句書寫規(guī)則;2.
掌握VB數(shù)據(jù)類型;掌握VB
運算符和表示式使用;掌握VB基本語句使用方法第1頁VB語言字符集及編碼規(guī)則編碼規(guī)則與約定
(一)編碼規(guī)則1.VB代碼中不區(qū)分字母大小寫。2.同一行上能夠書寫多條語句,但語句間要用冒號“:”分隔。3.若一個語句行不能寫下全部語句,或在尤其需要時,能夠換行。換行時需在本行后加入續(xù)行符,1個空格加下劃線“_”。4.注釋以Rem開頭,也能夠使用單引號“'”,注釋內(nèi)容可直接出現(xiàn)在語句后面。
5.在程序轉(zhuǎn)向時需用到標號,標號是以字母開始而以冒號結(jié)束字符串。第2頁(二)約定1.為了提升程序可讀性,對于VB中關(guān)鍵字其首字母大寫,其余字母小寫2.注釋業(yè)利于程序維護和調(diào)試
Rem開始或單撇‘。比如:‘Th從sisaVBREMThisisaVB
在6.0中新增了“塊注釋/取消塊注釋”(視圖/工具欄/編輯)第3頁數(shù)據(jù)類型標準數(shù)據(jù)類型第4頁自定義類型
在模塊級別中使用,用于定義包含一個或多個元素用戶自定義數(shù)據(jù)類型。使用形式:
Type自定義類型名 元素名[([下標])]As類型名 元素名[([下標])]As類型名
...EndType
見下例第5頁TypeStudent XhAsSting XmAsString XbAsString NlAsInteger ScoreAsSingleEndType
比如:對于一個學生“學號”、“姓名”、“性別”、“年紀”、“入學成績”等數(shù)據(jù),為了處理數(shù)據(jù)方便,經(jīng)常需要把這些數(shù)據(jù)定義成一個新數(shù)據(jù)類型(如Student類型)。第6頁常量和變量常量及其申明有些數(shù)字我希望在程式一開始時候就決定,之后就不再改變比如:圓周率=3.14只打3.14有時候會造成日后不易維護常量定義Const常量名稱
=數(shù)值比如:ConstPi=3.14下次想要更精確時候,能夠直接改成ConstPi=3.1415,而不用每個用到地方都需要改動第7頁變量二.變量申明
1.用Dim語句顯式申明變量形式:Dim變量名[AS類型] Dim變量名[類型符]
例 DimiCountAsinteger,sumAssingle
等價于DimiCount%,sum!2.隱式申明
VisualBasic允許用戶在編寫應(yīng)用程序時,不申明變量而直接使用,系統(tǒng)暫時為新變量分配存放空間并使用,這就是隱式申明。全部隱式申明變量都是Variant數(shù)據(jù)類型。VisualBasic依據(jù)程序中賦予變量值來自動調(diào)整變量類型。比如:第8頁
下面是一個很簡單程序,其使用變量a,b,Sum都沒有事先定義。PrivateSubForm_Click()Sum=0a=10:b=20Sum=a+bPrint"Sum=";SumEndSub3.強制顯式申明——OptionExplicit語句
良好編程習慣都應(yīng)該是“先申明變量,后使用變量”,這么做能夠提升程序效率,同時也使程序易于調(diào)試。VisualBasic中能夠強制顯式申明,能夠在窗體模塊、標準模塊和類模塊通用申明段中加入語句:OptionExplicit第9頁變量作用域概述:
在VB中,因為能夠在過程中和模塊中申明變量,依據(jù)定義變量位置和定義變量語句不一樣,變量能夠分為:局部變量(過程級變量)窗體/模塊級變量(私有模塊級變量,能被本模塊全部過程和函數(shù)使用)全局級變量(公有模塊級變量)。第10頁過程級變量——局部變量局部變量:
在過程內(nèi)申明變量,只能在本過程中使用。
在過程內(nèi)部使用Dim或者Static關(guān)鍵字來申明變量,只在申明它們過程中才能被訪問或改變該變量值,別過程不可訪問。所以能夠在不一樣過程中申明相同名字局部變量而互不影響。第11頁例:PrivateSubForm_Load()Dimn%n=10EndSubPrivateSubFrom_Click()Dimn%Print“n=“;nEndSub程序運行后單擊窗體,其輸出結(jié)果是什么?第12頁窗體/模塊級變量窗體/模塊級變量:
在“通用申明”段中用Dim語句或用Private語句申明變量,可被本窗體/模塊任何過程訪問。但其它模塊卻不能訪問該變量。比如:在“通用申明”段申明以下變量PrivatesAsStringDimaAsInteger,bAsSingle第13頁全局變量
全局變量也稱公有模塊級變量,在窗體模塊或標準模塊頂部“通用”申明段用Public關(guān)鍵字申明,它作用范圍是整個應(yīng)用程序,即可被本應(yīng)用程序任何過程或函數(shù)訪問。比如:
PublicaAsInteger,bAssingle第14頁3種變量申明及使用規(guī)則以下表:第15頁靜態(tài)變量
除作用域之外,變量還有存活期,在這一期間變量能夠保持它們值。在應(yīng)用程序存活期內(nèi)一直保持模塊級變量和全局變量值。不過,對于Dim申明局部變量僅當過程執(zhí)行期間存在,當一個過程執(zhí)行完成,它局部變量值就已經(jīng)不存在,而且變量所占據(jù)內(nèi)存也被釋放。當下一次執(zhí)行該過程時,它全部局部變量將重新初始化。概念局部變量存活期由其定義關(guān)鍵詞來決定。第16頁局部變量申明:
Dim申明:隨過程調(diào)用而分配存貯單元,變量初始化;過程體結(jié)束,變量內(nèi)容自動消失,存貯單元釋放。
Static申明,每次調(diào)用過程,變量保持上次調(diào)用結(jié)束時值。申明形式:
Static變量名[AS類型] StaticFunction函數(shù)過程名([參數(shù)列表])[As類型]StaticSub子過程名[(參數(shù)列表)]
注意:過程名前加Static,表示該過程內(nèi)局部變量都是靜態(tài)變量。第17頁例5.2
有一個人編了下面一段程序,想用變量n記錄單擊窗體次數(shù)。PrivateSubForm_Click()DimnAsIntegern=n+1Print"已單擊次數(shù):";n&"次"EndSub分析程序運行后屢次單擊窗體輸出結(jié)果:
要統(tǒng)計單擊窗體次數(shù),怎樣實現(xiàn)?并比較使用模塊變量和靜態(tài)變量差異。第18頁PrivateSubForm_Click()Dimi%,isum%Fori=1To5 isum=sum(i) Printisum,
NextiEndSubPrivateFunctionsum(nAsInteger)
DimjAsInteger j=j+nsum=jEndFunction12345StaticjAsInteger結(jié)果怎樣?
補充例題:第19頁數(shù)組數(shù)組申明Dim數(shù)組名稱(數(shù)組元素個數(shù))As數(shù)據(jù)類型DimScore(5)AsInteger申明了一個叫Score數(shù)組這個數(shù)組有5個元素這數(shù)組5個元素都是Integer類型第20頁使用數(shù)組元素數(shù)組名稱(第幾個元素)范例:Score(4)=3注意數(shù)組元素從0開始算,以之前例子,能夠拿來使用數(shù)組元素有:Score(0),Score(1),Score(2),Score(3),Score(4)不能使用超過數(shù)組定義長度元素第21頁日期型表示式日期型數(shù)據(jù)是一個特殊數(shù)值型數(shù)據(jù),只能有下面3種情況:1.一個日期型數(shù)據(jù)能夠相減:
DateB-DateA結(jié)果是一個數(shù)值型整數(shù)(兩個日期相差天數(shù))。比如:#05/08/#-#05/01/#其結(jié)果為數(shù)值:72.一個日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作加法運算:DateA+N其結(jié)果仍是一個日期型數(shù)據(jù)。比如:#05/01/#+7其結(jié)果為日期型數(shù)據(jù):#05/08/#3.一個日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作減法運算:
DateA-N其結(jié)果仍是一個日期型數(shù)據(jù)。比如:#05/08/#-7其結(jié)果為日期型數(shù)據(jù):#05/01/#第22頁運算符和表示式一.算術(shù)運算符第23頁
字符串運算符與字符串表示式字符串運算符有:&、+
。功效是字符串連接比如:
"ABCD"+"EFGHI"'結(jié)果為:ABCDEFGHI“VB”&“程序設(shè)計教程”'結(jié)果為:VB程序設(shè)計教程說明:當連接符兩旁操作量都為字符串時,上述兩個連接符等價。它們區(qū)分是:
+(連接運算):兩個操作數(shù)均應(yīng)為字符串類型;
&(連接運算):兩個操作數(shù)既可為字符型也可為數(shù)值型,當是數(shù)值型時,系統(tǒng)自動先將其轉(zhuǎn)換為數(shù)字字符,然后進行連接操作。第24頁例:"100"+123'結(jié)果為
223"100"+"123"'結(jié)果為
100123"Abc"+"123"‘結(jié)果為
Abc123"Abc"+123 ‘犯錯"100"&123'結(jié)果為
100123100&123'結(jié)果為
100123"Abc"&"123"'結(jié)果為
Abc123"Abc"&123'結(jié)果為
Abc123
注意:使用運算符“&”時,變量與運算符“&”之間應(yīng)加一個空格。這是因為符號“&”還是長整型類型定義符,假如變量與符號“&”接在一起,VB系統(tǒng)先把它作為類型定義符處理,因而就會出現(xiàn)語法錯誤。第25頁關(guān)系運算符與關(guān)系表示式
關(guān)系運算符都是雙目運算,是用來比較兩個運算量之間關(guān)系,關(guān)系表示式運算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為True,若關(guān)系不成立,結(jié)果為False。
VB中關(guān)系運算符以下表所表示。運算符含義優(yōu)先級實例結(jié)果<小于所相關(guān)系運算優(yōu)先級相同。低于算術(shù)運算加“+”,減“-”運算,高于邏輯非“Not”運算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"TrueIs對象比較
第26頁關(guān)系運算規(guī)則以下:(1)當兩個操作式均為數(shù)值型,按數(shù)值大小比較。(2)字符串比較,則按字符ASCII碼值從左到右一一比較,直到出現(xiàn)不一樣字符為止.。例:"ABCDE">"ABRA" 結(jié)果為False(3)數(shù)值型與可轉(zhuǎn)換為數(shù)值型數(shù)據(jù)比較比如:29>"189",按數(shù)值比較,結(jié)果為False。(4)數(shù)值型與不能轉(zhuǎn)換成數(shù)值型字符型比較,如:77>"sdcd",不能比較,系統(tǒng)犯錯。(5)“Like”運算符是VB6.0新增加。其使用格式為:str1Likestr2第27頁邏輯運算符與邏輯表示式
Not邏輯非為單目運算符(要求一個操作數(shù)),其它為雙目運算符。條件表示式1And條件表示式2條件表示式均為T結(jié)果為T
條件表示式1Or條件表示式2條件表示式有一個T結(jié)果為T第28頁第29頁說明:(1)邏輯運算符優(yōu)先級不相同,Not(邏輯非)最高,但它低于關(guān)系運算,Imp(邏輯蘊含)最低。(2)VB中慣用邏輯運算符是Not、And和Or。它們用于將多個關(guān)系表示式進行邏輯判斷。比如,數(shù)學上表示某個數(shù)在某個區(qū)域時用表示式:
10≤X<20,用VB程序中應(yīng)寫成:
X>=10AndX<20(3)參加邏輯運算量普通都應(yīng)是邏輯型數(shù)據(jù),假如參加邏輯運算兩操作數(shù)是數(shù)值量,則以數(shù)值二進制值逐位進行邏輯運算(0當False,1當True)。
關(guān)系表示式與邏輯表示式常慣用在條件語句與循環(huán)語句中,作為條件控制程序流程走向。第30頁運算符執(zhí)行次序
表示式中出現(xiàn)了各種不一樣類型運算符時,其運算符優(yōu)先級以下:
算術(shù)運算符>=字符運算符>關(guān)系運算符>邏輯運算
說明:
1.當一個表示式中出現(xiàn)各種運算符時,首先進行算術(shù)運算符,接著處理字符串連接運算符,然后處理比較運算符,最終處理邏輯運算符,在各類運算中再按攝影應(yīng)優(yōu)先次序進行。
2.能夠用括號改變優(yōu)先次序,強令表示式一些部分優(yōu)先運行。括號內(nèi)運算總是優(yōu)先于括號外運算。對于多重括號,總是由內(nèi)到外。第31頁表示式書寫中需注意問題(1)運算符不能相鄰。例a+-b是錯誤。(2)乘號不能省略。例x乘以y應(yīng)寫成:x*y
(3)括號必須成對出現(xiàn),均使用圓括號。(4)表示式從左到右在同一基準并排書寫,不能出現(xiàn)上下標(5)要注意各種運算符優(yōu)先級別,為保持運算次序,在寫VB表示式時需要適當添加括號(),若用到庫函數(shù)必須按庫函要求書寫。如:
(b-sqr(b*b-4*a*c))/(2*a)(a+b)/(a-b)
第32頁流程控制第33頁判斷語句IFTHENELSE基本:If條件式成立Then dosomethingEndIf擴展:If條件1成立Then dosomethingElse dosomethingEndIf第34頁多個條件:If條件1成立Then dosomethingElseIf條件2成立Then dosomethingElseIf條件3成立Then dosomethingElse dosomethingEndIf第35頁判斷式等于A=B不等于A<>B小于A<B大于A>B大于等于A>=B小于等于A<=B第36頁范例打分數(shù)網(wǎng)站0~50分:你完蛋了!50~60分:差一點點而已60~80分:不錯嘛!80~1
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《龍湖葵花寶典培訓》課件
- 經(jīng)濟效益的年度跟蹤計劃
- 《數(shù)據(jù)圖示餅》課件
- 沿海工程防護設(shè)備采購合同三篇
- 內(nèi)部激勵措施的年度優(yōu)化計劃
- 《通信技術(shù)原理》課件
- 冷拔鋼相關(guān)行業(yè)投資方案
- 合結(jié)鋼行業(yè)相關(guān)投資計劃提議
- 食品加工合同三篇
- 《液壓與氣動》課件 1氣動系統(tǒng)概述
- QC080000培訓講義課件
- 科技興國未來有我主題班會教學設(shè)計
- 房子管護合同范例
- 光伏施工安全措施
- 2024-2025華為ICT大賽(網(wǎng)絡(luò)賽道)高頻備考試題庫500題(含詳解)
- 汽車智能制造技術(shù)課件
- 江蘇省揚州市邗江中學2025屆物理高一第一學期期末學業(yè)質(zhì)量監(jiān)測試題含解析
- 2024年事業(yè)單位招聘考試計算機基礎(chǔ)知識復(fù)習題庫及答案(共900題)
- 戶外施工移動發(fā)電機臨時用電方案
- 四川省涼山州2024年中考數(shù)學適應(yīng)性考試試題
- 《鉸鏈四桿機構(gòu)》(課件)
評論
0/150
提交評論