




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
VB語法基礎本章內容及要求:1.
熟悉VB程序中代碼和語句書寫規則;2.
掌握VB數據類型;掌握VB
運算符和表示式使用;掌握VB基本語句使用方法第1頁VB語言字符集及編碼規則編碼規則與約定
(一)編碼規則1.VB代碼中不區分字母大小寫。2.同一行上能夠書寫多條語句,但語句間要用冒號“:”分隔。3.若一個語句行不能寫下全部語句,或在尤其需要時,能夠換行。換行時需在本行后加入續行符,1個空格加下劃線“_”。4.注釋以Rem開頭,也能夠使用單引號“'”,注釋內容可直接出現在語句后面。
5.在程序轉向時需用到標號,標號是以字母開始而以冒號結束字符串。第2頁(二)約定1.為了提升程序可讀性,對于VB中關鍵字其首字母大寫,其余字母小寫2.注釋業利于程序維護和調試
Rem開始或單撇‘。比如:‘Th從sisaVBREMThisisaVB
在6.0中新增了“塊注釋/取消塊注釋”(視圖/工具欄/編輯)第3頁數據類型標準數據類型第4頁自定義類型
在模塊級別中使用,用于定義包含一個或多個元素用戶自定義數據類型。使用形式:
Type自定義類型名 元素名[([下標])]As類型名 元素名[([下標])]As類型名
...EndType
見下例第5頁TypeStudent XhAsSting XmAsString XbAsString NlAsInteger ScoreAsSingleEndType
比如:對于一個學生“學號”、“姓名”、“性別”、“年紀”、“入學成績”等數據,為了處理數據方便,經常需要把這些數據定義成一個新數據類型(如Student類型)。第6頁常量和變量常量及其申明有些數字我希望在程式一開始時候就決定,之后就不再改變比如:圓周率=3.14只打3.14有時候會造成日后不易維護常量定義Const常量名稱
=數值比如:ConstPi=3.14下次想要更精確時候,能夠直接改成ConstPi=3.1415,而不用每個用到地方都需要改動第7頁變量二.變量申明
1.用Dim語句顯式申明變量形式:Dim變量名[AS類型] Dim變量名[類型符]
例 DimiCountAsinteger,sumAssingle
等價于DimiCount%,sum!2.隱式申明
VisualBasic允許用戶在編寫應用程序時,不申明變量而直接使用,系統暫時為新變量分配存放空間并使用,這就是隱式申明。全部隱式申明變量都是Variant數據類型。VisualBasic依據程序中賦予變量值來自動調整變量類型。比如:第8頁
下面是一個很簡單程序,其使用變量a,b,Sum都沒有事先定義。PrivateSubForm_Click()Sum=0a=10:b=20Sum=a+bPrint"Sum=";SumEndSub3.強制顯式申明——OptionExplicit語句
良好編程習慣都應該是“先申明變量,后使用變量”,這么做能夠提升程序效率,同時也使程序易于調試。VisualBasic中能夠強制顯式申明,能夠在窗體模塊、標準模塊和類模塊通用申明段中加入語句:OptionExplicit第9頁變量作用域概述:
在VB中,因為能夠在過程中和模塊中申明變量,依據定義變量位置和定義變量語句不一樣,變量能夠分為:局部變量(過程級變量)窗體/模塊級變量(私有模塊級變量,能被本模塊全部過程和函數使用)全局級變量(公有模塊級變量)。第10頁過程級變量——局部變量局部變量:
在過程內申明變量,只能在本過程中使用。
在過程內部使用Dim或者Static關鍵字來申明變量,只在申明它們過程中才能被訪問或改變該變量值,別過程不可訪問。所以能夠在不一樣過程中申明相同名字局部變量而互不影響。第11頁例:PrivateSubForm_Load()Dimn%n=10EndSubPrivateSubFrom_Click()Dimn%Print“n=“;nEndSub程序運行后單擊窗體,其輸出結果是什么?第12頁窗體/模塊級變量窗體/模塊級變量:
在“通用申明”段中用Dim語句或用Private語句申明變量,可被本窗體/模塊任何過程訪問。但其它模塊卻不能訪問該變量。比如:在“通用申明”段申明以下變量PrivatesAsStringDimaAsInteger,bAsSingle第13頁全局變量
全局變量也稱公有模塊級變量,在窗體模塊或標準模塊頂部“通用”申明段用Public關鍵字申明,它作用范圍是整個應用程序,即可被本應用程序任何過程或函數訪問。比如:
PublicaAsInteger,bAssingle第14頁3種變量申明及使用規則以下表:第15頁靜態變量
除作用域之外,變量還有存活期,在這一期間變量能夠保持它們值。在應用程序存活期內一直保持模塊級變量和全局變量值。不過,對于Dim申明局部變量僅當過程執行期間存在,當一個過程執行完成,它局部變量值就已經不存在,而且變量所占據內存也被釋放。當下一次執行該過程時,它全部局部變量將重新初始化。概念局部變量存活期由其定義關鍵詞來決定。第16頁局部變量申明:
Dim申明:隨過程調用而分配存貯單元,變量初始化;過程體結束,變量內容自動消失,存貯單元釋放。
Static申明,每次調用過程,變量保持上次調用結束時值。申明形式:
Static變量名[AS類型] StaticFunction函數過程名([參數列表])[As類型]StaticSub子過程名[(參數列表)]
注意:過程名前加Static,表示該過程內局部變量都是靜態變量。第17頁例5.2
有一個人編了下面一段程序,想用變量n記錄單擊窗體次數。PrivateSubForm_Click()DimnAsIntegern=n+1Print"已單擊次數:";n&"次"EndSub分析程序運行后屢次單擊窗體輸出結果:
要統計單擊窗體次數,怎樣實現?并比較使用模塊變量和靜態變量差異。第18頁PrivateSubForm_Click()Dimi%,isum%Fori=1To5 isum=sum(i) Printisum,
NextiEndSubPrivateFunctionsum(nAsInteger)
DimjAsInteger j=j+nsum=jEndFunction12345StaticjAsInteger結果怎樣?
補充例題:第19頁數組數組申明Dim數組名稱(數組元素個數)As數據類型DimScore(5)AsInteger申明了一個叫Score數組這個數組有5個元素這數組5個元素都是Integer類型第20頁使用數組元素數組名稱(第幾個元素)范例:Score(4)=3注意數組元素從0開始算,以之前例子,能夠拿來使用數組元素有:Score(0),Score(1),Score(2),Score(3),Score(4)不能使用超過數組定義長度元素第21頁日期型表示式日期型數據是一個特殊數值型數據,只能有下面3種情況:1.一個日期型數據能夠相減:
DateB-DateA結果是一個數值型整數(兩個日期相差天數)。比如:#05/08/#-#05/01/#其結果為數值:72.一個日期型數據(DateA)與一數值數據(N)可作加法運算:DateA+N其結果仍是一個日期型數據。比如:#05/01/#+7其結果為日期型數據:#05/08/#3.一個日期型數據(DateA)與一數值數據(N)可作減法運算:
DateA-N其結果仍是一個日期型數據。比如:#05/08/#-7其結果為日期型數據:#05/01/#第22頁運算符和表示式一.算術運算符第23頁
字符串運算符與字符串表示式字符串運算符有:&、+
。功效是字符串連接比如:
"ABCD"+"EFGHI"'結果為:ABCDEFGHI“VB”&“程序設計教程”'結果為:VB程序設計教程說明:當連接符兩旁操作量都為字符串時,上述兩個連接符等價。它們區分是:
+(連接運算):兩個操作數均應為字符串類型;
&(連接運算):兩個操作數既可為字符型也可為數值型,當是數值型時,系統自動先將其轉換為數字字符,然后進行連接操作。第24頁例:"100"+123'結果為
223"100"+"123"'結果為
100123"Abc"+"123"‘結果為
Abc123"Abc"+123 ‘犯錯"100"&123'結果為
100123100&123'結果為
100123"Abc"&"123"'結果為
Abc123"Abc"&123'結果為
Abc123
注意:使用運算符“&”時,變量與運算符“&”之間應加一個空格。這是因為符號“&”還是長整型類型定義符,假如變量與符號“&”接在一起,VB系統先把它作為類型定義符處理,因而就會出現語法錯誤。第25頁關系運算符與關系表示式
關系運算符都是雙目運算,是用來比較兩個運算量之間關系,關系表示式運算結果為邏輯量。若關系成立,結果為True,若關系不成立,結果為False。
VB中關系運算符以下表所表示。運算符含義優先級實例結果<小于所相關系運算優先級相同。低于算術運算加“+”,減“-”運算,高于邏輯非“Not”運算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"TrueIs對象比較
第26頁關系運算規則以下:(1)當兩個操作式均為數值型,按數值大小比較。(2)字符串比較,則按字符ASCII碼值從左到右一一比較,直到出現不一樣字符為止.。例:"ABCDE">"ABRA" 結果為False(3)數值型與可轉換為數值型數據比較比如:29>"189",按數值比較,結果為False。(4)數值型與不能轉換成數值型字符型比較,如:77>"sdcd",不能比較,系統犯錯。(5)“Like”運算符是VB6.0新增加。其使用格式為:str1Likestr2第27頁邏輯運算符與邏輯表示式
Not邏輯非為單目運算符(要求一個操作數),其它為雙目運算符。條件表示式1And條件表示式2條件表示式均為T結果為T
條件表示式1Or條件表示式2條件表示式有一個T結果為T第28頁第29頁說明:(1)邏輯運算符優先級不相同,Not(邏輯非)最高,但它低于關系運算,Imp(邏輯蘊含)最低。(2)VB中慣用邏輯運算符是Not、And和Or。它們用于將多個關系表示式進行邏輯判斷。比如,數學上表示某個數在某個區域時用表示式:
10≤X<20,用VB程序中應寫成:
X>=10AndX<20(3)參加邏輯運算量普通都應是邏輯型數據,假如參加邏輯運算兩操作數是數值量,則以數值二進制值逐位進行邏輯運算(0當False,1當True)。
關系表示式與邏輯表示式常慣用在條件語句與循環語句中,作為條件控制程序流程走向。第30頁運算符執行次序
表示式中出現了各種不一樣類型運算符時,其運算符優先級以下:
算術運算符>=字符運算符>關系運算符>邏輯運算
說明:
1.當一個表示式中出現各種運算符時,首先進行算術運算符,接著處理字符串連接運算符,然后處理比較運算符,最終處理邏輯運算符,在各類運算中再按攝影應優先次序進行。
2.能夠用括號改變優先次序,強令表示式一些部分優先運行。括號內運算總是優先于括號外運算。對于多重括號,總是由內到外。第31頁表示式書寫中需注意問題(1)運算符不能相鄰。例a+-b是錯誤。(2)乘號不能省略。例x乘以y應寫成:x*y
(3)括號必須成對出現,均使用圓括號。(4)表示式從左到右在同一基準并排書寫,不能出現上下標(5)要注意各種運算符優先級別,為保持運算次序,在寫VB表示式時需要適當添加括號(),若用到庫函數必須按庫函要求書寫。如:
(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頁范例打分數網站0~50分:你完蛋了!50~60分:差一點點而已60~80分:不錯嘛!80~1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 肉類購貨協議書
- 現金補償協議書
- 罷訪息訴協議書
- 脫歐后備協議書
- 樣板間軟裝銷售協議書
- 和好朋友做生意協議書
- 房屋過度費補償協議書
- 送養子女協議書
- 環境建設協議書
- 幼兒放學后托管協議書
- 2024年人工智能訓練師(初級)職業鑒定理論考試題庫及答案
- 山東省青島市嶗山區2023-2024學年七年級下學期期末數學試題
- 某銀行培訓管理手冊
- 氧氣吸入操作評分標準(中心供氧)
- php設備管理系統論文
- 2019年壓力性損傷預防治療臨床實踐指南
- (高清版)JTGT 3360-01-2018 公路橋梁抗風設計規范
- MT-T 1199-2023 煤礦用防爆柴油機無軌膠輪運輸車輛安全技術條件
- 【美的集團企業應收賬款現狀、問題及對策(論文6200字)】
- 老年護理職業前景課件
- 老年人陪同就醫服務規范
評論
0/150
提交評論