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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論