VB程序設(shè)計(jì)與應(yīng)用第3章:數(shù)據(jù)類型及其運(yùn)算_第1頁
VB程序設(shè)計(jì)與應(yīng)用第3章:數(shù)據(jù)類型及其運(yùn)算_第2頁
VB程序設(shè)計(jì)與應(yīng)用第3章:數(shù)據(jù)類型及其運(yùn)算_第3頁
VB程序設(shè)計(jì)與應(yīng)用第3章:數(shù)據(jù)類型及其運(yùn)算_第4頁
VB程序設(shè)計(jì)與應(yīng)用第3章:數(shù)據(jù)類型及其運(yùn)算_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1

第3章數(shù)據(jù)類型及其運(yùn)算3.1數(shù)據(jù)類型3.2常量3.3變量3.4表達(dá)式3.5常用內(nèi)部函數(shù)3.6編寫代碼2

第3章數(shù)據(jù)類型及其運(yùn)算

3.1數(shù)據(jù)類型

3.1.1標(biāo)準(zhǔn)數(shù)據(jù)類型

Variant(變體型)和用戶定義類型等。

Integer(整型)

Long(長整型)

Single(單精度浮點(diǎn)型)

Double(雙精度浮點(diǎn)型)

Currency(貨幣型)

Boolean(布爾型)

Byte(字節(jié)型)也可用于數(shù)值計(jì)算。

Decimal(存儲(chǔ)為96位無符號的整型形式)

Date(日期型)

String(字符串型)

Object(對象型)3

1、字符串(String)

字符串是放在雙引號中的,

空字符串:長度為0的稱為空字符串。

字符串的分類

變長字符串變長字符串長度不確定,范圍0~231個(gè)

定長字符串定長字符串含有確定個(gè)數(shù)的字符,最大長度不超過216個(gè)字符4

String型變量用于存儲(chǔ)字符串,列:

DimSAsStringS="Database"String型變量缺省是可變長度的字符串變量。也可以聲明固定長度String型變量,語法是:Dim/Private/Public/StaticvariablenameString*size52、數(shù)值型

整數(shù):整型和長整型

數(shù)值型

浮點(diǎn)數(shù):單精度和雙精度

1)整數(shù)

(1)整型(Integer)(2字節(jié))

取值范圍為-32768—32767(2)長整型(Long)(4字節(jié))取值范圍為-2147483678--21474836776

2)浮點(diǎn)數(shù)(實(shí)型數(shù)或?qū)崝?shù))

(1)單精度型(Single)(4字節(jié)):可以精確到7位十進(jìn)制數(shù);

負(fù)數(shù):-3.402823E+38~-1.40129E-45

正數(shù):1.40129E–45~3.402823E+38

(2)雙精度型(Double)(8字節(jié)):可以精確到15或16位十進(jìn)制數(shù);

負(fù)數(shù):-1.797693134862316D+308~-4.94065D-324

正數(shù):

4.94065D-324~1.797693134862316D+30873、貨幣(Currency)貨幣數(shù)據(jù)類型是為表示錢款而設(shè)置的。以8個(gè)字節(jié)(64位)存儲(chǔ),精確到小數(shù)點(diǎn)后4位(小數(shù)點(diǎn)前有15位。取值范圍:-922337203685477.5808~922337203685477.58074、變體(Variant)變體數(shù)據(jù)類型是一種可變的數(shù)據(jù)類型,可以表示任何值,包括數(shù)值、字符串、日期/時(shí)間等。85、字節(jié)(Byte)

1個(gè)字節(jié)的無符號二進(jìn)制數(shù),取值范圍0~255。6、布爾(Boolean)

邏輯值,用兩個(gè)字節(jié)存儲(chǔ)。取值True(真)或False(假),默認(rèn)為False。7、日期(Date)日期型存儲(chǔ)為IEEE64位(8個(gè)字節(jié))浮點(diǎn)值形式格式:mm/dd/yyyy或mm-dd-yyyy,9日期文字必須以數(shù)字符號(#)括起來,例:#9/10/200112:30:00pm#在輸出年份時(shí)通常只輸出后兩位。

例:2000年輸出是“00”。8、對象(Object)表示圖形或OLE對象或其他對象,4個(gè)字節(jié)。9、Decimal

96位無符號整型,并除以一個(gè)10的冪數(shù),稱為變比因子,該變比因子決定了小數(shù)點(diǎn)右面的數(shù)字位數(shù)。10數(shù)據(jù)類型存儲(chǔ)空間取值范圍Byte(字節(jié)型)1個(gè)字節(jié)2~255Boolean(布爾型)2個(gè)字節(jié)True或FalseInteger(整形)2個(gè)字節(jié)-32768~32767Long(長整形)4個(gè)字節(jié)-2147483648~2147483647Single(單精度型)4個(gè)字節(jié)Double(雙精度型)8個(gè)字節(jié)11數(shù)據(jù)類型存儲(chǔ)空間Currency(貨幣型)8個(gè)字節(jié)Decimal12個(gè)字節(jié)Date(日期型)8個(gè)字節(jié)Object(對象型)4個(gè)字節(jié)String(字符串型、變長)10個(gè)字節(jié)加字符串長度String(字符串型、定長)字符串長度Variant(變體型、數(shù)字)16個(gè)字節(jié)Variant(變體型、字符)22個(gè)字節(jié)加字符串長度123.1.2自定義類型

在模塊級別中使用,用于定義包含一個(gè)或多個(gè)元素的用戶自定義的數(shù)據(jù)類型。使用形式:

Type自定義類型名 元素名[([下標(biāo)])]As類型名 元素名[([下標(biāo)])]As類型名

...EndType說明:

(1)Type…EndType關(guān)鍵字;(2)元素名

表示自定義類型中的一個(gè)成員;(3)下標(biāo)

表示該成員是一個(gè)數(shù)組;(4)類型名

表示該成員的標(biāo)準(zhǔn)數(shù)據(jù)類型。13

例如:對于一個(gè)學(xué)生的“學(xué)號”、“姓名”、“性別”、“年齡”、“日期”、“入學(xué)成績”等數(shù)據(jù),為了處理數(shù)據(jù)的方便,常常需要把這些數(shù)據(jù)定義成一個(gè)新的數(shù)據(jù)類型(如StuIT類型)。TypeStuIT StNoAsInteger NameAsString*30 StsexAsString*1 SdateAsDate ScoreAsSingleEndType此時(shí)就可以在某過程的變量聲明時(shí)使用該類型

DimStudentasStuIT‘變量Student為自定義類型StuIT表示Student中的某個(gè)元素形為:元素名.變量名,如要表示學(xué)生的姓名為:Student.Name14注意:

(1)記錄類型中的元素可以是字符串,但必須是定長字符串。(2)使用記錄類型之前,必須用Type語句定義,記錄類型在標(biāo)準(zhǔn)模塊中定義,其變量可出現(xiàn)在工程的任何地方,在窗體模塊中定義,則加關(guān)鍵字Private。(3)在記錄類型中不能含有數(shù)組。(4)在隨機(jī)文件操作中,記錄類型數(shù)據(jù)有著重要的作用。3.2常量

在程序運(yùn)行過程中,其值不能被改變的量稱為常量。在VB中有三類常量:直接常量(普通常量)用戶自定義符號常量系統(tǒng)保留常量。3.2.1、直接常量

1.

整型常量

(1)整型(Integer):表示-32768至32767之間的整數(shù)例如:1011020表示±n[%]

(2)長整型(Long):表示-2,147,483,648至2,147,483,647之間的整數(shù)例如:長整型常數(shù)的書寫:23&16

通常我們說的整型常量指的是十進(jìn)制整數(shù),但VB中可以使用八進(jìn)制和十六進(jìn)制形式的整型常數(shù),因此整型常數(shù)有如下三種形式:

1)十進(jìn)制整數(shù)。如125,0,-89。202)八進(jìn)制整數(shù)。以&或&O(字母O)開頭的整數(shù)是八進(jìn)制整數(shù),如&O25表示八進(jìn)制整數(shù)25,即(25)8

,等于十進(jìn)制數(shù)21。

3)十六進(jìn)制。以&H開頭的整數(shù)是十六進(jìn)制整數(shù),如&H25表示十六進(jìn)制整數(shù)25,即(25)16

,等于十進(jìn)制數(shù)37。VB中的顏色數(shù)據(jù)常常用十六進(jìn)制整數(shù)表示。172、實(shí)數(shù)1)單精度實(shí)型(Single):有效數(shù)為7位2)雙精度實(shí)型(Double):有效數(shù)為15位常量的表示:1)十進(jìn)制小數(shù)形式。它是由正負(fù)號(+,-)、數(shù)字(0~9)和小數(shù)點(diǎn)(.)或類型符號(!、#)組成,即±n.n,±n!或±n#,其中n是0~9的數(shù)字。例如0.123、.123、123.0、123!、123#等例如123.45123.45!1.2345E+2都表示同值的單精度數(shù)。2)指數(shù)形式?!纍E±m(xù)或

±n.nE±m(xù),±nD±m(xù)或

±n.nD±m(xù)

例:1.25E+3和

1.25D+3相當(dāng)于1250.0或者1.25×103。182、實(shí)數(shù)1)單精度實(shí)型(Single):有效數(shù)為7位2)雙精度實(shí)型(Double):有效數(shù)為15位常量的表示:1)十進(jìn)制小數(shù)形式。它是由正負(fù)號(+,-)、數(shù)字(0~9)和小數(shù)點(diǎn)(.)或類型符號(!、#)組成,即±n.n,±n!或±n#,其中n是0~9的數(shù)字。例如0.123、.123、123.0、123!、123#等例如123.45123.45!1.2345E+2都表示同值的單精度數(shù)。2)指數(shù)形式。±nE±m(xù)或

±n.nE±m(xù),±nD±m(xù)或

±n.nD±m(xù)

例:1.25E+3和

1.25D+3相當(dāng)于1250.0或者1.25×103。195、日期常量日期(Date)型數(shù)據(jù)按8字節(jié)的浮點(diǎn)數(shù)來存儲(chǔ),表示日期范圍從公元100年1月1日~9999年12月31日,而時(shí)間范圍從0:00:00~23:59:59。一種在字面上可被認(rèn)作日期和時(shí)間的字符,只要用號碼符“#”括起來,都可以作為日期型數(shù)值常量。例:#09/02/99#、#January4,1989#,#2002-5-414:30:00PM#都是合法的日期型常量。

20

類型說明符

%:整形;

&:長整形;

!:單精度;

#:雙精度;

@:貨幣型;

$:字符串型。字節(jié)、布爾、日期、對象及變體類型沒有類型說明符。213.2.2用戶自定義符號常量在程序中,某個(gè)常量多次被使用,則可以使用一個(gè)符號來代替該常量,這樣不僅在書寫上方便,而且有效地改進(jìn)了程序的可讀性和可維護(hù)性。

VB中使用關(guān)鍵字Const聲明符號常量。其格式如下:

Const常量名

[As類型]=常數(shù)表達(dá)式

或:Const[類型符號]=常數(shù)表達(dá)式例如:

ConstPIAsDouble=3.1415926535等價(jià)于:

ConstPI#=3.141592653522

符號常量格式:

Const

常量名=表達(dá)式[,常量名=表達(dá)式]…

功能:定義一個(gè)符號常量來表示表達(dá)式的值。

說明:“常量名”:按變量構(gòu)成規(guī)則命名

“表達(dá)式”:由數(shù)值常量或字符串、算術(shù)運(yùn)算符(指數(shù)運(yùn)算符除外)、邏輯運(yùn)算符組成。

23

例:ConstPI=3.141593

ConstPI2=2*PI

ConstCOUNTRY$=“China”

注意:

(1)聲明符號常量視可在常量名后面加上類型說明符。

(2)在程序中引用符號常量時(shí)可省略類型說明符。

(3)類型說明符不是符號常量的一部分;24

用戶自定義常量前需要聲明,其語法是:

[Public/Private]Const

常量名[As類型]

=常量表達(dá)式例:Const

conMaxPlanetsAsInteger=9Const

numPeopleAsInteger=19253.2.3系統(tǒng)保留常量

VB系統(tǒng)提供的應(yīng)用程序和控件的系統(tǒng)定義常數(shù)。它們存放于系統(tǒng)的對象庫中,在“對象瀏覽器”中的VisualBasic(VB)和VisualBasicforapplications(VBA)對象庫中列舉了VisualBasic的常數(shù)

例如,要將文本框Text1的前景顏色設(shè)置為紅色,可以使用下面的語句:

Text1.ForeColor=vbRed

這里的vbRed就是系統(tǒng)常量。這比直接使用16進(jìn)制數(shù)來設(shè)置要直觀得多。例3-1:P513.3變量3.3.1變量的含義在VisualBasic中執(zhí)行應(yīng)用程序期間,用變量臨時(shí)存儲(chǔ)數(shù)據(jù)。在VisualBasic中,變量有兩種形式

屬性變量

內(nèi)存變量什么是變量?一個(gè)有名稱的內(nèi)存單元稱為變量。在程序執(zhí)行期間,用變量臨時(shí)存儲(chǔ)數(shù)值。變量的值可以發(fā)生變化。每個(gè)變量都有名稱和數(shù)據(jù)類型。273.3.2、變量的命名規(guī)則(1)必須以字母開頭,由字母、漢字、數(shù)字或下劃線組成。例如xyz、h_12等變量名都是正確的;而5f、*123是非法的。(2)不能在變量名中出現(xiàn)句點(diǎn)“.”、空格或者嵌入字符:!、@、#、$、%、&(3)長度不得超過255個(gè)字符。(4)不能使用VB的關(guān)鍵字。關(guān)鍵字是語言的組成部分,其中包括預(yù)定義語句(例如If、For等)、函數(shù)(Abs、Sqr等)和操作符(Or、Mod等)。注意:在同一個(gè)范圍(范圍是可以引用變量的域,如一個(gè)過程、一個(gè)窗體等)內(nèi),變量名必須是唯一的。28變量命名規(guī)則(1)名字只能由字母、數(shù)字和下畫線組成;(2)名字的第一個(gè)字符必須是字母或漢字;(3)名字的有效字符為255個(gè);(4)不可以包含小數(shù)點(diǎn)或者內(nèi)嵌的類型聲明字符;(5)不能用VisualBasic的保留字作變量名。(6)不區(qū)分大小寫。(7)不能與過程名或符號常量同名。例:intMax

strNameStudent1MyName

不區(qū)分大小寫;變量名應(yīng)便于識(shí)別、記憶。293.3.3變量的聲明1.用Dim語句顯式聲明變量形式:Dim變量名[AS類型]

Dim變量名[類型符]

例:

DimabAsinteger,sumAssingle

等價(jià)于Dimab%,sum!2.隱式聲明

VisualBasic允許用戶在編寫應(yīng)用程序時(shí),不聲明變量而直接使用,系統(tǒng)臨時(shí)為新變量分配存儲(chǔ)空間并使用,這就是隱式聲明。所有隱式聲明的變量都是Variant數(shù)據(jù)類型。VisualBasic根據(jù)程序中賦予變量的值來自動(dòng)調(diào)整變量的類型。例如:30

下面是一個(gè)很簡單的程序,其使用的變量a,b,Total都沒有事先定義。PrivateSubForm_Click()Total=0a=10:b=20Total=a+bPrint“Total=";TotalEndSub如:DimSomeValue‘SomeValue沒有指定類型,是Variant類型SomeValue=”18”‘SomeValue值為字符型“18”SomeValue=SomeValue–15‘現(xiàn)在SomeValue值為數(shù)值型“3”31(1)聲明變量格式:Dim|Private|Static|Public<變量名>[As<類型>]?

Dim:在窗體模塊、標(biāo)準(zhǔn)模塊或過程中聲明變量。?

Private:在窗體模塊或過程中聲明變量,使變量僅在該模塊或過程中有效。?

Static:在過程中定義靜態(tài)變量,即使該過程結(jié)束,也仍然保留變量的值。?

Public:在標(biāo)準(zhǔn)模塊中聲明全局變量,使變量在整個(gè)應(yīng)用程序中有效。32(2)隱式聲明可變類型。易出錯(cuò)、浪費(fèi)空間。(3)強(qiáng)制顯式聲明在模塊的聲明段中使用語句:OptionExplicit

如果設(shè)置:工具→選項(xiàng)→編輯器→

要求變量聲明則在后續(xù)模塊中自動(dòng)插入OptionExplicit。例:DimSumAsLongDimAddressAsStringDimNoAsString*8DimPriceAsCurrencyDimNum,TotalAsInteger'Num為可變類型

DimAverageAsSingle333.強(qiáng)制顯式聲明——OptionExplicit語句

良好的編程習(xí)慣都應(yīng)該是“先聲明變量,后使用變量”,這樣做可以提高程序的效率,同時(shí)也使程序易于調(diào)試。VisualBasic中可以強(qiáng)制顯式聲明,可以在窗體模塊、標(biāo)準(zhǔn)模塊和類模塊的通用聲明段中加入語句:

OptionExplicit例3-2:P5434例:在窗體中放置按鈕Command1和Command2。

DimaAsIntegerPrivateSubCommand1_Click()a=a+10PrintaEndSubPrivateSubCommand2_Click()a=a+15PrintaEndSub

運(yùn)行程序,觀察結(jié)果。將DimaAsInteger放到過程內(nèi),再運(yùn)行,觀察結(jié)果。去除Dim,比較使用OptionExplicit與不使用的結(jié)果。3.3.4變量的賦值格式:<變量名>=<表達(dá)式>功能:先計(jì)算<表達(dá)式>的值,再將此值賦給變量3.4表達(dá)式2.4.1算術(shù)運(yùn)算符

操作數(shù):常量、變量、函數(shù)、對象運(yùn)算符:圓括號算術(shù)運(yùn)算符(算術(shù)表達(dá)式)字符串運(yùn)算符(字符串表達(dá)式)關(guān)系運(yùn)算符(關(guān)系表達(dá)式)布爾運(yùn)算符(布爾表達(dá)式)運(yùn)算符:()^*/\(整除)Mod(求余)+-優(yōu)先級:()→^→*/→\→Mod→+-

書寫:表達(dá)式中乘號不能省略,括號不分大、中、小,一律采用圓括號,無[],無{}36例:將以下表達(dá)式寫成VB合法的表達(dá)式:(xy)za1+a2a-b+a(-b)a1+a2a^(-b)+a*(-b)(x^y)^za^(1/n)y/(-x)+x/(-y)371.乘方運(yùn)算例:10^210的平方,結(jié)果為10010^(-2)10的平方的倒數(shù),結(jié)果為0.0125^0.525的平方根,結(jié)果為58^(1/3)8的立方根,結(jié)果為22^2^3運(yùn)算順序從左到右,結(jié)果為64(-8)^(-1/3)錯(cuò)誤,當(dāng)?shù)讛?shù)為負(fù)時(shí),指數(shù)必須是整數(shù)2.整數(shù)除法例:10\4結(jié)果為225.68\6.99先四舍五入再整除,結(jié)果為33.取模運(yùn)算例:10Mod4結(jié)果為225.68Mod6.99先四舍五入再求余數(shù),結(jié)果為53811Mod–4結(jié)果為3-11Mod5結(jié)果為-1-11Mod-3結(jié)果為-23.4.2字符串表達(dá)式字符串運(yùn)算符有兩個(gè):&+例:"Hello"&"World"結(jié)果為"HelloWorld""Check"&123結(jié)果為"Check123"123&456結(jié)果為"123456""123"&456結(jié)果為"123456"123+456結(jié)果為579

"123"+"456"結(jié)果為"123456""Check"+123錯(cuò)誤393.4.3日期表達(dá)式日期表達(dá)式是用運(yùn)算符(+或-)將算術(shù)表達(dá)式、日期型常量、日期型變量和函數(shù)連接起來的式子。(1)兩個(gè)日期型數(shù)據(jù)相減,其結(jié)果是一個(gè)數(shù)值數(shù)據(jù)(兩個(gè)日期相差的天數(shù))例如:#1/10/2003#-#1/10/2002#結(jié)果為365(2)日期型數(shù)據(jù)加(或減)天數(shù),其結(jié)果為一個(gè)日期型數(shù)據(jù)。例如:#2/10/2003#+20結(jié)果為#3/02/2003##1/10/2003#-20結(jié)果為#12/21/2002#403.4.4關(guān)系運(yùn)算符與關(guān)系表達(dá)式1.比較運(yùn)算符

<(小于)<=(小于或等于)

>(大于)>=(大于或等于)

=(等于)<>(不等于)2.表達(dá)式:<表達(dá)式1><比較運(yùn)算符><表達(dá)式2>3.如何比較數(shù)值比較:按數(shù)值大小日期比較:按整數(shù)yyyymmdd的值比較單字符比較:按ASCII碼大小比較

""<"0"<"1"<…<"9"<"A"<"B"<…"Z"<"a"<"b"<…<"z"

字符串比較:較短字符串補(bǔ)足空格,從左開始比。4.比較結(jié)果:TrueFalse41例:45<35結(jié)果為False45=45結(jié)果為True4<>3結(jié)果為True"abc">“abcd"結(jié)果為False"計(jì)算機(jī)"<="計(jì)算機(jī)系"結(jié)果為True3.4.5邏輯運(yùn)算符與邏輯表達(dá)式1.布爾運(yùn)算符:NotAndOr2.布爾表達(dá)式:

<關(guān)系表達(dá)式1><布爾運(yùn)算符><關(guān)系表達(dá)式2>3.優(yōu)先級:Not→And→Or42比較兩個(gè)運(yùn)算量之間的關(guān)系,關(guān)系表達(dá)式的運(yùn)算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為True,若關(guān)系不成立,結(jié)果為False。

VB中的關(guān)系運(yùn)算符如下表所示。運(yùn)算符含義優(yōu)先級實(shí)例結(jié)果<小于所有關(guān)系運(yùn)算優(yōu)先級相同。低于算術(shù)運(yùn)算的加“+”,減“-”運(yùn)算,高于邏輯非“Not”運(yùn)算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"TrueIs對象比較

43關(guān)系運(yùn)算的規(guī)則如下:(1)當(dāng)兩個(gè)操作式均為數(shù)值型,按數(shù)值大小比較。(2)字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止.。例:"ABCDE">"ABRA" 結(jié)果為False(3)數(shù)值型與可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較,如:29>"189",按數(shù)值比較,結(jié)果為False。(4)數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較,如:77>"sdcd",不能比較,系統(tǒng)出錯(cuò)。44三、邏輯運(yùn)算符與邏輯表達(dá)式

邏輯運(yùn)算符:Not,And,OrXor45說明:(1)邏輯運(yùn)算符的優(yōu)先級不相同,Not(邏輯非)最高,但它低于關(guān)系運(yùn)算。(2)VB中常用的邏輯運(yùn)算符是Not、And和Or。它們用于將多個(gè)關(guān)系表達(dá)式進(jìn)行邏輯判斷。例如:數(shù)學(xué)上表示某個(gè)數(shù)在某個(gè)區(qū)域時(shí)用表達(dá)式:

10≤X<20

用VB程序中應(yīng)寫成:

X>=10AndX<20

如果寫成如下形式將是錯(cuò)誤的:

10<=x<20或

10<=xOrx<20

46

例:用人單位招聘秘書:年齡小于40歲,女性,學(xué)歷??苹虮究疲簩懗蓷l件VB的表達(dá)式:年齡<=39性別=“女”學(xué)歷=“??啤睂W(xué)歷=“本科”47四、字符串運(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)行連接操作。48例:"100"+"123"'結(jié)果為

100123"Abc"+123'出錯(cuò)"100"&123'結(jié)果為

100123100&123'結(jié)果為

100123"Abc"&"123"'結(jié)果為

Abc123"Abc"&123'結(jié)果為

Abc123

注意:使用運(yùn)算符“&”時(shí),變量與運(yùn)算符“&”之間應(yīng)加一個(gè)空格。這是因?yàn)榉枴?”還是長整型的類型定義符,如果變量與符號“&”接在一起,VB系統(tǒng)先把它作為類型定義符處理,因而就會(huì)出現(xiàn)語法錯(cuò)誤。49例:A=10:B=8:C=6。

Not(A>B)結(jié)果為FalseNot(B>A)結(jié)果為TrueA>BAndB>C結(jié)果為TrueB>AAndB>C結(jié)果為FalseA>BOrB>C結(jié)果為TrueB>AOrB>C結(jié)果為TrueA<BOrB=C結(jié)果為False50例:將以下條件寫成VB布爾表達(dá)式:

1.m1-n1≤j≤m1+n1;

2.X<-5或X>5;

3.M和N之一為5,但不能同時(shí)為5;

4.-100<k<100,且k為偶數(shù);

5.的定義域。511.(J>=M1-N1)And(J<=M1+N1)2.(X<-5.0)Or(X>5.0)3.((M=5)And(N<>5))Or((M<>5)And(N=5))4.(k>-100)And(k<100)And(kMod2=0)5.(x<>0)And((x-1.0)*(x-2.0)>=0.0)3.4.6表達(dá)式的運(yùn)算順序

()→函數(shù)運(yùn)算→算術(shù)運(yùn)算→字符運(yùn)算→關(guān)系運(yùn)算→邏輯運(yùn)算3.5常用內(nèi)部函數(shù)函數(shù)分內(nèi)部函數(shù)、用戶自定義函數(shù)。

VB提供了上百種內(nèi)部函數(shù)(庫函數(shù)),要求掌握這些常用函數(shù)的功能及使用。調(diào)用方法:

函數(shù)名(參數(shù)列表)有參函數(shù)

函數(shù)名無參函數(shù)

說明:(1)使用庫函數(shù)要注意參數(shù)的個(gè)數(shù)及其參數(shù)的數(shù)據(jù)類型(2)要注意函數(shù)的定義域(自變量或參數(shù)的取值范圍)例如:sqr(x)要求:x>=0

(3)要注意函數(shù)的值域。如:exp(23773)的值就超出實(shí)數(shù)在計(jì)算機(jī)中的表示范圍。(4)參數(shù)可以是常量、變量或表達(dá)式。若有多個(gè)參數(shù),參數(shù)之間以逗號分隔。函數(shù)的使用:函數(shù)在表達(dá)式中被調(diào)用。533.5.1數(shù)學(xué)函數(shù)

常用的數(shù)學(xué)函數(shù)見表2-2所示

Abs(N)Cos(N)Sin(N)Exp(N)Log(N)Sqr(N)Rnd[(N)]Sgn(N)

說明:(1)在三角函數(shù)中的自變量是以弧度為單位。如:sin300sin(3.14159/180*30)

(2)Rnd函數(shù)返回0~1(包括0和不包括1)之間的雙精度隨機(jī)數(shù)。若要產(chǎn)生1-100的隨機(jī)整數(shù):Int(Rnd*100)+1

提問:怎樣產(chǎn)生[N,M]區(qū)間的隨機(jī)數(shù)?

(3)例:判斷一個(gè)整數(shù)Y能否被另一個(gè)整數(shù)X整除。如果INT(Y/X)=Y/X則整除

54數(shù)學(xué)函數(shù)例子:Fix(45.67)結(jié)果為45Int(45.67)結(jié)果為45Fix(-2.89)結(jié)果為-2Int(-2.89)結(jié)果為-3Abs(-4)結(jié)果為4Log(10)結(jié)果為2.30258509299405Sgn(3)結(jié)果為1Sgn(-6)結(jié)果為-1Sgn(0)結(jié)果為0553.5.2字符串函數(shù)(常用的字符串函數(shù)見P59表3-3)說明:如果返回是字符型,則函數(shù)后有“$”字符。當(dāng)然一般也可以不寫,習(xí)慣都寫上。例如:

len("Thisisabook!")15Left$("ABCDEFG",3)"ABC"Right("ABCDEFG",3)“EFG"Mid$("ABCDEFG",2,3)"BCD“

Ucase("ABcd")"ABCD"

Lcase("ABcd")"abcd"Trim("Abcd")"ABcd"String(5,"A")"AAAAA"

InStr(2,“ABCDEFGEF”,“EF”)5(第一次出現(xiàn)的位置)56例:常用對數(shù)log10X的求法。用換底公式log10X=Ln(X)/Ln(10)

即LOG(X)/LOG(10)例:求e3。正確:EXP(3)

錯(cuò)誤:e^3(錯(cuò))3.5.2字符串函數(shù)例:LTrim("∪∪∪ABC")結(jié)果為"ABC"表示空格RTrim("ABC∪∪∪")結(jié)果為"ABC"Trim("∪∪∪ABC∪∪∪")結(jié)果為"ABC"Left("ABCDE",2)結(jié)果為"AB"Right("ABCDE",2)結(jié)果為"DE"Mid("ABCDE",2,3)結(jié)果為"BCD"Mid("ABCDE",2,6)結(jié)果為"BCDE"57例:Len("ABCDE")結(jié)果為5String(3,65)結(jié)果為"AAA"InStr("ABCDECDE","DE")結(jié)果為4InStr(5,"ABCDECDE","DE")結(jié)果為7UCase("Abc")結(jié)果為"ABC"LCase("ABc")結(jié)果為"abc"583.5.3日期、時(shí)間函數(shù)

常用的日期時(shí)間函數(shù)見表3-4

掌握:Time()Date()Now()Year()Month()Day()3.5.4轉(zhuǎn)換函數(shù)例:Asc("A")結(jié)果為65

Asc("ABC")結(jié)果為65

Chr(65)結(jié)果為"A"

Str(123)結(jié)果為"∪123"

Str(-123)結(jié)果為"-123"Val("123")結(jié)果為123Val("123AB")結(jié)果為123Val(".123AB")結(jié)果為.123Val("a123AB")結(jié)果為0593.5.5條件函數(shù)1.IIf函數(shù)

格式:IIf(<條件>,表達(dá)式1,表達(dá)式2)

功能:當(dāng)條件成立,返回表達(dá)式1的值,當(dāng)條件不成立,則返回表達(dá)式2的值例子:Max=Iif(a>b,a,b)2.Choose函數(shù)格式:Choose(<數(shù)值型變量>,<值1>,<值2>,…,<值n>)

功能:當(dāng)<數(shù)值型變量>取整后值為1時(shí),返回<值1>,當(dāng)值為2時(shí),返回<值2>,以此類推。例子:OP=Choose(n,”+”,”-”,”×”,”÷”)603.5.6格式輸出函數(shù)使用格式:Format$(表達(dá)式[,“格式字符串”])

功能:按用戶指定格式返回表達(dá)式,常常用在print方法中。使用形式:print

Format$(表達(dá)式

溫馨提示

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

最新文檔

評論

0/150

提交評論