VB程序設(shè)計(jì)基礎(chǔ)(4)課件_第1頁(yè)
VB程序設(shè)計(jì)基礎(chǔ)(4)課件_第2頁(yè)
VB程序設(shè)計(jì)基礎(chǔ)(4)課件_第3頁(yè)
VB程序設(shè)計(jì)基礎(chǔ)(4)課件_第4頁(yè)
VB程序設(shè)計(jì)基礎(chǔ)(4)課件_第5頁(yè)
已閱讀5頁(yè),還剩74頁(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ǔ)(4)1 第第4 4章章 VBVB程序設(shè)計(jì)基礎(chǔ)程序設(shè)計(jì)基礎(chǔ) 本章內(nèi)容及要求:本章內(nèi)容及要求: 4.1數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 4.2常量和變量常量和變量 4.3變量的作用域變量的作用域 4.4常用內(nèi)部函數(shù)常用內(nèi)部函數(shù) 4.5字符處理與字符串函數(shù)字符處理與字符串函數(shù) 4.6運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 VB程序設(shè)計(jì)基礎(chǔ)(4)2 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 數(shù)據(jù)是信息在計(jì)算機(jī)內(nèi)的表現(xiàn)形式,也是程序處數(shù)據(jù)是信息在計(jì)算機(jī)內(nèi)的表現(xiàn)形式,也是程序處 理的對(duì)象。理的對(duì)象。VB提供了系統(tǒng)定義的基本數(shù)據(jù)類(lèi)型,還提供了系統(tǒng)定義的基本數(shù)據(jù)類(lèi)型,還 允許用戶(hù)定義自己的數(shù)據(jù)類(lèi)型。允許用戶(hù)定義自己的數(shù)據(jù)類(lèi)型

2、。 VB程序設(shè)計(jì)基礎(chǔ)(4)3 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 一、基本數(shù)據(jù)類(lèi)型一、基本數(shù)據(jù)類(lèi)型 1.字符串型字符串型String 字符串是一個(gè)字符序列,由字符串是一個(gè)字符序列,由ASCII字符組成。字符串通常字符組成。字符串通常 要用雙引號(hào)括起來(lái)。要用雙引號(hào)括起來(lái)。 例如:例如:“Hello!” 湖南省衡陽(yáng)市湖南省衡陽(yáng)市 “8888” *” “” 空字符串空字符串 “ “ 有一個(gè)空格的字符串有一個(gè)空格的字符串 若字符串中有雙引號(hào),例如若字符串中有雙引號(hào),例如ABD“XYZ,則用連續(xù)兩個(gè)雙引,則用連續(xù)兩個(gè)雙引 號(hào)表示,即:號(hào)表示,即:ABDXYZ“ VB程序設(shè)計(jì)基礎(chǔ)(4)4 4.1 4.1 數(shù)

3、據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 VB中的字符串分為兩種:變長(zhǎng)字符串和定長(zhǎng)字符中的字符串分為兩種:變長(zhǎng)字符串和定長(zhǎng)字符 串。串。 變長(zhǎng)字符串的長(zhǎng)度是不確定的,可以從變長(zhǎng)字符串的長(zhǎng)度是不確定的,可以從0231(約(約 21億)個(gè)字符。億)個(gè)字符。 定長(zhǎng)字符串含有確定個(gè)數(shù)的字符,最大長(zhǎng)度不超定長(zhǎng)字符串含有確定個(gè)數(shù)的字符,最大長(zhǎng)度不超 過(guò)過(guò)216(65535)個(gè)字符。)個(gè)字符。 VB程序設(shè)計(jì)基礎(chǔ)(4)5 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 2.數(shù)值型數(shù)值型 數(shù)值型數(shù)據(jù)分為整型數(shù)和浮點(diǎn)數(shù)兩類(lèi)。數(shù)值型數(shù)據(jù)分為整型數(shù)和浮點(diǎn)數(shù)兩類(lèi)。 (1)整型數(shù))整型數(shù) 整型數(shù)是不帶小數(shù)點(diǎn)和指數(shù)符號(hào)的數(shù),在機(jī)器內(nèi)部以二進(jìn)制補(bǔ)整型數(shù)是不帶小數(shù)點(diǎn)

4、和指數(shù)符號(hào)的數(shù),在機(jī)器內(nèi)部以二進(jìn)制補(bǔ) 碼形式表示。碼形式表示。正數(shù)的補(bǔ)碼和它的二進(jìn)制形式正數(shù)的補(bǔ)碼和它的二進(jìn)制形式(即源碼即源碼)相同;負(fù)相同;負(fù) 數(shù)的補(bǔ)碼為該數(shù)的絕對(duì)值的二進(jìn)制形式取反加數(shù)的補(bǔ)碼為該數(shù)的絕對(duì)值的二進(jìn)制形式取反加1。 例如,整型數(shù)例如,整型數(shù)4,-4分別以下面的形式存放:分別以下面的形式存放:(最高位為符號(hào)位,最高位為符號(hào)位, 其中其中0為正,為正,1為負(fù))為負(fù)) 4 -4 整數(shù)的運(yùn)算速度快,而且比其他數(shù)據(jù)類(lèi)型占據(jù)的內(nèi)存少。整數(shù)的運(yùn)算速度快,而且比其他數(shù)據(jù)類(lèi)型占據(jù)的內(nèi)存少。 VB程序設(shè)計(jì)基礎(chǔ)(4)6 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 整型數(shù)又分為整數(shù)和長(zhǎng)整數(shù):整型數(shù)又分為整數(shù)和

5、長(zhǎng)整數(shù): u整數(shù)整數(shù)Integer 以以2個(gè)字節(jié)個(gè)字節(jié)(16位位)的二進(jìn)制數(shù)存儲(chǔ),取值范圍為的二進(jìn)制數(shù)存儲(chǔ),取值范圍為 -32,76832,767。 u長(zhǎng)整數(shù)長(zhǎng)整數(shù)Long 以以4個(gè)字節(jié)個(gè)字節(jié)(32位位)的二進(jìn)制數(shù)存儲(chǔ),取值范圍為的二進(jìn)制數(shù)存儲(chǔ),取值范圍為 -2,147,483,6482,147,483,647。 VB程序設(shè)計(jì)基礎(chǔ)(4)7 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 二進(jìn)制二進(jìn)制十進(jìn)制十進(jìn)制 0 1 2 3 32767 -32768 -32767 -32766 -2 -1 思考:為什么思考:為什么16位整數(shù)位整數(shù)Integer的取值范圍為的取值范圍為-32,76832,767? VB程序

6、設(shè)計(jì)基礎(chǔ)(4)8 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 注意:注意:16位整數(shù)位整數(shù)Integer如果超出了這個(gè)取值范圍如果超出了這個(gè)取值范圍 (-32,76832,767),數(shù)據(jù)便會(huì)溢出。請(qǐng)看下面的代),數(shù)據(jù)便會(huì)溢出。請(qǐng)看下面的代 碼:碼: Private Sub Form_Load() Dim a As Integer a = 32767 a = a + 1 MsgBox a End Sub VB程序設(shè)計(jì)基礎(chǔ)(4)9 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 (2)浮點(diǎn)數(shù))浮點(diǎn)數(shù) 浮點(diǎn)數(shù)也稱(chēng)實(shí)數(shù),是帶有小數(shù)部分的數(shù)值。分為單精度浮點(diǎn)數(shù)浮點(diǎn)數(shù)也稱(chēng)實(shí)數(shù),是帶有小數(shù)部分的數(shù)值。分為單精度浮點(diǎn)數(shù) 和雙精度浮點(diǎn)

7、數(shù)。和雙精度浮點(diǎn)數(shù)。 u單精度單精度Single 以以4個(gè)字節(jié)個(gè)字節(jié)(32位位)存儲(chǔ),可以精確到存儲(chǔ),可以精確到7位十進(jìn)制數(shù)。其中符號(hào)占位十進(jìn)制數(shù)。其中符號(hào)占 1位,指數(shù)占位,指數(shù)占8位,其余位,其余23位表示尾數(shù),還有一個(gè)附加的隱含位。位表示尾數(shù),還有一個(gè)附加的隱含位。 其負(fù)數(shù)的取值范圍為其負(fù)數(shù)的取值范圍為-3.402823E+38 -1.401298E-45,正數(shù),正數(shù) 的取值范圍為的取值范圍為1.401298E-45 3.402823E+38。 表示形式為:表示形式為: n.nEm 其中其中n.n是尾數(shù),是尾數(shù),m是指數(shù)(以是指數(shù)(以10 為底的冪)為底的冪) 例:例:-123.4E-3

8、或或-123.4e-3,相當(dāng)于,相當(dāng)于-0.1234 1.2345E3或或1.2345e3,相當(dāng)于,相當(dāng)于1234.5 VB程序設(shè)計(jì)基礎(chǔ)(4)10 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 u雙精度雙精度Double 以以8個(gè)字節(jié)個(gè)字節(jié)(64位位)存儲(chǔ),可以精確到存儲(chǔ),可以精確到15到到16位十進(jìn)制數(shù)。其位十進(jìn)制數(shù)。其 中符號(hào)占中符號(hào)占1位,指數(shù)占位,指數(shù)占11位,其余位,其余52位表示尾數(shù),還有一個(gè)位表示尾數(shù),還有一個(gè) 附加的隱含位。附加的隱含位。 表示形式為:表示形式為: n.nDm 其中其中n.n是尾數(shù),是尾數(shù),m是指數(shù)(以是指數(shù)(以 10為底的冪)為底的冪) 例:例:123.4567D3或或1

9、23.4567d+3,相當(dāng)于,相當(dāng)于123456.7 VB程序設(shè)計(jì)基礎(chǔ)(4)11 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 (3)貨幣型)貨幣型Currency 貨幣數(shù)據(jù)類(lèi)型通常用于表示錢(qián)款。以貨幣數(shù)據(jù)類(lèi)型通常用于表示錢(qián)款。以8個(gè)字節(jié)個(gè)字節(jié)(64位位)存儲(chǔ),精存儲(chǔ),精 確到小數(shù)點(diǎn)后面確到小數(shù)點(diǎn)后面4位(小數(shù)點(diǎn)前面有位(小數(shù)點(diǎn)前面有15位)。在小數(shù)點(diǎn)后位)。在小數(shù)點(diǎn)后4位位 以后的數(shù)字將被舍去。以后的數(shù)字將被舍去。其取值范圍為其取值范圍為-922,337,203,685, 477.5808 -922,337,203,685,477.5807 浮點(diǎn)數(shù)中的小數(shù)點(diǎn)是浮點(diǎn)數(shù)中的小數(shù)點(diǎn)是“浮動(dòng)浮動(dòng)”的,小數(shù)點(diǎn)可以

10、出現(xiàn)在數(shù)的任的,小數(shù)點(diǎn)可以出現(xiàn)在數(shù)的任 何位置,而貨幣型數(shù)據(jù)的小數(shù)點(diǎn)是固定的,因此稱(chēng)為定點(diǎn)數(shù)據(jù)何位置,而貨幣型數(shù)據(jù)的小數(shù)點(diǎn)是固定的,因此稱(chēng)為定點(diǎn)數(shù)據(jù) 類(lèi)型。類(lèi)型。 VB程序設(shè)計(jì)基礎(chǔ)(4)12 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 (4)字節(jié)型)字節(jié)型Byte 以以1個(gè)字節(jié)個(gè)字節(jié)(8位位)的無(wú)符號(hào)二進(jìn)制數(shù)存儲(chǔ),其取值范圍為的無(wú)符號(hào)二進(jìn)制數(shù)存儲(chǔ),其取值范圍為 0255。 注:在實(shí)際應(yīng)用中,應(yīng)根據(jù)需要使用數(shù)據(jù)類(lèi)型。能用整型注:在實(shí)際應(yīng)用中,應(yīng)根據(jù)需要使用數(shù)據(jù)類(lèi)型。能用整型 就不要用浮點(diǎn)型或貨幣型;如果要求的精度不高,則應(yīng)使用單就不要用浮點(diǎn)型或貨幣型;如果要求的精度不高,則應(yīng)使用單 精度變量。這樣不僅節(jié)省

11、內(nèi)存空間,而且可以提高處理速度。精度變量。這樣不僅節(jié)省內(nèi)存空間,而且可以提高處理速度。 VB程序設(shè)計(jì)基礎(chǔ)(4)13 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 3.布爾型布爾型Boolean 布爾型數(shù)據(jù)是一個(gè)邏輯值,用布爾型數(shù)據(jù)是一個(gè)邏輯值,用2個(gè)字節(jié)存儲(chǔ),它只取兩個(gè)個(gè)字節(jié)存儲(chǔ),它只取兩個(gè) 值:值:True/False。布爾型變量的默認(rèn)值為。布爾型變量的默認(rèn)值為False。 將邏輯數(shù)據(jù)轉(zhuǎn)換成整型時(shí):將邏輯數(shù)據(jù)轉(zhuǎn)換成整型時(shí):True為為-1,F(xiàn)alse為為0;其它數(shù);其它數(shù) 據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時(shí):非據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時(shí):非0為為T(mén)rue, 0為為False。 例如,下面的代碼定義一個(gè)布爾型變量,并輸出該變量:

12、例如,下面的代碼定義一個(gè)布爾型變量,并輸出該變量: Dim mybln As Boolean mybln=3 MsgBox mybln VB程序設(shè)計(jì)基礎(chǔ)(4)14 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 4.日期型日期型Date 日期型數(shù)據(jù)占用日期型數(shù)據(jù)占用8個(gè)字節(jié),以浮點(diǎn)數(shù)形式存儲(chǔ)。小數(shù)點(diǎn)左個(gè)字節(jié),以浮點(diǎn)數(shù)形式存儲(chǔ)。小數(shù)點(diǎn)左 邊的數(shù)值表示日期邊的數(shù)值表示日期(距離距離1899-12-30的天數(shù)的天數(shù)),小數(shù)點(diǎn)右邊的數(shù)小數(shù)點(diǎn)右邊的數(shù) 值表示時(shí)間。值表示時(shí)間。 日期型數(shù)據(jù)的日期表示范圍:日期型數(shù)據(jù)的日期表示范圍:100年年1月月1日日9999年年12 月月31日,時(shí)間表示范圍:日,時(shí)間表示范圍:0:0

13、0:0023:59:59。日期常數(shù)必須用日期常數(shù)必須用 “#”符號(hào)括起來(lái)。符號(hào)括起來(lái)。 例如:下面的幾種日期型數(shù)據(jù)的格式都是合法的:例如:下面的幾種日期型數(shù)據(jù)的格式都是合法的: #9/1/2009#或或#2009-09-01# #September 1,2009# #08:30:00 AM# #2002-5-4 14:30:00 PM# VB程序設(shè)計(jì)基礎(chǔ)(4)15 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 5.變體型變體型Variant 變體數(shù)據(jù)類(lèi)型是一種可變的數(shù)據(jù)類(lèi)型,可以表示任何值,變體數(shù)據(jù)類(lèi)型是一種可變的數(shù)據(jù)類(lèi)型,可以表示任何值, 包括數(shù)值、字符串、日期包括數(shù)值、字符串、日期/時(shí)間等。時(shí)間等。

14、當(dāng)變體數(shù)據(jù)為數(shù)值時(shí),以當(dāng)變體數(shù)據(jù)為數(shù)值時(shí),以16個(gè)字節(jié)存儲(chǔ),最大可達(dá)個(gè)字節(jié)存儲(chǔ),最大可達(dá) Double的取值范圍;當(dāng)變體數(shù)據(jù)為字符時(shí),以的取值范圍;當(dāng)變體數(shù)據(jù)為字符時(shí),以22字節(jié)字節(jié)+字符串字符串 長(zhǎng),與變長(zhǎng)長(zhǎng),與變長(zhǎng)String有相同的取值范圍有相同的取值范圍 。 6.對(duì)象型對(duì)象型Object 對(duì)象型數(shù)據(jù)作為對(duì)象型數(shù)據(jù)作為32位(位(4個(gè)字節(jié))地址來(lái)存儲(chǔ),該地址可個(gè)字節(jié))地址來(lái)存儲(chǔ),該地址可 以引用程序中的任何對(duì)象。以引用程序中的任何對(duì)象。 VB程序設(shè)計(jì)基礎(chǔ)(4)16 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 7.Decimal數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 Decimal數(shù)據(jù)以數(shù)據(jù)以12個(gè)字節(jié)存儲(chǔ),最多支持個(gè)字

15、節(jié)存儲(chǔ),最多支持29個(gè)有效數(shù)位,個(gè)有效數(shù)位, 在內(nèi)存中的表示形式比浮點(diǎn)數(shù)更精確。適用于要求使用大量有在內(nèi)存中的表示形式比浮點(diǎn)數(shù)更精確。適用于要求使用大量有 效的整數(shù)及小數(shù)位數(shù),并且不能容忍舍入誤差的財(cái)務(wù)計(jì)算。效的整數(shù)及小數(shù)位數(shù),并且不能容忍舍入誤差的財(cái)務(wù)計(jì)算。 Decimal數(shù)據(jù)類(lèi)型只能在變體類(lèi)型數(shù)據(jù)類(lèi)型只能在變體類(lèi)型(Variant)中使用,不能中使用,不能 把一個(gè)變量聲明為把一個(gè)變量聲明為Decimal類(lèi)型。類(lèi)型。 VB程序設(shè)計(jì)基礎(chǔ)(4)17 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 二、用戶(hù)定義的數(shù)據(jù)類(lèi)型二、用戶(hù)定義的數(shù)據(jù)類(lèi)型 用戶(hù)自定義類(lèi)型,也稱(chēng)為記錄類(lèi)型,通過(guò)用戶(hù)自定義類(lèi)型,也稱(chēng)為記錄類(lèi)型,

16、通過(guò)Type 語(yǔ)句來(lái)實(shí)現(xiàn),其語(yǔ)法格式如下:語(yǔ)句來(lái)實(shí)現(xiàn),其語(yǔ)法格式如下: Type 數(shù)據(jù)類(lèi)型名數(shù)據(jù)類(lèi)型名 元素名元素名As 類(lèi)型名類(lèi)型名 元素名元素名As 類(lèi)型名類(lèi)型名 End Type VB程序設(shè)計(jì)基礎(chǔ)(4)18 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 例如例如: 對(duì)于一個(gè)學(xué)生的對(duì)于一個(gè)學(xué)生的“學(xué)號(hào)學(xué)號(hào)”、“姓名姓名”、“性別性別”、 “年齡年齡”、“入學(xué)成績(jī)?nèi)雽W(xué)成績(jī)”等數(shù)據(jù),為了處理數(shù)據(jù)的方便,常等數(shù)據(jù),為了處理數(shù)據(jù)的方便,常 常需要把這些數(shù)據(jù)定義成一個(gè)新的數(shù)據(jù)類(lèi)型(如常需要把這些數(shù)據(jù)定義成一個(gè)新的數(shù)據(jù)類(lèi)型(如Student類(lèi)類(lèi) 型)型) Type Student Xh As String Xm

17、As String Xb As String Nl As Integer Score As Single End Type 二、用戶(hù)定義的數(shù)據(jù)類(lèi)型二、用戶(hù)定義的數(shù)據(jù)類(lèi)型 VB程序設(shè)計(jì)基礎(chǔ)(4)19 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 使用使用Type語(yǔ)句,應(yīng)注意以下幾點(diǎn):語(yǔ)句,應(yīng)注意以下幾點(diǎn): 1.記錄類(lèi)型的定義必須放在模塊(包括標(biāo)準(zhǔn)模塊和窗體記錄類(lèi)型的定義必須放在模塊(包括標(biāo)準(zhǔn)模塊和窗體 模塊)的聲明部分,在使用記錄類(lèi)型之前,必須用模塊)的聲明部分,在使用記錄類(lèi)型之前,必須用Type語(yǔ)句語(yǔ)句 加以定義。加以定義。 2.一般情況下,記錄類(lèi)型在標(biāo)準(zhǔn)模塊中定義,其變量可一般情況下,記錄類(lèi)型在標(biāo)準(zhǔn)模塊

18、中定義,其變量可 以出現(xiàn)在工程的任何地方。當(dāng)在標(biāo)準(zhǔn)模塊中定義時(shí),關(guān)鍵字以出現(xiàn)在工程的任何地方。當(dāng)在標(biāo)準(zhǔn)模塊中定義時(shí),關(guān)鍵字 Type前可以有前可以有Public(默認(rèn))或(默認(rèn))或Private;而如果在窗體模;而如果在窗體模 塊中定義,則必須在前面加上關(guān)鍵字塊中定義,則必須在前面加上關(guān)鍵字Private。 3.在記錄類(lèi)型中不能使用動(dòng)態(tài)數(shù)組。在記錄類(lèi)型中不能使用動(dòng)態(tài)數(shù)組。 VB程序設(shè)計(jì)基礎(chǔ)(4)20 4.1 4.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 下面的代碼聲明了一個(gè)下面的代碼聲明了一個(gè)Student類(lèi)型變量類(lèi)型變量st,然后為,然后為 其各個(gè)元素賦初值,最后輸出:其各個(gè)元素賦初值,最后輸出: Privat

19、e Sub Form_Load() Dim st As Student st.Xh = 20050001 st.Xm = 王一王一 st.Xb = 男男 st.Nl = 17 st.Score = 92.5 MsgBox 學(xué)號(hào):學(xué)號(hào): Total End Sub VB程序設(shè)計(jì)基礎(chǔ)(4)39 4.3 4.3 變量的作用域變量的作用域 每個(gè)變量都有它的作用范圍,即作用域。根據(jù)變每個(gè)變量都有它的作用范圍,即作用域。根據(jù)變 量在量在VB應(yīng)用程序中的定義位置和所使用的定義語(yǔ)句應(yīng)用程序中的定義位置和所使用的定義語(yǔ)句 的不同,可以分為的不同,可以分為局部變量局部變量、模塊變量模塊變量和和全局變量全局變量。

20、VB應(yīng)用程序的構(gòu)成應(yīng)用程序的構(gòu)成 VB程序設(shè)計(jì)基礎(chǔ)(4)40 4.3 4.3 變量的作用域變量的作用域 在過(guò)程(事件過(guò)程或通用過(guò)程)內(nèi)定義的變量叫在過(guò)程(事件過(guò)程或通用過(guò)程)內(nèi)定義的變量叫 做局部變量,其作用域是它所在的過(guò)程。因此,在不做局部變量,其作用域是它所在的過(guò)程。因此,在不 同的過(guò)程中可以定義相同名字的局部變量。同的過(guò)程中可以定義相同名字的局部變量。 局部變量在過(guò)程內(nèi)用局部變量在過(guò)程內(nèi)用Dim、Static定義,例如:定義,例如: Sub Command1_Click() Dim Tempnum As Integer Static Total As Double End Sub 一、局

21、部變量一、局部變量Local VB程序設(shè)計(jì)基礎(chǔ)(4)41 4.3 4.3 變量的作用域變量的作用域 模塊變量包括窗體變量和標(biāo)準(zhǔn)模塊變量。模塊變量包括窗體變量和標(biāo)準(zhǔn)模塊變量。 窗體變量可用于該窗體內(nèi)的所有過(guò)程(事件過(guò)程窗體變量可用于該窗體內(nèi)的所有過(guò)程(事件過(guò)程 或通用過(guò)程)?;蛲ㄓ眠^(guò)程)。當(dāng)同一窗體內(nèi)的不同過(guò)程使用相同的當(dāng)同一窗體內(nèi)的不同過(guò)程使用相同的 變量時(shí),必須定義窗體層變量。變量時(shí),必須定義窗體層變量。 窗體層變量不能隱式聲明。方法是:在程序代碼窗體層變量不能隱式聲明。方法是:在程序代碼 窗口的窗口的“對(duì)象對(duì)象”框中選擇框中選擇“通用通用”,并在,并在“過(guò)程過(guò)程”框框 中選擇中選擇“聲明聲

22、明”。 標(biāo)準(zhǔn)模塊中模塊層變量的聲明和使用與窗體層變標(biāo)準(zhǔn)模塊中模塊層變量的聲明和使用與窗體層變 量類(lèi)似。量類(lèi)似。 二、模塊變量二、模塊變量Module VB程序設(shè)計(jì)基礎(chǔ)(4)42 4.3 4.3 變量的作用域變量的作用域 默認(rèn)情況下,模塊級(jí)變量對(duì)該模塊中的所有過(guò)程默認(rèn)情況下,模塊級(jí)變量對(duì)該模塊中的所有過(guò)程 都是可見(jiàn)的,但對(duì)其他模塊不可見(jiàn)。模塊級(jí)變量在模都是可見(jiàn)的,但對(duì)其他模塊不可見(jiàn)。模塊級(jí)變量在模 塊的聲明部分用塊的聲明部分用Private、Dim聲明。例如:聲明。例如: Private intTemp As Integer 或或 Dim intTemp As Integer VB程序設(shè)計(jì)基礎(chǔ)(

23、4)43 4.3 4.3 變量的作用域變量的作用域 全局變量的作用域最大,可以在工程的每個(gè)模塊、全局變量的作用域最大,可以在工程的每個(gè)模塊、 每個(gè)過(guò)程中使用。每個(gè)過(guò)程中使用。全局變量必須在標(biāo)準(zhǔn)模塊的聲明部全局變量必須在標(biāo)準(zhǔn)模塊的聲明部 分中聲明分中聲明,不能在過(guò)程或窗體模塊中聲明;并且,全,不能在過(guò)程或窗體模塊中聲明;并且,全 局變量必須用局變量必須用Public或或Global語(yǔ)句聲明,不能用語(yǔ)句聲明,不能用Dim 語(yǔ)句聲明。例如:語(yǔ)句聲明。例如: Public intNumber As Integer 三、全局變量三、全局變量Public VB程序設(shè)計(jì)基礎(chǔ)(4)44 4.3 4.3 變量的

24、作用域變量的作用域 對(duì)于局部變量來(lái)說(shuō),可以不用對(duì)于局部變量來(lái)說(shuō),可以不用Dim或或Static定定 義,而是在需要時(shí)直接給出變量名義,而是在需要時(shí)直接給出變量名(不建議)(不建議)。 默認(rèn)聲明只適用于局部變量,模塊級(jí)變量和默認(rèn)聲明只適用于局部變量,模塊級(jí)變量和 全局變量必須用全局變量必須用Dim或或Public語(yǔ)句顯式聲明。語(yǔ)句顯式聲明。 默認(rèn)聲明局部變量,有可能使程序出現(xiàn)無(wú)法默認(rèn)聲明局部變量,有可能使程序出現(xiàn)無(wú)法 預(yù)料的結(jié)果,而且較難查出錯(cuò)誤。為了安全起見(jiàn),最好能顯式預(yù)料的結(jié)果,而且較難查出錯(cuò)誤。為了安全起見(jiàn),最好能顯式 地聲明程序中使用的所有變量。地聲明程序中使用的所有變量。 下面通過(guò)實(shí)例

25、說(shuō)明。下面通過(guò)實(shí)例說(shuō)明。 四、默認(rèn)聲明(隱式聲明)四、默認(rèn)聲明(隱式聲明) VB程序設(shè)計(jì)基礎(chǔ)(4)45 4.4 4.4 常用內(nèi)部函數(shù)常用內(nèi)部函數(shù) VB提供了上百種內(nèi)部函數(shù),要求掌握提供了上百種內(nèi)部函數(shù),要求掌握表表4.4中中常用函常用函 數(shù)的功能及使用數(shù)的功能及使用:數(shù)學(xué)函數(shù)、轉(zhuǎn)換函數(shù)、日期和時(shí)間函數(shù)學(xué)函數(shù)、轉(zhuǎn)換函數(shù)、日期和時(shí)間函 數(shù)、隨機(jī)數(shù)函數(shù)數(shù)、隨機(jī)數(shù)函數(shù)。 函數(shù)函數(shù)調(diào)用方法:調(diào)用方法: 函數(shù)名(參數(shù)列表)函數(shù)名(參數(shù)列表) 有參函數(shù)有參函數(shù) 函函數(shù)數(shù)名名 無(wú)參函數(shù)無(wú)參函數(shù) 說(shuō)明:說(shuō)明: (1) 使用使用內(nèi)部?jī)?nèi)部函數(shù)要注意參數(shù)的個(gè)數(shù)及其參數(shù)的數(shù)據(jù)類(lèi)函數(shù)要注意參數(shù)的個(gè)數(shù)及其參數(shù)的數(shù)據(jù)類(lèi) 型型

26、; (2) 要注意函數(shù)的定義域(自變量或參數(shù)的取值范圍)要注意函數(shù)的定義域(自變量或參數(shù)的取值范圍); (3)要注意函數(shù)的值域。)要注意函數(shù)的值域。 VB程序設(shè)計(jì)基礎(chǔ)(4)46 4.4 4.4 常用內(nèi)部函數(shù)常用內(nèi)部函數(shù) 常用的數(shù)學(xué)函數(shù)有常用的數(shù)學(xué)函數(shù)有: Sin(x)Cos(x)Tan(x) Atn(x) Abs(x) Sgn(x) Sqr(x)Exp(x) 說(shuō)明:說(shuō)明: (1)在三角函數(shù)中的自變量是以弧度為單位。在三角函數(shù)中的自變量是以弧度為單位。 如:如:sin300 sin(3.14159/180*30) (2) sqr(x)函數(shù)要求自變量函數(shù)要求自變量 x=0 (3) Exp(x) 函

27、數(shù)要求自變量函數(shù)要求自變量x不能超過(guò)不能超過(guò)709.782712893,否,否 則函數(shù)的值就會(huì)超出實(shí)數(shù)在計(jì)算機(jī)中的表示則函數(shù)的值就會(huì)超出實(shí)數(shù)在計(jì)算機(jī)中的表示 范圍,導(dǎo)致錯(cuò)誤范圍,導(dǎo)致錯(cuò)誤 發(fā)生。發(fā)生。 一、數(shù)學(xué)函數(shù)一、數(shù)學(xué)函數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4)47 4.4 4.4 常用內(nèi)部函數(shù)常用內(nèi)部函數(shù) 常用轉(zhuǎn)換函數(shù)見(jiàn)表常用轉(zhuǎn)換函數(shù)見(jiàn)表4.4,相關(guān),相關(guān)說(shuō)明如下:說(shuō)明如下: (1 1)要區(qū)別兩個(gè)取整函數(shù)要區(qū)別兩個(gè)取整函數(shù)int()和和fix() Fix(N)為截?cái)嗳≌?,即去掉小?shù)后的數(shù)。為截?cái)嗳≌?,即去掉小?shù)后的數(shù)。 Int(N)為不大于為不大于N的最大整數(shù)。的最大整數(shù)。 例如:例如: Fix(9.5

28、9) =9, Int(9.59) =9 Fix(-9.59) =-9, Int(-9.59) =-10 (2)Asc(Abcd) 值為:值為: 65 (只取首字母的(只取首字母的AscII值)值) (3)Val(“abc123”) 值為:值為:0, Val(1.2sa10) 值為值為1.2 注意:注意: Val( )函數(shù)只將最前面的數(shù)字字符轉(zhuǎn)換為數(shù)值。函數(shù)只將最前面的數(shù)字字符轉(zhuǎn)換為數(shù)值。 二、轉(zhuǎn)換函數(shù)二、轉(zhuǎn)換函數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4)48 4.4 4.4 常用內(nèi)部函數(shù)常用內(nèi)部函數(shù) 1. Date、Now、Time函數(shù)函數(shù) Date函數(shù):返回當(dāng)前系統(tǒng)日期。語(yǔ)法:函數(shù):返回當(dāng)前系統(tǒng)日期。語(yǔ)法:

29、Date Now函數(shù):返回當(dāng)前系統(tǒng)日期和時(shí)間。語(yǔ)法:函數(shù):返回當(dāng)前系統(tǒng)日期和時(shí)間。語(yǔ)法: Now Time函數(shù):返回當(dāng)前系統(tǒng)時(shí)間。語(yǔ)法:函數(shù):返回當(dāng)前系統(tǒng)時(shí)間。語(yǔ)法: Time 2. Year、Day、Month函數(shù)(年、月、日)函數(shù)(年、月、日) Year函數(shù):返回年份。語(yǔ)法:函數(shù):返回年份。語(yǔ)法:Year(Now) Day函數(shù):返回年份。語(yǔ)法:函數(shù):返回年份。語(yǔ)法: Day(Now) Month函數(shù):返回年份。語(yǔ)法:函數(shù):返回年份。語(yǔ)法: Month(Now) 3. Hour、Minute、Second函數(shù)(時(shí)、分、秒)函數(shù)(時(shí)、分、秒) Hour函數(shù):返回小時(shí)。語(yǔ)法:函數(shù):返回小時(shí)。語(yǔ)法

30、: Hour(Now) Minute函數(shù):返回分鐘。語(yǔ)法:函數(shù):返回分鐘。語(yǔ)法: Minute(Now) Second函數(shù):返回秒。語(yǔ)法:函數(shù):返回秒。語(yǔ)法: Second(Now) 三、日期和時(shí)間函數(shù)三、日期和時(shí)間函數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4)49 4.4 4.4 常用內(nèi)部函數(shù)常用內(nèi)部函數(shù) 語(yǔ)法:語(yǔ)法:Rnd(number) Rnd函數(shù)可以省略參數(shù)和括號(hào)。返回函數(shù)可以省略參數(shù)和括號(hào)。返回0 1)(即(即 包括包括0,但不包括,但不包括1)之間的單精度隨機(jī)數(shù)。)之間的單精度隨機(jī)數(shù)。 四、隨機(jī)數(shù)函數(shù)四、隨機(jī)數(shù)函數(shù)Rnd 如果如果numbernumber的值的值RndRnd生成生成 小于小于0 每次

31、都使用每次都使用number作為隨機(jī)數(shù)種子得到相同的結(jié)果作為隨機(jī)數(shù)種子得到相同的結(jié)果 大于大于0序列中的下一個(gè)隨機(jī)數(shù)序列中的下一個(gè)隨機(jī)數(shù) 等于等于0最近生成的數(shù)最近生成的數(shù) 默認(rèn)默認(rèn)序列中的下一個(gè)隨機(jī)數(shù)序列中的下一個(gè)隨機(jī)數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4)50 4.4 4.4 常用內(nèi)部函數(shù)常用內(nèi)部函數(shù) 若要產(chǎn)生若要產(chǎn)生1100的隨機(jī)整數(shù),則可通過(guò)下面的表的隨機(jī)整數(shù),則可通過(guò)下面的表 達(dá)式來(lái)實(shí)現(xiàn):達(dá)式來(lái)實(shí)現(xiàn): Int(Rnd*100)+1 包括包括1和和100 Int(Rnd*99)+1 包括包括1,但不包括,但不包括100 思考:怎樣產(chǎn)生思考:怎樣產(chǎn)生N,M區(qū)間的隨機(jī)數(shù)?區(qū)間的隨機(jī)數(shù)? Int(Rnd

32、*(M-N+1)+N VB程序設(shè)計(jì)基礎(chǔ)(4)51 4.4 4.4 常用內(nèi)部函數(shù)常用內(nèi)部函數(shù) 當(dāng)應(yīng)用程序不斷地重復(fù)使用隨機(jī)數(shù)時(shí),同一當(dāng)應(yīng)用程序不斷地重復(fù)使用隨機(jī)數(shù)時(shí),同一 序列的隨機(jī)數(shù)會(huì)反復(fù)出現(xiàn),用序列的隨機(jī)數(shù)會(huì)反復(fù)出現(xiàn),用Randomize語(yǔ)句可以消除這種語(yǔ)句可以消除這種 情況,其格式為:情況,其格式為:Randomize ( x ) 功能:初始化隨機(jī)數(shù)生成器。如省略參數(shù),功能:初始化隨機(jī)數(shù)生成器。如省略參數(shù), 則用系統(tǒng)計(jì)時(shí)器返回的值作為新的種子值。則用系統(tǒng)計(jì)時(shí)器返回的值作為新的種子值。 例如:下段程序每次運(yùn)行,將產(chǎn)生不同序列例如:下段程序每次運(yùn)行,將產(chǎn)生不同序列 的的20個(gè)個(gè)10,99之間的

33、隨機(jī)整數(shù)。之間的隨機(jī)整數(shù)。 Private Sub Form_click() Randomize For i = 1 To 20 Print Int(Rnd * 90) + 10; Next i Print End Sub VB程序設(shè)計(jì)基礎(chǔ)(4)52 4.5 4.5 字符處理與字符串函數(shù)字符處理與字符串函數(shù) ANSI方式方式:早前的版本采用。西文字符用一個(gè)字節(jié)編:早前的版本采用。西文字符用一個(gè)字節(jié)編 碼,中文字符用兩個(gè)字節(jié)編碼。一個(gè)中文字符相當(dāng)于兩個(gè)西文碼,中文字符用兩個(gè)字節(jié)編碼。一個(gè)中文字符相當(dāng)于兩個(gè)西文 字符。字符。 UniCode方式方式:4.0以后的版本采用。中西文字符統(tǒng)一以后的版本采

34、用。中西文字符統(tǒng)一 編碼,一個(gè)英文字符或一個(gè)漢字都看作一個(gè)字符,均用兩個(gè)字編碼,一個(gè)英文字符或一個(gè)漢字都看作一個(gè)字符,均用兩個(gè)字 節(jié)編碼。節(jié)編碼。 Print Len(BASIC程序設(shè)計(jì)程序設(shè)計(jì)) 9 Print LenB(“BASIC程序設(shè)計(jì)程序設(shè)計(jì)”) 18 注:注:VB6.0中,中,LenB 返回的是用于存儲(chǔ)字符串的字返回的是用于存儲(chǔ)字符串的字 節(jié)數(shù),而不是返回字符串中字符的數(shù)量。節(jié)數(shù),而不是返回字符串中字符的數(shù)量。 一、一、VB的字符處理機(jī)制的字符處理機(jī)制 VB程序設(shè)計(jì)基礎(chǔ)(4)53 4.5 4.5 字符處理與字符串函數(shù)字符處理與字符串函數(shù) 為了實(shí)現(xiàn)為了實(shí)現(xiàn)ANSI與與UniCode之

35、間的轉(zhuǎn)換,之間的轉(zhuǎn)換,VB提供了一個(gè)轉(zhuǎn)提供了一個(gè)轉(zhuǎn) 換函數(shù)換函數(shù)StrConv,格式如下:,格式如下: 新字符串新字符串=StrConv(待轉(zhuǎn)換字符串待轉(zhuǎn)換字符串,轉(zhuǎn)換格式轉(zhuǎn)換格式) 其中,其中,“轉(zhuǎn)換格式轉(zhuǎn)換格式”可以取值為:可以取值為: vbUnicode(值為(值為64) 將將ANSI轉(zhuǎn)換為轉(zhuǎn)換為 UniCode vbFromUnicode(值為(值為128) 將將UniCode轉(zhuǎn)換為轉(zhuǎn)換為 ANSI 例例4.1編寫(xiě)程序,測(cè)試編寫(xiě)程序,測(cè)試StrConv函數(shù)功能。函數(shù)功能。 一、一、VB的字符處理機(jī)制的字符處理機(jī)制 VB程序設(shè)計(jì)基礎(chǔ)(4)54 4.5 4.5 字符處理與字符串函數(shù)字符處理

36、與字符串函數(shù) 1.去空格函數(shù)去空格函數(shù) Ltrim$(字符串字符串):去除字符串左邊的空白字符;:去除字符串左邊的空白字符;$可以省略??梢允÷?。 RTrim$(字符串字符串) :去除字符串右邊的空白字符;:去除字符串右邊的空白字符; Trim$(字符串字符串):去除字符串兩邊的空白字符。:去除字符串兩邊的空白字符。 例如:例如: a$ = Good Morning b$ = LTrim$(a$) c$ = RTrim$(b$) Print b$; c$; ABC“ 輸出結(jié)果:輸出結(jié)果:Good Morning Good MorningABC 二、字符串函數(shù)二、字符串函數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4

37、)55 4.5 4.5 字符處理與字符串函數(shù)字符處理與字符串函數(shù) 2.字符串截取函數(shù)字符串截取函數(shù) 左部截?。鹤蟛拷厝。篖eft$(字符串字符串,n) 返回字符串的前返回字符串的前n個(gè)字符。個(gè)字符。例:例:Left$(“ABCDEF”,4) 中部截取:中部截?。篗id$(字符串字符串, p , n ) 從第從第p個(gè)字符開(kāi)始,向后截取個(gè)字符開(kāi)始,向后截取n個(gè)字符。個(gè)字符。n可以省略,此時(shí),可以省略,此時(shí), 將從第將從第p個(gè)字符開(kāi)始向后截取到字符串的末尾。個(gè)字符開(kāi)始向后截取到字符串的末尾。 例如:例如:Mid$(“ABCDEFGHIJK”,3,4) 右部截?。河也拷厝。篟ight$(字符串字符串,

38、n) 返回字符串的最后返回字符串的最后n個(gè)字符。個(gè)字符。例:例:Right$(“ABCDEFGHIJK”,4) 二、字符串函數(shù)二、字符串函數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4)56 4.5 4.5 字符處理與字符串函數(shù)字符處理與字符串函數(shù) 3.字符串長(zhǎng)度測(cè)試函數(shù)字符串長(zhǎng)度測(cè)試函數(shù) 格式:格式:Len(字符串字符串):返回字符串的長(zhǎng)度(長(zhǎng):返回字符串的長(zhǎng)度(長(zhǎng) 整型值)。整型值)。 Len(變量名變量名):返回存儲(chǔ)變量所需的字:返回存儲(chǔ)變量所需的字 節(jié)數(shù)。節(jié)數(shù)。 例如:例如:Len(“ABCDEFGHIJK”)返回返回11 Len(testvar%) 返回返回2 Len(testvar!) 返回返回4 Le

39、n(testvar#)返回返回8 二、字符串函數(shù)二、字符串函數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4)57 4.5 4.5 字符處理與字符串函數(shù)字符處理與字符串函數(shù) 4. String$函數(shù)函數(shù) 格式:格式:String$(n,ASCII碼碼) 或或String$(n,字符串字符串) 當(dāng)為當(dāng)為ASCII碼時(shí),返回由該碼時(shí),返回由該ASCII碼對(duì)應(yīng)的碼對(duì)應(yīng)的n個(gè)字符;當(dāng)為字個(gè)字符;當(dāng)為字 符串時(shí),返回由第一個(gè)字符組成的符串時(shí),返回由第一個(gè)字符組成的n個(gè)字符。個(gè)字符。 例如:例如: a$ = String$(5, 65) b$ = String$(5, -) c$ = String$(5, abcd) Print

40、 a$; b$; c$ 輸出結(jié)果:輸出結(jié)果: AAAAA-aaaaa 二、字符串函數(shù)二、字符串函數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4)58 4.5 4.5 字符處理與字符串函數(shù)字符處理與字符串函數(shù) 5.空格函數(shù)空格函數(shù) 格式:格式:Space$(n) 返回返回n個(gè)空格。個(gè)空格。 例如:例如: a$ = a + Space(4) + b“ 輸出結(jié)果:輸出結(jié)果: ab 二、字符串函數(shù)二、字符串函數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4)59 4.5 4.5 字符處理與字符串函數(shù)字符處理與字符串函數(shù) 6.字符串匹配函數(shù)字符串匹配函數(shù) 格式:格式:InStr( 首字符位置首字符位置 , 字符串字符串1 , 字符串字符串2 , n

41、 ) 該函數(shù)在該函數(shù)在“字符串字符串1”中查找中查找“字符串字符串2”,如果找到,就,如果找到,就 返回返回“字符串字符串2”的第一個(gè)字符在的第一個(gè)字符在“字符串字符串1”中的位置。中的位置?!白肿?符串符串1”的第一個(gè)字符的位置為的第一個(gè)字符的位置為1。 例如:例如: a$ = Microsoft Visual Basic x = InStr(a$, Visual) Print x 輸出結(jié)果:輸出結(jié)果: 11 二、字符串函數(shù)二、字符串函數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4)60 格式:格式:InStr( 首字符位置首字符位置 , 字符串字符串1 , 字符串字符串2 , n ) 說(shuō)明:說(shuō)明: “字符串字符

42、串2”的長(zhǎng)度必須小于的長(zhǎng)度必須小于65,535個(gè)字符;個(gè)字符; InStr的返回值是一個(gè)長(zhǎng)整型數(shù)。在不同的條件下,函數(shù)的的返回值是一個(gè)長(zhǎng)整型數(shù)。在不同的條件下,函數(shù)的 返回值也不一樣(見(jiàn)表返回值也不一樣(見(jiàn)表4.5)。)。 “首字符位置首字符位置”是可選的。如果有,則從該位置開(kāi)始查找,是可選的。如果有,則從該位置開(kāi)始查找, 否則從起始位置開(kāi)始查找。否則從起始位置開(kāi)始查找。 自變量自變量n是可選的,用來(lái)指定字符串比較方式。該自變量的是可選的,用來(lái)指定字符串比較方式。該自變量的 取值可以是取值可以是0、1或或2。 0:進(jìn)行二進(jìn)制比較,區(qū)分字母的大小寫(xiě);默認(rèn)為:進(jìn)行二進(jìn)制比較,區(qū)分字母的大小寫(xiě);默認(rèn)

43、為0。 1:比較時(shí)忽略大小寫(xiě);:比較時(shí)忽略大小寫(xiě); 2:對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行比較。:對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行比較。 VB程序設(shè)計(jì)基礎(chǔ)(4)61 4.5 4.5 字符處理與字符串函數(shù)字符處理與字符串函數(shù) 也可以通過(guò)語(yǔ)句限定:也可以通過(guò)語(yǔ)句限定: Option Compare Binary Option Compare Text Option Compare Database VB程序設(shè)計(jì)基礎(chǔ)(4)62 4.5 4.5 字符處理與字符串函數(shù)字符處理與字符串函數(shù) 7.字母大小寫(xiě)轉(zhuǎn)換字母大小寫(xiě)轉(zhuǎn)換 格式:格式:Ucase$(字符串字符串):小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母:小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母 Lcase$(字符

44、串字符串) :大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母:大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母 例如:例如:a$ = Microsoft Visual Basic b$ = UCase$(a$) c$ = LCase$(a$) Print b$, c$ 輸出結(jié)果:輸出結(jié)果: MICROSOFT VISUAL BASIC microsoft visual basic 二、字符串函數(shù)二、字符串函數(shù) VB程序設(shè)計(jì)基礎(chǔ)(4)63 4.5 4.5 字符處理與字符串函數(shù)字符處理與字符串函數(shù) 8.插入字符串語(yǔ)句插入字符串語(yǔ)句Mid$ 格式:格式:Mid$(字符串字符串 , 位置位置 , L )=子字符串子字符串 該語(yǔ)句把從該語(yǔ)句把從“字符串

45、字符串”的的“位置位置”開(kāi)始的字符用開(kāi)始的字符用“子子 字符串字符串”代替。如果含有代替。如果含有L自變量,則替換的內(nèi)容是自變量,則替換的內(nèi)容是“子字符串子字符串” 左部的左部的L個(gè)字符。個(gè)字符?!拔恢梦恢谩焙秃蚅均為長(zhǎng)整型數(shù)。均為長(zhǎng)整型數(shù)。 Dim MyString, FirstWord, LastWord, MidWords MyString = “Mid Function Demo” 建立一個(gè)字符串。建立一個(gè)字符串。 FirstWord = Mid(MyString, 1, 3) 返回返回 Mid。 LastWord = Mid(MyString, 14, 4) 返回返回 Demo。 M

46、idWords = Mid(MyString, 5) 返回返回 Funcion Demo。 VB程序設(shè)計(jì)基礎(chǔ)(4)64 4.4. 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 運(yùn)算是對(duì)數(shù)據(jù)的加工。最基本的運(yùn)算形式運(yùn)算是對(duì)數(shù)據(jù)的加工。最基本的運(yùn)算形式 常常用一些簡(jiǎn)潔的符號(hào)來(lái)描述,這些符號(hào)稱(chēng)為運(yùn)常常用一些簡(jiǎn)潔的符號(hào)來(lái)描述,這些符號(hào)稱(chēng)為運(yùn) 算符。被運(yùn)算的數(shù)據(jù),稱(chēng)為運(yùn)算量。由運(yùn)算符和算符。被運(yùn)算的數(shù)據(jù),稱(chēng)為運(yùn)算量。由運(yùn)算符和 運(yùn)算量組成表達(dá)式。運(yùn)算量可以是常量,也可以運(yùn)算量組成表達(dá)式。運(yùn)算量可以是常量,也可以 是變量,還可以是函數(shù)。例如:是變量,還可以是函數(shù)。例如:A+3 , T+Sin(a) , PI*r*r 。

47、運(yùn)算符和表達(dá)式的類(lèi)型可以分為以下運(yùn)算符和表達(dá)式的類(lèi)型可以分為以下4種:種: u算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式 u字符運(yùn)算符與字符表達(dá)式字符運(yùn)算符與字符表達(dá)式 u關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符與關(guān)系表達(dá)式 u邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符與邏輯表達(dá)式 VB程序設(shè)計(jì)基礎(chǔ)(4)65 4.4. 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 一、算術(shù)運(yùn)算符與算術(shù)表達(dá)式一、算術(shù)運(yùn)算符與算術(shù)表達(dá)式 運(yùn)算運(yùn)算運(yùn)算符運(yùn)算符優(yōu)先級(jí)優(yōu)先級(jí)表達(dá)式表達(dá)式例子例子結(jié)果結(jié)果 冪冪1XYa29 取負(fù)取負(fù)-2-X-a-3 乘法乘法*3X*Ya*a*a27 浮點(diǎn)除法浮點(diǎn)除法/3X/Y10/a 3.333333 整數(shù)除法整數(shù)除法

48、4XY10a3 取模取模Mod5X Mod Y10 Mod a1 加法加法+6X+Y10+a13 減法減法-6X-Ya-10-7 (a=3) VB程序設(shè)計(jì)基礎(chǔ)(4)66 4.4. 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 1.冪運(yùn)算冪運(yùn)算 用于計(jì)算乘方和方根,運(yùn)算符為用于計(jì)算乘方和方根,運(yùn)算符為“”。例如:。例如: 102結(jié)果為結(jié)果為100 10-2 結(jié)果為結(jié)果為0.01 250.5結(jié)果為結(jié)果為5 8(1/3) 結(jié)果為結(jié)果為2 注意:冪運(yùn)算符優(yōu)先級(jí)最高。當(dāng)指數(shù)是一個(gè)表達(dá)注意:冪運(yùn)算符優(yōu)先級(jí)最高。當(dāng)指數(shù)是一個(gè)表達(dá) 式時(shí),必須加上括號(hào)。式時(shí),必須加上括號(hào)。 例如,例如,X的的Y+Z次方必須寫(xiě)作次方必須寫(xiě)作 X

49、(Y+Z),不能寫(xiě)作,不能寫(xiě)作XY+Z 。 VB程序設(shè)計(jì)基礎(chǔ)(4)67 4.4. 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 2. “/”與與 “” 浮點(diǎn)除法運(yùn)算符浮點(diǎn)除法運(yùn)算符“/”用來(lái)計(jì)算兩個(gè)數(shù)或表達(dá)式的用來(lái)計(jì)算兩個(gè)數(shù)或表達(dá)式的 商,并返回相應(yīng)的浮點(diǎn)數(shù)。商,并返回相應(yīng)的浮點(diǎn)數(shù)。 例如:例如:3/2的值是的值是1.5。 整數(shù)除法運(yùn)算符整數(shù)除法運(yùn)算符“”在運(yùn)算前把兩個(gè)運(yùn)算量四舍在運(yùn)算前把兩個(gè)運(yùn)算量四舍 五入轉(zhuǎn)換成整數(shù),然后計(jì)算兩個(gè)運(yùn)算量的商,并返回五入轉(zhuǎn)換成整數(shù),然后計(jì)算兩個(gè)運(yùn)算量的商,并返回 結(jié)果的整數(shù)部分。結(jié)果的整數(shù)部分。 例如:例如:25.636.78的值為。的值為。 VB程序設(shè)計(jì)基礎(chǔ)(4)68 4.

50、4. 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 3.取模運(yùn)算取模運(yùn)算Mod 取模運(yùn)算即求余數(shù),在運(yùn)算前把兩個(gè)運(yùn)算量四舍取模運(yùn)算即求余數(shù),在運(yùn)算前把兩個(gè)運(yùn)算量四舍 五入轉(zhuǎn)換成整型數(shù),然后對(duì)兩個(gè)運(yùn)算量進(jìn)行除法運(yùn)算,五入轉(zhuǎn)換成整型數(shù),然后對(duì)兩個(gè)運(yùn)算量進(jìn)行除法運(yùn)算, 并返回余數(shù)(第一個(gè)操作數(shù)整除第二個(gè)操作數(shù)的余并返回余數(shù)(第一個(gè)操作數(shù)整除第二個(gè)操作數(shù)的余 數(shù))。例如:數(shù))。例如: 7 Mod 4結(jié)果為結(jié)果為3 25.68 Mod 6.99先把先把25.63和和6.78轉(zhuǎn)化為轉(zhuǎn)化為 26和和7,再求得余數(shù)為,再求得余數(shù)為 VB程序設(shè)計(jì)基礎(chǔ)(4)69 4.4. 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 4.算術(shù)運(yùn)算符的優(yōu)先級(jí)算術(shù)

51、運(yùn)算符的優(yōu)先級(jí) 運(yùn)算運(yùn)算運(yùn)算符運(yùn)算符優(yōu)先級(jí)優(yōu)先級(jí) 冪冪1 取負(fù)取負(fù)-2 乘法乘法*3 浮點(diǎn)除法浮點(diǎn)除法/3 整數(shù)除法整數(shù)除法4 取模取模Mod5 加法加法+6 減法減法-6 VB程序設(shè)計(jì)基礎(chǔ)(4)70 思考與練習(xí)思考與練習(xí) 5+10 mod 10 9 / 3 +2 2 步驟:步驟: = 5 + 10 mod 10 3 + 4 = 5 + 10 mod 3 + 4 = 5 + 1+ 4 = 10 VB程序設(shè)計(jì)基礎(chǔ)(4)71 4.4. 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 字符串連接符:字符串連接符:“”和和“+” “”:用于強(qiáng)制將兩個(gè)表達(dá)式作為字符串連接。用于強(qiáng)制將兩個(gè)表達(dá)式作為字符串連接。 “+” :當(dāng)連接符兩邊的表達(dá)式都為字符串時(shí),將兩個(gè)當(dāng)連接符兩邊的表達(dá)式都為字符串時(shí),將兩個(gè) 字符串連接;如果一個(gè)是字符串而另一個(gè)是數(shù)字,則字符串連接;如果一個(gè)是字符串而另一個(gè)是數(shù)字,則 進(jìn)行相加。進(jìn)行相加。 例如:例如: ABCD + EFGHI 結(jié)果為:結(jié)果為:ABCDEFGHI “VB” &

溫馨提示

  • 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)論