Visual-Basic-程序設(shè)計-清華大學(xué)出版社-第三章課件_第1頁
Visual-Basic-程序設(shè)計-清華大學(xué)出版社-第三章課件_第2頁
Visual-Basic-程序設(shè)計-清華大學(xué)出版社-第三章課件_第3頁
Visual-Basic-程序設(shè)計-清華大學(xué)出版社-第三章課件_第4頁
Visual-Basic-程序設(shè)計-清華大學(xué)出版社-第三章課件_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三章

函數(shù)與表達式Whatpainsustrainsus.

---使我們痛苦的東西在真正鍛煉我們。3.1編碼規(guī)則(1)代碼中字母不區(qū)分大小寫。(2)在同一行上可書寫多條語句,但相互之間要用冒號分隔(3)若一條語句比較長,一行放不下,可用用續(xù)行符“_”連接下一行?!癬”前要有空格。一行上的字符數(shù)小于等于255。續(xù)行符后不要寫任何代碼,即使是注釋也不可以。出錯指數(shù):3.1編碼規(guī)則(4)以Rem或撇號’開頭的部分是語句的注釋。以Rem開頭的注釋要另起一行書寫。撇號’引導(dǎo)的注釋可直接放在語句后面。(5)使用編輯工具欄中的“設(shè)置/取消注釋塊”命令,可將若干行語句或文字設(shè)置/取消為注釋塊。出錯指數(shù):(真題)下列正確的VisualBasic注釋語句是()

A)Dima(10)AsIntegerRem這是一個VB程序B)Rem這是一個VB程序

PrivateSubCommand1_Click()…

C)a=1:b=2:_Rem這是一個VB程序:c=3

D)IfShift=6AndButton=2Then

Print“Hello”Rem這是一個VB程序

EndIfB(真題)下列敘述不正確的是()

A)注釋語句是非執(zhí)行語句,僅對程序的有關(guān)內(nèi)容起注釋作用,它不被解釋和編譯

B)注釋語句可以放在代碼中的任何位置C)注釋語句不能放在續(xù)行符的后面

D)代碼中加入注釋語句的目的是提高程序的可讀性B3.2標準數(shù)據(jù)類型整數(shù)是沒有小數(shù)點和指數(shù)符號的數(shù)。按其數(shù)值范圍劃分成:1.整型:關(guān)鍵字是Integer

類型符是%

內(nèi)存中占2個字節(jié)共16位

能表示的整數(shù)范圍為:-32768~32767

789、-78、+56、96%

都是整型數(shù)2.長整型:關(guān)鍵字是Long

類型符是&

內(nèi)存中占4個字節(jié)共32位能表示的整數(shù)范圍為:2147483648~2147483647

45&、-78914&都是長整型數(shù)注意:長整型數(shù)要在末尾加上&3.2.1整型數(shù)據(jù)類型出錯指數(shù):整型常量的書寫形式

十進制整數(shù):如0,123%,-45,32&。

八進制整數(shù):以&、&o、&O開頭,并由0~7組成的數(shù)字符序列。如:&O123表示八進制整數(shù),其值等于十進制整數(shù)為1*82+2*81+3=83出錯指數(shù):整型常量的書寫形式

十六進制整數(shù):以&h、&H開頭,并由十六進制數(shù)的數(shù)字符組成的數(shù)字符序列。表示十六進制數(shù)的數(shù)字符有16個:0~9和A、B、C、D、E、F,其中六個字母也可以小寫。如:&H123表示十六進制整數(shù),其值等于十進制整數(shù)為:1*162+2*161+3=291;&Habc,其值等于10*162+11*161+12=2748。出錯指數(shù):3.2.2

浮點數(shù)據(jù)類型

浮點型就是實數(shù),可以寫成十進制小數(shù)和指數(shù)(用e或E代表10)兩種形式。按數(shù)值范圍大小和精度不同分成兩種:1.單精度型:關(guān)鍵字Single,類型符!在內(nèi)存中占用4個字節(jié)(32位),精度7位,能表示約為-3.4×10-38~3.4×1038。78.5

689.2!78.2E+4!都是正確的寫法注意:78.2E+4!若寫成78.2E+4,系統(tǒng)把它當(dāng)做雙精度數(shù)3.2.2

浮點數(shù)據(jù)類型2.雙精度型:關(guān)鍵字Double,

類型符#

,在內(nèi)存中占用8個字節(jié)(64位),精度15位,能表示約為-1.7×10-308~1.7×10308。注意:對于雙精度浮點數(shù),十進制小數(shù)形式的,在末尾加#,指數(shù)形式的要用D或d代替E或e,也可以在末尾加#254.3#2.3D-73.2E+2#都是正確的寫法3.2.3貨幣數(shù)據(jù)類型和字節(jié)數(shù)據(jù)類型

貨幣型是定點實數(shù)或整數(shù),最多保留小數(shù)點右邊4位和小數(shù)點左邊15位(版本不同有差異),用于貨幣計算。關(guān)鍵字Currency;類型符@;內(nèi)存中占據(jù)8個字節(jié)

123.45@1234@都是正確的貨幣型數(shù)據(jù)字節(jié)型用于存儲二進制數(shù)。關(guān)鍵字Byte;無類型符;在內(nèi)存中占據(jù)1個字節(jié)表示范圍0~255;沒有負數(shù)3.2.4字符數(shù)據(jù)類型字符型數(shù)據(jù)是用雙引號括起來的一串字符,例“book”字符型數(shù)據(jù)的內(nèi)部表示是字符的Unicode代碼(以二進制形式)一個英文字符和一個漢字都占2個字節(jié)。沒有放入任何字符的一對雙引號“”是空字符串。出錯指數(shù):3.2.4

字符數(shù)據(jù)類型空格是有效的字符。字符串中的雙引號用連續(xù)兩個雙引號表示,如:字符串“book”name”應(yīng)該寫成“book””name”字符型關(guān)鍵字String;類型符$;占據(jù)的字節(jié)數(shù)要根據(jù)字符串的長度來計算。字符型數(shù)據(jù)類型有定長和變長兩種,定長字符串最長不超過65535個字符。變長字符串最長不超過231個字符出錯指數(shù):3.2.4

字符數(shù)據(jù)類型VB中每個英文字符和漢字都占兩個字節(jié),這與編碼方式有關(guān)ASCII編碼:英文字符可以使用ASCII編碼,每個字符占一個字節(jié)。Windows采用DBCS(DoubleByteCharacterSet)編碼,即英文采用ASCII編碼,是單字節(jié);中文以兩字節(jié)編碼。VB采用Unicode(國際標準化組織(ISO)字符標準)編碼,英文和漢字每個都占兩個字節(jié)。為了保持與ASCII碼的兼容性保留ASCII,僅將其字節(jié)數(shù)變?yōu)閮蓚€,增加的字節(jié)以零填入3.2.5

邏輯數(shù)據(jù)類型邏輯型數(shù)據(jù)只有真(True)和假(False)兩個量.關(guān)鍵字Boolean,無類型符。真(True)和假(False)在內(nèi)存中都占2個字節(jié)。真(True)對應(yīng)16位1;假(False)對應(yīng)16位0.將邏輯性數(shù)據(jù)轉(zhuǎn)化為整數(shù)值時真(True)對應(yīng)-1;假(False)對應(yīng)0。當(dāng)將其他類型數(shù)據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時,非0為真(True);0為假(False)。出錯指數(shù):3.2.6

日期數(shù)據(jù)類型日期型數(shù)據(jù)是按8個字節(jié)的浮點數(shù)存儲的。關(guān)鍵字Date/Time,無類型符。范圍從公元100年1月1日到9999年12月31日;時間范圍從0:00:00到23:59:59表示方法有兩種:1)以任何字面上可以被認作日期和時間的字符兩端加上#,例如:#January1,2000##1Jan,00##2000-6-2512:30:00PM#

3.2.6

日期數(shù)據(jù)類型2)以數(shù)字序列表示:小數(shù)點左邊的數(shù)字代表日期,小數(shù)點右邊的數(shù)字代表時間,0為午夜,0.5為中午12點;負數(shù)代表的是1899年12月31日之前的日期和時間。例如:將數(shù)值-2.6轉(zhuǎn)換成日期代表的是1899-12-2914:24:00

3.2.7對象數(shù)據(jù)類型關(guān)鍵字Object;無類型符;在內(nèi)存中占據(jù)4個字節(jié)。Object變量作為4個字節(jié)地址來存儲,該地址可引用應(yīng)用程序中的對象。可以用Set語句指定一個被聲明為Object的變量去引用應(yīng)用程序所識別的任何實際對象。3.2.8變體數(shù)據(jù)類型變體數(shù)據(jù)類型關(guān)鍵字Variant;無類型符;是一種特殊的數(shù)據(jù)類型,為VB的數(shù)據(jù)處理增加了智能性,是所有未定義的變量的缺省數(shù)據(jù)類型,它對數(shù)據(jù)的處理完全取決與程序上下文的需要。要檢測變體型變量中保存的數(shù)值是什么類型,可用VarType函數(shù)進行檢測,根據(jù)函數(shù)的返回值(見下表)判斷變體型變量中保存的數(shù)值是什么類型。例如:VarType(123)的返回值為2,表示為整型。

VarType函數(shù)數(shù)據(jù)類型內(nèi)容常數(shù)VarType函數(shù)返回值數(shù)據(jù)類型內(nèi)容常數(shù)VarType函數(shù)返回值數(shù)據(jù)類型vbEmpty0空vbObject9OLE對象vbNull1無效vbError10錯誤vbInteger2整型vbBoolean11邏輯型vbLong3長整型vbVariant12變體數(shù)組vbSingle4單精度vbDataObject13數(shù)據(jù)訪問對象vbDouble5雙精度vbDecimal14十進制值vbCurrency6貨幣型vbByte17字節(jié)型vbDate7日期型vbUserDefinedType36自定義類型的變量vbString8字符型vbArray8192數(shù)組3.2.9自定義數(shù)據(jù)類型復(fù)合數(shù)據(jù)類型是以基本數(shù)據(jù)類型為基礎(chǔ),用特定的方法組成的比較復(fù)雜的數(shù)據(jù)類型。類似于C語言中的結(jié)構(gòu)類型、Pascal中的記錄類型。自定義類型通過Type語句來實現(xiàn)。3.3常量與變量3.3.1常量在程序運行過程中,值無法改變的量成為常量。常量有三類:普通常量用戶自定義常量系統(tǒng)常量1.普通常量字符型常量:“12345”邏輯性常量:True和False整型常量:1234(十進制)、&O123(八進制)、 &H12A(十六進制)長整型常量:1234&(十進制)、&O123&(八進制)、 &H12A&(十六進制)單精度常量:12.3!、123!、123.45E-5!雙精度常量:

123#、123.45D-5、123.45E-5#日期時間常量:#12/27/2000#、#13:30:45#2.用戶自定義常量用戶可以自定義一個符號來代替一個常量,該符號就稱為用戶自定義常量。符號的命名與變量相同,通常(非強制)全部字母大寫。語法形式:

Const常量名[As類型]=常量表達式

例如:ConstPI=3.14159[As類型]:可省略。省略后常量的數(shù)據(jù)類型由表達式?jīng)Q定。出錯指數(shù):2.用戶自定義常量PrivateSubCommand1_Click()ConstF=3+5Dimz%z=2*FForm1.PrintzEndSub運行結(jié)果:16F代表83.系統(tǒng)常量系統(tǒng)常量由系統(tǒng)提供,可使程序容易閱讀和編寫。系統(tǒng)常量含義系統(tǒng)常量含義vbCr回車vbKeyTabTab鍵vbLf換行vbNormal正常vbCrlf回車換行vbMinimized極小化vbNewLine回車換行vbMaximized極大化vbLeftButton鼠標左鍵(1)變量的命名規(guī)則(2)變量的聲明(3)變量的初值3.3.2變量變量名以字母或漢字開頭,由字母、漢字、數(shù)字、下劃線組成,長度小于等于255個字符、不能使用系統(tǒng)中的關(guān)鍵字命名變量,不區(qū)分變量名中字母的大小寫。china_beijingshanghai123數(shù)碼_01123happyprog%testinteger1.變量的命名規(guī)則(真題)下述說法不正確的是()

A)變量名的長度不能超過255個字符

B)變量名可以包含小數(shù)點或者內(nèi)嵌的類型聲明字符

C)變量名不能使用關(guān)鍵字

D)變量名的第一個字符必須是字母或漢字(真題)下列可作為VisualBasic變量名的是()

A)Filename

B)A(A+B)

C)A%D

D)PrintBA(1)顯示聲明:Dim變量名As類型[,變量名As類型…..]

或者:Dim變量名類型符[,變量名類型符…..]例如:DimBookAsSingle,PenAsDouble等價于 DimBook!,Pen#注意:變量定義為沒有類型符的數(shù)據(jù)類型時,要用關(guān)鍵字聲明。

DimxAsBoolean2.變量的聲明字符類型的變量有定長和變長兩種:DimStr1AsString‘聲明變長字符變量DimStr2AsString*10‘聲明定長字符變量,放10個字符

‘少于10個字符則右補空格,多于10個則把多余的刪除用Static聲明的是靜態(tài)變量;Public聲明的是全局變量;Private聲明的是局部模塊變量。 StaticXAsInteger‘聲明靜態(tài)的整型變量(2)隱式聲明在VB中變量可以不經(jīng)聲明直接使用,因為系統(tǒng)已經(jīng)自動進行了隱式聲明,且數(shù)據(jù)類型為變體型。例如:PrivateSubForm_Click() A=5‘A由系統(tǒng)隱式聲明為變體型 B=4 PrintA+B EndSub(3)強制聲明變量“先聲明后使用”是一個良好的編程習(xí)慣。若想在VB編程中用到的所有變量沒有聲明直接使用報錯,方法有:在窗體模塊、標準模塊、類模塊的通用聲明段加入語句: OptionExplicit執(zhí)行“工具”-“選項”,在編輯器選項卡中選擇復(fù)選項“要求變量聲明”變量聲明后,系統(tǒng)根據(jù)其類型給予不同的默認初值:整型、長整型、單精度、雙精度、貨幣型、字節(jié)型的默認初值為0字符型的默認初值為空字符串“”邏輯性的默認初值為False日期型的默認初值為0/0/0對象型的默認初值為Nothing3.變量的初值(真題)下列敘述中正確的是()

A)在窗體的Form_Load事件過程中定義的變量是全局變量

B)局部變量的作用域可以超出所定義的過程

C)在某個Sub過程中定義的局部變量可以與其他事件過程中定義的局部變量同名,但其作用域只限于該過程

D)在調(diào)用過程時,所有局部變量被系統(tǒng)初始化為0或空字符串C(1)算術(shù)運算符(2)字符串運算符(3)關(guān)系運算符(4)邏輯運算符3.4運算符及優(yōu)先級

運算符的優(yōu)先級優(yōu)先級用來標志運算符在表達式中的運算順序。優(yōu)先級高的先運算,優(yōu)先級低的后運算。如:x-y*z相當(dāng)于x-(y*z)

運算符的結(jié)合性在優(yōu)先級相同情況下,表達式的計算順序由結(jié)合性來確定。大多數(shù)運算符的結(jié)合性是從左至右,單目結(jié)合性是從右至左的如:a+b-c(a+b)+c1.算術(shù)運算符算術(shù)運算符中有乘方(^)、負號(-)、乘(*)、除(/)、整除(\)、取模(求余)(Mod)、加(+)、減(-)。其中負號是單目運算符。算術(shù)運算符之間的優(yōu)先級為:

乘方

負號

乘、除

整除

取模

加、減高低1.算術(shù)運算符運算符含義例結(jié)果^乘方a^29-負號-a-3*乘a*a9/除10/a3.33333333333333\整除10\a3Mod取模10Moda1+加10+a13-減10-a7設(shè):變量a為整型,值為31.算術(shù)運算符注意:在算術(shù)運算中,如果操作數(shù)具有不同的數(shù)據(jù)精度,則VB規(guī)定運算結(jié)果的數(shù)據(jù)類型采用精度高的數(shù)據(jù)類型。即 Integer<Long<Single<Double<Currency但是:長整型與單精度型運算結(jié)果為雙精度型除和乘方的運算結(jié)果為雙精度型整除運算時,操作數(shù)是實數(shù),先“四舍六入五取雙”取整后再相除,結(jié)果為整型或長整型例如:7.2\3.5結(jié)果為17\2.51結(jié)果為2出錯指數(shù):取模運算時,操作數(shù)不是整數(shù),則先“四舍六入五取雙”取整再取模(求余數(shù)),結(jié)果為整數(shù),符號與第一個操作數(shù)的符號相同。例如:-7.2Mod3.5結(jié)果為-3

7.2Mod-3.5結(jié)果為3 3Mod2.5結(jié)果為13Mod1.5結(jié)果為1 -7.2Mod2.5結(jié)果為-1出錯指數(shù):算術(shù)運算符的操作數(shù)一般應(yīng)是數(shù)值型數(shù)據(jù)。若不是數(shù)值型數(shù)據(jù)則(1)由數(shù)字組成的字符串或者是邏輯型數(shù)據(jù),則會自動轉(zhuǎn)換成數(shù)值型數(shù)據(jù)再計算。(2)若不是則報錯。例如:“200”/“100”

結(jié)果為2; 3\True結(jié)果為-3

“123f”/“100”

出錯出錯指數(shù):2.字符串運算符字符串運算符有&和+兩個。&和+運算符的優(yōu)先級一樣,但都低于算術(shù)運算符。+運算符的兩個操作數(shù)都是字符串時進行字符串連接;一個是由數(shù)字組成的字符串,另一個是數(shù)值時,將字符串轉(zhuǎn)換成數(shù)值,然后相加;若該字符串不是由數(shù)字構(gòu)成的,則報錯;兩個都是數(shù)值時,相加求結(jié)果。例如:“12”+“34”結(jié)果為:“1234”“12”

+34結(jié)果為:4612+34結(jié)果為:46

“f2”+“34”結(jié)果為:“f234”

“f2”+34報錯

2.字符串運算符&運算符的兩個操作數(shù)不管是字符型還是數(shù)值型,都先轉(zhuǎn)換成字符型再進行連接。例如:“12”&“34”結(jié)果是“1234”“f2”&34結(jié)果是“f234”

12&34結(jié)果是“1234”注意:&和數(shù)值運算數(shù)之間要留空格。12&34此處的&不是連接符而是八進制數(shù)34的標識符12&34此處的&也不是連接符而是長整型數(shù)值12的標識符

3.關(guān)系運算符關(guān)系運算符中有等于(=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、不等于(<>)、字符串匹配(Like)、對象比較(Is)。關(guān)系運算符的優(yōu)先級都是一樣的,都小于字符串連接運算符,也小于算術(shù)運算符。關(guān)系運算符是雙目運算符,作用是將兩個操作數(shù)進行大小比較,若關(guān)系成立,結(jié)果為True;不成立,結(jié)果為False。

3.關(guān)系運算符運算符含義例結(jié)果=等于“AB”=“ABC”False>大于“AB”>“ABC”False<小于“AB”<“ABC”True>=大于等于15>=8True<=小于等于“AB”<=“AR”True<>不等于“ab”<>”AB”TrueLike判斷包含關(guān)系“ac”Like“boacru”TrueIs判斷引用是否相同3.關(guān)系運算符注意:如果兩個操作數(shù)都是數(shù)值,直接比較大小。如果操作數(shù)是字符型數(shù)據(jù),則從左向右逐個比較字符的ASCII值,直至出現(xiàn)不同字符或所有字符比較完畢。漢字字符按拼音字母進行比較?!按蟆?lt;“小”結(jié)果為True數(shù)值與由數(shù)字構(gòu)成的字符串比較時,先將字符串轉(zhuǎn)換成為數(shù)值再比較大小。若字符串不是由數(shù)字構(gòu)成則報錯“100”>99結(jié)果為True“99+1”>99報錯Like運算符用于判斷兩個字符串之間的包含關(guān)系

格式為:<字符串>Like<模式字符串>若<字符串>包含于<模式字符串>結(jié)果為True,反之為False注意:在<模式字符串>中可以使用以下通配符:?通配一個字符,“12”Like“?23”結(jié)果為True*通配一串字符,“123456”Like“*”結(jié)果為True#通配一個數(shù)字,“123456”Like“#4”結(jié)果為False[字符列表]通配字符列表中的一個字符,“7”Like“[1-9]”結(jié)果為True寫成“7”Like“[1,2,3,4,5,6,7,8,9]”也可以,結(jié)果為True[!字符列表]通配字符列表以外的一個字符,“7”Like“[!1-9]”結(jié)果為False寫成“7”Like“[!1,2,3,4,5,6,7,8,9]”也可以,結(jié)果為False(真題)以下關(guān)系表達式中,其值為True的是() A)”XYZ”>”XYz”

B)”VisualBasic”<>”visualbasic”

C)”the”=”there”

D)”Integer”<”Int”B4.邏輯運算符邏輯運算符中有邏輯非(Not)、邏輯與(And)、邏輯或(Or)、邏輯異或(Xor)、邏輯等于(Eqv)、邏輯蘊含(Imp)。其中邏輯非是單目運算符。邏輯運算符的優(yōu)先級低于關(guān)系運算符。邏輯運算符之間的優(yōu)先級為: Not And Or、Xor Eqv Imp

高低4.邏輯運算符運算符含義說明例結(jié)果Not取反操作數(shù)為假時,結(jié)果為真操作數(shù)為真時,結(jié)果為假NotFalseTrueAnd與兩個操作數(shù)均為真時,結(jié)果才為真,否則為假TrueAndTrueTrueOr或兩個操作數(shù)均為假時,結(jié)果才為假,否則為真FalseOrFalseFalseXor異或兩個操作數(shù)不同時,結(jié)果才為真,否則為假TrueXorFalseTrueEqv等價兩個操作數(shù)相同時,結(jié)果才為真TrueEqvFalseFalseImp蘊含第一個操作數(shù)為真,第二個操作數(shù)為假時,結(jié)果才為假TrueImpFalseFalse4.邏輯運算符注意:如果邏輯運算符的運算數(shù)中有數(shù)值,那么是以數(shù)字的二進制逐位進行邏輯運算。例如: 7AndTrue結(jié)果是:7 0000000000000111 And1111111111111111 0000000000000111例如:

10

Or7 結(jié)果是:15 0000000000001010 Or 0000000000000111 0000000000001111

(真題)設(shè)a=2,b=3,c=4,d=5,則表達式Nota<=cOr4*c=b^2Andb<>a+c的值是()

A)-1

B)1

C)True

D)False(真題)表達式4EqvTrue的結(jié)果為()

表達式4EqvFalse的結(jié)果為()D4-5(真題)在VisualBasic中,下列優(yōu)先級最高的運算符是()

A)*

B)\

C)<

D)NotA3.5表達式表達式是由變量、常量、運算符、函數(shù)和圓括號等有機組成的、有一定意義的式子。表達式書寫規(guī)則:①從左到右在一行上書寫,無高低區(qū)分。

的寫法出錯②乘號不能省略。例如:x*y不能寫成xy③表達式中可以用圓括號括起,以改變運算的優(yōu)先級。④不能使用方括號或花括號,圓括號可以嵌套,但要注意配對。⑤在算術(shù)表達式中,若出現(xiàn)不同的數(shù)據(jù)類型,應(yīng)向精度高的數(shù)據(jù)類型轉(zhuǎn)換。Integer<Long<Single<Double<Currency但注意例外情況x+yx-y3.5表達式日期型數(shù)據(jù)之間的運算比較特殊,只能進行加減運算1.兩個日期型數(shù)據(jù)可以相減,結(jié)果是所差的天數(shù),為數(shù)值型數(shù)據(jù) #12/12/2009#-#12/11/2009# 結(jié)果是12.一個日期型數(shù)據(jù)加上一個數(shù)值,結(jié)果為日期型 #12/12/2009#+1 結(jié)果為2009-12-133.一個日期型數(shù)據(jù)減去一個數(shù)值,結(jié)果為日期型 #12/12/2009#-1 結(jié)果為2009-12-11出錯指數(shù):3.5表達式例:寫出閏年的判斷條件,y為整型變量,存放的是待判斷的年份滿足以下兩個條件之一即為閏年:能被4整除,但不能被100整除能被400整除

yMod4=0AndyMod100<>0OryMod400=0若表達式結(jié)果為True,則y為閏年,否則為非閏年。3.6常用函數(shù)VisualBasic中的函數(shù)有內(nèi)部函數(shù)(標準函數(shù))和用戶自定義函數(shù)兩類。內(nèi)部函數(shù)又稱標準函數(shù)、或者庫函數(shù),是系統(tǒng)為方便實現(xiàn)一些功能而設(shè)置的內(nèi)部程序,包括有數(shù)學(xué)函數(shù)、字符串函數(shù)、日期和時間函數(shù)、轉(zhuǎn)換函數(shù)和格式函數(shù)等。函數(shù)的調(diào)用方法為:

函數(shù)名(自變量)

或者

對象.屬性值=函數(shù)名(自變量)

1.數(shù)學(xué)函數(shù)函數(shù)名含義值類型例結(jié)果Abs(N)取絕對值同NAbs(-3.5)3.5Cos(N)余弦函數(shù)DoubleCos(0)1Exp(N)e為底的指數(shù)函數(shù)DoubleExp(3)20.0855369231877Log(N)e為底的自然對數(shù)DoubleLog(10)2.30258509299405Rnd[(N)]產(chǎn)生一個小于1但大于等于0的隨機數(shù)DoubleRnd0~1之間的數(shù)Sin(N)正弦函數(shù)DoubleSin(0)0Sgn(N)根據(jù)N值符號給出1、0、-1IntegerSgn(-3.5)-1Sqr(N)平方根,要求N>=0DoubleSqr(9)3Tan(N)正切函數(shù)DoubleTan(0)0Atn(N)反正切函數(shù)DoubleAtn(1)0.785398163397448注意:三角函數(shù)的自變量單位為弧度。Atn函數(shù)返回值的單位也是弧度。

例如:Sin48。應(yīng)寫為Sin(48*3.14/180)Rnd[(N)]返回一個隨機數(shù),小于1但大于或等于0的值。如果N的值小于0每次都得到相同的隨機數(shù)。大于0或省略產(chǎn)生下一個隨機數(shù)。等于0返回最近一次生成的隨機數(shù)。默認情況下Rnd函數(shù)每次運行產(chǎn)生相同的隨機數(shù)序列,可以使用Randomize語句產(chǎn)生不同序列的隨機數(shù)。 Randomize

Int(Rnd*101)+200‘產(chǎn)生[200,300]區(qū)間的隨機數(shù)2.字符串函數(shù)函數(shù)名含義例結(jié)果InStr([Q,]C1,C2[,M])查C2是否包含于C1,分別返回位置或0Instr(“abcd”,”bc”)2Left(C,N)取C字符串中左邊N個字符Left(“abcd”,2)“ab”Len(C)測C字符串長度Len(“ok上海”)4Mid(C,N1[,N2])在C中從第N1個字符位開始,取N2個字符構(gòu)成的子串,缺省N2則取到結(jié)尾Mid(“abcd”,2,1)“b”Right(C,N)取C字符串中右邊N個字符Right(“abcd”,2)“cd”Space(N)產(chǎn)生N個空格組成的字符串Space(5)“”函數(shù)名含義例結(jié)果Replace(C,C1,C2)在C中用C2取代C1Replace(“abd”,”ab”,”1”)“1d”Split(C,D)將C按分隔符D分隔成字符數(shù)組s=Split(“ab,cd.ef”,”,”)s(0)=“ab”s(1)=“cd.ef”String(N,C)生成由N個C中首字符組成的字符串String(5,”rtyu”)“rrrrr”Trim(C)除去C字符串首尾的空格Trim(“abcd”)“abcd”Join(A[,D])將A數(shù)組中元素以D為分隔符變成字符串A=array(“12”,”34”,”5”)Join(A,””)“12345”StrReverse(C)取字符串的反序字符串StrReverse(“ABCD”)“DCBA”StrComp(C1,C2[,M])以-1,0,1表示C1<,=,>C2比較的結(jié)果StrComp(“AB”,”ab”)-1注意:可選參數(shù)[Q]表示查找的起始字符位置可選參數(shù)[M]表示是否區(qū)分大小寫,0區(qū)分;1不區(qū)分;省略為區(qū)分大小寫。StrComp(”AB”,”ab”,0)‘結(jié)果為-1,表示”AB”<”ab”StrComp(”AB”,”ab”,1)‘結(jié)果為0,不區(qū)分大小寫InStr(”1234ABCD”,”ab”)‘結(jié)果為0,找不到,默認區(qū)分大小寫InStr(2,”1234ABCD”,”ab”,1)‘結(jié)果為5,不區(qū)分大小寫3.轉(zhuǎn)換函數(shù)函數(shù)名功能例結(jié)果Int(N)取不大于N的最大整數(shù)Int(-6.9)-7Fix(N)取整Fix(-6.9)-6Hex(N)將10進制數(shù)N轉(zhuǎn)換成16進制Hex(64)40Oct(N)將10進制數(shù)N轉(zhuǎn)換成8進制Oct(24)30Asc(C)返回C字符串中首字符的ASCII碼Asc(“a”)97Chr(N)根據(jù)ASCII碼值返回字符Chr(65)“A”出錯指數(shù):3.轉(zhuǎn)換函數(shù)函數(shù)名功能例結(jié)果Str(N)將數(shù)值轉(zhuǎn)換成字符串str(645)“645”Ronud(N[,N1])對N按小數(shù)指定位數(shù)N1四舍六入五取雙來取整Round(-2.5)Round(-2.51)Round(3.5,0)-2-34Cint(N)對N的小數(shù)作四舍六入五取雙轉(zhuǎn)換成整數(shù)Cint(2.5)Cint(2.51)Cint(3.5)234Ccur(N)將N轉(zhuǎn)換為貨幣類型,小數(shù)至多四位且自動四舍五入CCur(7.236751)CCur(7.236750)7.23687.2367出錯指數(shù):3.轉(zhuǎn)換函數(shù)函數(shù)名功能例結(jié)果CDbl(N)將N轉(zhuǎn)化為雙精度數(shù)CDbl(45.2)45.2000000000000CLng(N)將N小數(shù)部分四舍六入五取雙轉(zhuǎn)換為長整型CLng(56.5)CLng(56.51)5657CSng(N)將N轉(zhuǎn)化為單精度數(shù)CSng(5.1D+3)5100.000CVar(N)將N轉(zhuǎn)化為變體類型Cvar(78)78LCase(C)將C中大寫字母轉(zhuǎn)換成小寫LCase(“AsDf”)“asdf”UCase(C)將C中小寫字母轉(zhuǎn)換成大寫Ucase(“abHjk”)“ABHJK”Val(C)將由數(shù)字組成的字符串轉(zhuǎn)換成數(shù)值Val(“456”)456注意:比較Cint(),int(),fix(),round()的區(qū)別

Cint小數(shù)部分超過0.5的部分都進位,不分正負例如:Cint(2.51)=3Cint(-2.51)=-3

小于0.5的部分都舍去,不分正負;等于0.5的部分按取雙方式取整例如:Cint(2.49)=2Cint(-2.49)=-2Cint(3.5)=4Cint(-2.5)=-2

Int

取到的是小于等于這個數(shù)的最大整數(shù)例如:Int(2.49)=2Int(2.50)=2Int(2.51)=2Int(-2.49)=-3Int(-2.50)=-3Int(-2.51)=-3

注意:比較Cint(),int(),fix(),round()的區(qū)別

Round確定好保留的位數(shù)后,后面的直接四舍六入五取雙例如:Round(2.459,2)=2.46Round(2.445,2)=2.44Round(2.455,2)=2.46Round(2.454,2)=2.45Round(-2.459,2)=-2.46Round(-2.455,2)=-2.46

Round(-2.454,2)=-2.45Fix

省略小數(shù)位,即直接截走小數(shù)位例如Fix(2.51)=2Fix(2.49)=2Fix(-2.49)=-2Fix(-2.51)=-2注意:Chr和Asc函數(shù)互為反函數(shù),如Chr(Asc(34))的結(jié)果是3非負數(shù)值用Str函數(shù)轉(zhuǎn)換成字符型值后,會在生成的字符串左邊增加空格,留作符號位

Str(645)結(jié)果為”645”

字符串645之前有一個空格Val將由數(shù)字組成的字符串轉(zhuǎn)換成數(shù)值,直到出現(xiàn)非數(shù)字符號

Val(“-7.8E-2”)結(jié)果是-7.8因為E不是數(shù)字,所以從E

開始不轉(zhuǎn)換 Val(“ab”)結(jié)果是0出錯指數(shù):4.日期函數(shù)函數(shù)名功能例結(jié)果Date返回系統(tǒng)日期Date2008/7/15Day(C|D)返回日期中號數(shù)Day(“2008,07,15”)15Month(C|D)返回日期中的月份數(shù)Month(“2008,07,15”)7Now返回系統(tǒng)日期時間Now2008/7/159:12:24Time返回系統(tǒng)時間Time9:12:25Year(C|D)返回日期中的年號數(shù)Year(Now)2008DateAdd(X,N,D)對D日期按增減量N和增減形式X算出新日期dd=#2008/7/15#DateAdd(“d”,34,dd)#2008/8/18#DateDiff(X,D1,D2)以間隔形式X計算日期D1和D2的間隔數(shù)DateDiff(“d”,Now,#2007/7/15#)-366日期形式:形式y(tǒng)yyyqmydwwwhns意義年季月一年的天數(shù)日一周的天數(shù)星期時分秒(真題)表達式Left("howareyou",3)的值是()

A)how

B)are

C)you

D)howareyouA(真題)設(shè)有如下聲明:

DimxAsInteger

如果Sgn(x)的值為-1,則表示x的值是()

A)整數(shù)

B)大于0的整數(shù)

C)等于0的整數(shù)

D)小于0的數(shù)D(真題)語句PrintSgn(-6^2)+Abs(-6^2)+Int(-6^2)的輸出結(jié)果是()

A)-36

B)1

C)-1

D)-72

C(真題)執(zhí)行以下程序段

a$=”VisualBasicProgramming”

b$=”C++”

c$=Ucase(left$(a$,7))&b$&Right$(a$,12)后,變量c$的值為()A)VisualBasicProgramming

B)VISUALC++Programming

C)VisualC++Programming

D)VISUALBASICProgrammingB3.6.5

溫馨提示

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

評論

0/150

提交評論