vb語法詳解ppt課件_第1頁
vb語法詳解ppt課件_第2頁
vb語法詳解ppt課件_第3頁
vb語法詳解ppt課件_第4頁
vb語法詳解ppt課件_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

.,第五章VB語法基礎(chǔ),本章內(nèi)容及要求:1.熟悉VB程序中代碼和語句書寫規(guī)則;2.掌握VB的數(shù)據(jù)類型;3.掌握VB的運算符和表達式的使用;,本章重點:變量和常量的定義及使用、運算符和表達式的使用。,本章難點:數(shù)據(jù)類型。,.,5.1VB語言字符集及編碼規(guī)則,5.1.1VB的字符集,l字母:大寫英文字母AZ;小寫英文字母az。l數(shù)字:0一9;l專用字符:共27個,P48表。,5.1.2編碼規(guī)則與約定,(一)編碼規(guī)則1VB代碼中不區(qū)分字母的大小寫。2同一行上可以書寫多條語句,但語句間要用冒號“:”分隔。3若一個語句行不能寫下全部語句,或在特別需要時,可以換行。換行時需在本行后加入續(xù)行符,1個空格加下劃線“_”。,.,4一行最多允許255個字符。5注釋以Rem開頭,也可以使用單引號“”,注釋內(nèi)容可直接出現(xiàn)在語句的后面。6在程序轉(zhuǎn)向時需用到標號,標號是以字母開始而以冒號結(jié)束的字符串。,(二)約定,1為了提高程序的可讀性,對于VB中的關(guān)鍵字其首字母大寫,其余字母小寫2.注釋有利于程序的維護和調(diào)試Rem開始或單撇。例如:ThisisaVBREMThisisaVB在6.0中新增了“塊注釋/取消塊注釋”(視圖/工具欄/編輯),.,3通常不使用行號4對象名命名約定:每個對象的名字由3個小寫字母組成的前綴(指明對象的類型)和表示該對象作用的縮寫字母組成。如命令按鈕前綴:cmd,.,5.2數(shù)據(jù)類型,5.2.1標準數(shù)據(jù)類型,.,5.2.2自定義類型,在模塊級別中使用,用于定義包含一個或多個元素的用戶自定義的數(shù)據(jù)類型。使用形式:Type自定義類型名元素名(下標)As類型名元素名(下標)As類型名.EndType見下例,.,TypeStudentXhAsStingXmAsStringXbAsStringNlAsIntegerScoreAsSingleEndType,例如:對于一個學生的“學號”、“姓名”、“性別”、“年齡”、“入學成績”等數(shù)據(jù),為了處理數(shù)據(jù)的方便,常常需要把這些數(shù)據(jù)定義成一個新的數(shù)據(jù)類型(如Student類型)。,.,5.3常量和變量,5.3.1常量在程序運行過程中,其值不能被改變的量稱為常量。在VB中有三類常量:普通常量符號常量系統(tǒng)常量一、普通常量1整型常量(1)整型(Integer):表示-32768至32767之間的整數(shù)例如:1011020(2)長整型(Long):表示-2,147,483,648至2,147,483,647之間的整數(shù)例如:長整型常數(shù)的書寫:23SumEndSub,3強制顯式聲明OptionExplicit語句,良好的編程習慣都應該是“先聲明變量,后使用變量”,這樣做可以提高程序的效率,同時也使程序易于調(diào)試。VisualBasic中可以強制顯式聲明,可以在窗體模塊、標準模塊和類模塊的通用聲明段中加入語句:OptionExplicit,.,5.4變量的作用域,概述:,在VB中,由于可以在過程中和模塊中聲明變量,根據(jù)定義變量的位置和定義變量的語句不同,變量可以分為:局部變量(過程級變量)窗體/模塊級變量(私有的模塊級變量,能被本模塊的所有過程和函數(shù)使用)全局級變量(公有的模塊級變量)。,.,5.4.1過程級變量局部變量,局部變量:在過程內(nèi)用聲明的變量,只能在本過程中使用。,在過程內(nèi)部使用Dim或者Static關(guān)鍵字來聲明的變量,只在聲明它們的過程中才能被訪問或改變該變量的值,別的過程不可訪問。所以可以在不同的過程中聲明相同名字的局部變量而互不影響。,.,例:PrivateSubForm_Load()Dimn%n=10EndSubPrivateSubFrom_Click()Dimn%Print“n=“;nEndSub,程序運行后單擊窗體,其輸出結(jié)果是什么?,.,5.4.2窗體/模塊級變量,窗體/模塊級變量:在“通用聲明”段中用Dim語句或用Private語句聲明的變量,可被本窗體/模塊的任何過程訪問。但其他模塊卻不能訪問該變量。例如:在“通用聲明”段聲明如下變量PrivatesAsStringDimaAsInteger,bAsSingle,.,5.4.3全局變量,全局變量也稱公有的模塊級變量,在窗體模塊或標準模塊的頂部的“通用”聲明段用Public關(guān)鍵字聲明,它的作用范圍是整個應用程序,即可被本應用程序的任何過程或函數(shù)訪問。例如:PublicaAsInteger,bAssingle,.,3種變量聲明及使用規(guī)則如下表:,.,一、公用變量與局部變量同名在不同過程中定義同名變量,它們互不影響,但若在一過程中定義使用了與全局變量同名的變量,則就應注意。,5.4.4關(guān)于多個變量同名,注意:在過程中,如果定義了與模塊級變量(在通用部分使用Private或Dim聲明的變量),則在該過程內(nèi)不能引用同名的模塊級變量。例如,上面的例子中,如果將定義全局變量的語句PublicTempAsInteger改為PrivateTempAsInteger則在Command1的單擊事件中就不使用模塊級的Temp變量。,.,PublicTempAsInteger定義全局變量PrivateSubForm_Load()Temp=1將全局變量Temp的值設(shè)置成1EndSubPrivateSubCommand1_Click()DimTempAsInteger定義局部變量Temp=2將局部變量Temp的值設(shè)置成2Printtemp=;TempPrinttemp=;Form1.TempEndSubPrivateSubCommand2_Click()Printtemp=;TempEndSub,.,二、全局變量同名如果不同模塊中的全局變量使用同一名字,則通過同時引用模塊名和變量名就可以在代碼中區(qū)分它們。例如,如果有一個在Form1和Module1中都聲明了公用的Integer變量intX,則把它們作為MX和FX來引用便得到正確值。也就是說如果不同模塊中的全局變量使用同一名字,引用時就需要使用“模塊名.變量名”的形式來區(qū)分它們。,.,5.4.5靜態(tài)變量,除作用域之外,變量還有存活期,在這一期間變量能夠保持它們的值。在應用程序的存活期內(nèi)一直保持模塊級變量和全局變量的值。但是,對于Dim聲明的局部變量僅當過程執(zhí)行期間存在,當一個過程執(zhí)行完畢,它的局部變量的值就已經(jīng)不存在,而且變量所占據(jù)的內(nèi)存也被釋放。當下一次執(zhí)行該過程時,它的所有局部變量將重新初始化。,概念,局部變量的存活期由其定義的關(guān)鍵詞來決定。,.,局部變量聲明: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)變量。,.,例5.2有一個人編了下面一段程序,想用變量n記錄單擊窗體的次數(shù)。PrivateSubForm_Click()DimnAsIntegern=n+1Print已單擊次數(shù):;n&次EndSub,分析程序運行后多次單擊窗體的輸出結(jié)果:,要記錄單擊窗體次數(shù),如何實現(xiàn)?并比較使用模塊變量和靜態(tài)變量的差別。,.,PrivateSubForm_Click()Dimi%,isum%Fori=1To5isum=sum(i)Printisum,NextiEndSub,PrivateFunctionsum(nAsInteger)DimjAsIntegerj=j+nsum=jEndFunction,12345,StaticjAsInteger結(jié)果如何?,補充例題:,.,5.5運算符和表達式,一.運算符5.5.1.算術(shù)運算符(均是雙目運算,ia=3)例:5+10mod109/3+22結(jié)果是:,10,.,說明:計算時自動調(diào)整精度5.5.2.字符串運算符與字符串表達式字符串運算符有:、+。功能是字符串連接例如:ABCD+EFGHI結(jié)果為:ABCDEFGHI“VB”&“程序設(shè)計教程”結(jié)果為:VB程序設(shè)計教程說明:當連接符兩旁的操作量都為字符串時,上述兩個連接符等價。它們區(qū)別是:+(連接運算):兩個操作數(shù)均應為字符串類型;&(連接運算):兩個操作數(shù)既可為字符型也可為數(shù)值型,當是數(shù)值型時,系統(tǒng)自動先將其轉(zhuǎn)換為數(shù)字字符,然后進行連接操作。,.,例:100+123結(jié)果為223100+123結(jié)果為100123Abc+123出錯100&123結(jié)果為100123100&123結(jié)果為100123Abc&123結(jié)果為Abc123Abc&123結(jié)果為Abc123,注意:使用運算符“&”時,變量與運算符“&”之間應加一個空格。這是因為符號“&”還是長整型的類型定義符,如果變量與符號“&”接在一起,VB系統(tǒng)先把它作為類型定義符處理,因而就會出現(xiàn)語法錯誤。,.,5.5.3關(guān)系運算符與關(guān)系表達式,關(guān)系運算符都是雙目運算,是用來比較兩個運算量之間的關(guān)系,關(guān)系表達式的運算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為True,若關(guān)系不成立,結(jié)果為False。VB中的關(guān)系運算符如下表所示。,.,關(guān)系運算的規(guī)則如下:(1)當兩個操作式均為數(shù)值型,按數(shù)值大小比較。(2)字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止.。例:ABCDEABRA結(jié)果為False,(3)數(shù)值型與可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較,如:29189,按數(shù)值比較,結(jié)果為False。(4)數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較,如:77sdcd,不能比較,系統(tǒng)出錯。(5)“Like”運算符是VB6.0新增加的。其使用格式為:str1Likestr2,.,5.5.4邏輯運算符與邏輯表達式Not邏輯非為單目運算符(要求一個操作數(shù)),其它為雙目運算符。條件表達式1And條件表達式2條件表達式均為T結(jié)果為T條件表達式1Or條件表達式2條件表達式有一個T結(jié)果為T,.,說明:(1)邏輯運算符的優(yōu)先級不相同,Not(邏輯非)最高,但它低于關(guān)系運算,Imp(邏輯蘊含)最低。(2)VB中常用的邏輯運算符是Not、And和Or。它們用于將多個關(guān)系表達式進行邏輯判斷。例如,數(shù)學上表示某個數(shù)在某個區(qū)域時用表達式:10X=10AndX=字符運算符關(guān)系運算符邏輯運算,說明:1當一個表達式中出現(xiàn)多種運算符時,首先進行算術(shù)運算符,接著處理字符串連接運算符,然后處理比較運算符,最后處理邏輯運算符,在各類運算中再按照相應的優(yōu)先次序進行。2可以用括號改變優(yōu)先順序,強令表達式的某些部分優(yōu)先運行。括號

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論