vb二級(jí)第4章.ppt_第1頁(yè)
vb二級(jí)第4章.ppt_第2頁(yè)
vb二級(jí)第4章.ppt_第3頁(yè)
vb二級(jí)第4章.ppt_第4頁(yè)
vb二級(jí)第4章.ppt_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第四章 VB程序設(shè)計(jì)基礎(chǔ),教學(xué)要求:,掌握整型、長(zhǎng)整型、單精度型、雙精度型、邏輯型、字符型等數(shù)據(jù)類(lèi)型的定義和使用; 了解貨幣型、日期型、變體型等數(shù)據(jù)類(lèi)型的表示; 掌握變量與常量的命名、定義和使用; 掌握算術(shù)運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符的使用及其優(yōu)先級(jí); 掌握表達(dá)式和常用內(nèi)部函數(shù)Int,Fix,Trim,Left,Rignt,Mid,Len,Ucase,Lcase, Space,String,Date,Time,Timer,Chr,Str,Val, QBColor,RGB,InputBox函數(shù),MsgBox函數(shù)的使用;,4.1 數(shù)據(jù)類(lèi)型,一.VB的標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型,標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型:,字節(jié)型(Byte

2、):占一個(gè)字節(jié),大小范圍0255; 邏輯型(Boolean):若一個(gè)變量的值只有兩種信息(或,是或不是,開(kāi)或關(guān)),我們就可以將其聲明為Boolean,缺省為False; 整型(Integer):占個(gè)字節(jié),類(lèi)型聲明符為%; 長(zhǎng)整型(Long):占個(gè)字節(jié),類(lèi)型聲明符為 Sum End Sub 如果Print “sum=“;sum語(yǔ)句中sum拼寫(xiě)為sun時(shí),編譯系統(tǒng)將檢查不出錯(cuò)誤,認(rèn)為是一個(gè)新的變量;,3強(qiáng)制顯式聲明Option Explicit語(yǔ)句,良好的編程習(xí)慣都應(yīng)該是“先聲明變量,后使用變量”,這樣做可以提高程序的效率,同時(shí)也使程序易于調(diào)試。Visual Basic 中可以強(qiáng)制顯式聲明,可以在

3、窗體模塊、標(biāo)準(zhǔn)模塊和類(lèi)模塊的通用聲明段中加入語(yǔ)句:Option Explicit,三 變量的作用域,在VB中,由于可以在過(guò)程中和模塊中聲明變量,根據(jù)定義變量的位置和定義變量的語(yǔ)句不同,變量可以分為: 局部變量(過(guò)程級(jí)變量) 窗體/模塊級(jí)變量(私有的模塊級(jí)變量,能被本模塊的所有過(guò)程和函數(shù)使用) 全局級(jí)變量(公有的模塊級(jí)變量)。,1 過(guò)程級(jí)變量局部變量,局部變量:在過(guò)程內(nèi)用聲明的變量,只能在本過(guò)程中使用。 在過(guò)程內(nèi)部使用 Dim 或者 Static 關(guān)鍵字來(lái)聲明的變量,只在聲明它們的過(guò)程中才能被訪(fǎng)問(wèn)或改變?cè)撟兞康闹?,別的過(guò)程不可訪(fǎng)問(wèn)。所以可以在不同的過(guò)程中聲明相同名字的局部變量而互不影響。,程序運(yùn)

4、行后單擊窗體,其輸出結(jié)果是什么?,Private Sub Form_Load() Dim n% n= 10 End Sub Private Sub From_Click() Dim n% Print “n=“;n End Sub,2 窗體/模塊級(jí)變量,窗體/模塊級(jí)變量:在“通用聲明”段中用Dim語(yǔ)句或用Private語(yǔ)句聲明的變量,可被本窗體/模塊的任何過(guò)程訪(fǎng)問(wèn)。但其他模塊卻不能訪(fǎng)問(wèn)該變量。 例如:在“通用聲明”段聲明如下變量 Private s As String Dim a As Integer,b As Single,3 全局變量,全局變量:也稱(chēng)全程變量,只能在標(biāo)準(zhǔn)模塊的頂部的“通用”聲

5、明段用Public關(guān)鍵字聲明,它的作用范圍是整個(gè)應(yīng)用程序,即可被本應(yīng)用程序的任何過(guò)程或函數(shù)訪(fǎng)問(wèn)。 例如: Public a As Integer,b As single,局部變量聲明:,Dim聲明:隨過(guò)程的調(diào)用而分配存貯單元,變量的初始化;過(guò)程體結(jié)束,變量的內(nèi)容自動(dòng)消失,存貯單元釋放。 Static聲明:每次調(diào)用過(guò)程,變量保持上次調(diào)用結(jié)束時(shí)的值。,局部變量示例:,例 有一個(gè)人編了下面一段程序,想用變量n記錄單擊窗體的次數(shù)。 Private Sub Form_Click() Dim n As Integer n = n + 1 Print 已單擊次數(shù):; n & 次 End Sub 分析程序運(yùn)行

6、后多次單擊窗體的輸出結(jié)果,要記錄單擊窗體次數(shù),如何實(shí)現(xiàn)?并比較使用模塊變量和靜態(tài)變量的差別。,4.3 運(yùn)算符和表達(dá)式,VB中有4種運(yùn)算符: 算術(shù)運(yùn)算符 連接運(yùn)算符 關(guān)系運(yùn)算符 邏輯運(yùn)算符 表達(dá)式:由運(yùn)算符、圓括號(hào)、常量、變量、函數(shù)組成的有意義的式子。 可以分為:算術(shù)表達(dá)式、字符串表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式,一. 運(yùn)算符,1. 算術(shù)運(yùn)算符:要求參與運(yùn)算量是數(shù)值型,運(yùn)算結(jié)果也是數(shù)值型;(其中ia的值為3),說(shuō)明:,在運(yùn)算時(shí),如果操作數(shù)精度不同,通常以高精度為準(zhǔn),例外情況: 當(dāng)long型與Single型運(yùn)算時(shí),結(jié)果為Double型; 除法和乘方運(yùn)算的結(jié)果都是Double型; 整除時(shí),若運(yùn)算量為實(shí)

7、數(shù),先取整,后相除,結(jié)果為整數(shù)或長(zhǎng)整數(shù); 在求余(Mod)運(yùn)算時(shí),如果運(yùn)算量不是整數(shù),則先將其四舍五入為整數(shù)后,再做求余運(yùn)算,結(jié)果的正負(fù)號(hào)與第一個(gè)運(yùn)算量的符號(hào)相同。,2. 字符串運(yùn)算符與字符串表達(dá)式,字符串運(yùn)算符有: 、+ 。 功能是將兩個(gè)字符串連接起來(lái); 例如:ABC + DEF 結(jié)果為:ABCDEF VB & 程序設(shè)計(jì) 結(jié)果為:VB程序設(shè)計(jì) 說(shuō)明: 當(dāng)連接符兩旁的操作量都為字符串時(shí),上述兩個(gè)連接符等價(jià)。,字符串運(yùn)算符:,& 與+的區(qū)別是: +(連接運(yùn)算):兩個(gè)操作數(shù)均應(yīng)為字符串類(lèi)型; &(連接運(yùn)算):兩個(gè)操作數(shù)既可為字符型也可為數(shù)值型,當(dāng)是數(shù)值型時(shí),系統(tǒng)自動(dòng)先將其轉(zhuǎn)換為數(shù)字字符,然后進(jìn)行連

8、接操作。,字符串運(yùn)算符舉例:,100 + 123 結(jié)果為 100123 Abc + 123 出錯(cuò) Abc + 123 結(jié)果為Abc123 100 & 123 結(jié)果為 100123 100 & 123 結(jié)果為 100123 Abc & 123 結(jié)果為 Abc123 Abc & 123 結(jié)果為 Abc123 注:使用“&”時(shí),要在變量與“&”之間加一個(gè)空格。,關(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é)果為T(mén)rue; 若比較關(guān)系不成立,結(jié)果為False;,關(guān)系運(yùn)算符:,優(yōu)先級(jí)及實(shí)例:,關(guān)系運(yùn)算的規(guī)則如下:,(1

9、)當(dāng)兩個(gè)操作式均為數(shù)值型時(shí),按數(shù)值大小進(jìn)行比較。 (2)字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止.。 例: ABCDE ABRA 結(jié)果為 False (3)數(shù)值型與可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較, 如:29189 ,按數(shù)值比較,結(jié)果為False。 (4)數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較, 如:77 sdcd ,不能比較,系統(tǒng)出錯(cuò)。,邏輯運(yùn)算符與邏輯表達(dá)式,Not 邏輯非為單目運(yùn)算符(要求一個(gè)操作數(shù)),其它為雙目運(yùn)算符。,說(shuō)明:,VB中常用的邏輯運(yùn)算符是Not、And和Or。它們用于將多個(gè)關(guān)系表達(dá)式進(jìn)行邏輯判斷。 例如,數(shù)學(xué)上表示某個(gè)數(shù)在某個(gè)區(qū)域時(shí)用表達(dá)式: 1

10、0X=10 And X20,日期型表達(dá)式,日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),只能有下面3種情況: 1一個(gè)日期型數(shù)據(jù)可以相減: DateB-DateA 結(jié)果是一個(gè)數(shù)值型整數(shù)(兩個(gè)日期相差的天數(shù))。 例如:#05/08/2002# - #05/01/2002# 其結(jié)果為數(shù)值:7 2一個(gè)日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作加法運(yùn)算:DateA+N 其結(jié)果仍是一個(gè)日期型數(shù)據(jù)。,日期型表達(dá)式,例如:#05/01/2002# +7 其結(jié)果為日期型數(shù)據(jù):#05/08/2002# 3一個(gè)日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作減法運(yùn)算: DateA-N 其結(jié)果仍是一個(gè)日期型數(shù)據(jù)。 例如:#05

11、/08/2002# - 7 其結(jié)果為日期型數(shù)據(jù):#05/01/2002#,運(yùn)算符的執(zhí)行順序,表達(dá)式中出現(xiàn)了多種不同類(lèi)型的運(yùn)算符時(shí),其運(yùn)算符優(yōu)先級(jí)如下: 算術(shù)運(yùn)算符=字符運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算 說(shuō)明: 1當(dāng)一個(gè)表達(dá)式中出現(xiàn)多種運(yùn)算符時(shí),首先進(jìn)行算術(shù)運(yùn)算符,接著處理字符串連接運(yùn)算符,然后處理比較運(yùn)算符,最后處理邏輯運(yùn)算符,在各類(lèi)運(yùn)算中再按照相應(yīng)的優(yōu)先次序進(jìn)行。,說(shuō)明:,2可以用括號(hào)改變優(yōu)先順序,強(qiáng)令表達(dá)式的某些部分優(yōu)先運(yùn)行。括號(hào)內(nèi)的運(yùn)算總是優(yōu)先于括號(hào)外的運(yùn)算。對(duì)于多重括號(hào),總是由內(nèi)到外。 . 表達(dá)式的書(shū)寫(xiě)中需注意的問(wèn)題 (1)運(yùn)算符不能相鄰。例a+*b是錯(cuò)誤的。 (2)乘號(hào)不能省略。例x 乘以y

12、 應(yīng)寫(xiě)成:x*y (3)括號(hào)必須成對(duì)出現(xiàn),均使用圓括號(hào)。,注意事項(xiàng):,(4)表達(dá)式從左到右在同一基準(zhǔn)并排書(shū)寫(xiě),不能出現(xiàn)上下標(biāo) (5)要注意各種運(yùn)算符的優(yōu)先級(jí)別,為保持運(yùn)算順序,在寫(xiě)表達(dá)式時(shí)需要適當(dāng)添加括號(hào)(),若用到庫(kù)函數(shù)必須按庫(kù)函要求書(shū)寫(xiě)。 如: (b-sqr(b*b-4*a*c)/(2*a) (a+b)/(a-b),4.5 常用內(nèi)部函數(shù),VB提供了上百種內(nèi)部函數(shù)(庫(kù)函數(shù)),要求掌握這些常用函數(shù)的功能及使用。 調(diào)用方法: 函數(shù)名(參數(shù)列表) 有參函數(shù) 函數(shù)名 無(wú)參函數(shù),說(shuō)明:,(1) 使用庫(kù)函數(shù)要注意參數(shù)的個(gè)數(shù)及其參數(shù)的數(shù)據(jù)類(lèi)型 (2) 要注意函數(shù)的定義域(自變量或參數(shù)的取值范圍) 例如:

13、sqr(x) 要求: x=0 (3) 要注意函數(shù)的值域。 如:exp(23773) 的值就超出實(shí)數(shù)在計(jì)算機(jī)中的表示 范圍。,1. 數(shù)學(xué)函數(shù),Abs(N)Cos(N)Sin(N) Exp(N)Log(N)Sqr(N) Rnd(N)Sgn(N),說(shuō)明:,(1) 在三角函數(shù)中的自變量是以弧度為單位。 如:sin300 sin(3.14159/180*30) Rnd函數(shù)返回0 1(包括0和不包括1)之間的單精度隨機(jī)數(shù)。 產(chǎn)生AB之間隨機(jī)整數(shù)的公式: Int(a+(b-a+1)*Rnd) 例如:要產(chǎn)生1-100的隨機(jī)整數(shù): Int(1+Rnd *100)1,100,說(shuō)明:,表達(dá)式區(qū)間 Int(Rnd*1

14、00) ? ?N,M (3) Sgn(N)函數(shù): 當(dāng)N0時(shí),其值為1 Sgn(3)=1 當(dāng)N=0時(shí),其值為0 Sgn(0)=0 當(dāng)N0時(shí),其值為-1 Sgn(-3)=-1,2. 轉(zhuǎn)換函數(shù),說(shuō)明: (1)要區(qū)別兩個(gè)取整函數(shù)int()和fix() Fix(N)為截?cái)嗳≌?,即去掉小?shù)后的數(shù)。 Int(N)取不大于N的最大整數(shù)。 當(dāng)N0時(shí),int(N)與fix(N)相等; 當(dāng)N0時(shí),int(N) 與fix(N) -1相等; 例如: Fix(9.59) =9, Int(9.59) =9 Fix(-9.59) =-9, Int(-9.59) =-10,說(shuō)明:,Asc(Abcd)值為: 65 (只取首字母的

15、Ascii值) Chr(65) 值為字符“A”(將字符轉(zhuǎn)換成Ascii值) Val(“abc123”) 值為:0, Val(“1.2sa10”) 值為1.2;Val( )函數(shù)只將最前面的數(shù)字字符轉(zhuǎn)換為數(shù)值。 Str(123)函數(shù)的值為“123”,將十進(jìn)制表示的數(shù)值轉(zhuǎn)換為對(duì)應(yīng)的字符串形式;,3. 字符串操作函數(shù),Vb字符處理機(jī)制 兩種標(biāo)準(zhǔn): (1)ASNI(標(biāo)準(zhǔn),早期版本的VB):英文占一個(gè)字節(jié),一個(gè)漢字占兩個(gè)字節(jié)。 (2)Unicode(統(tǒng)一格式VB5.0和6.0以后的版本):一個(gè)英文字母和一個(gè)漢字均為一個(gè)字符,占兩個(gè)字節(jié)。 為了實(shí)現(xiàn)ANSI與Unicode之間的轉(zhuǎn)換,使用StrConv()轉(zhuǎn)

16、換函數(shù)。,3. 字符串操作函數(shù),常用的字符串函數(shù)見(jiàn)表4.6 說(shuō)明:如果返回是字符型,則函數(shù)后有“$”字符。當(dāng)然一般也可以不寫(xiě),習(xí)慣都寫(xiě)上。 例如: len(This is a book!) 15 Left$(ABCDEFG,3) ABC Mid$(ABCDEFG,2,3) BCD InStr(1, “ABCDEFGEF”, “EF”) 5(從第一個(gè)字符查找“EF”出現(xiàn)的位置),字符串函數(shù):,Left$(C,N):取出字符串C左邊的N個(gè)字符; Right$(C,N):取出字符串C右邊的N個(gè)字符; Mid$(C,N1,N2):從字符串C中第N1個(gè)字符開(kāi)始向右取N2個(gè)字符,N2省略時(shí),從第N1個(gè)字符開(kāi)始向右取所有字符; Len( C):取字符串C的長(zhǎng)度; Trim$(C):取掉字符串C左右兩邊的空格; Sp

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論