Visual Basic程序設(shè)計(jì)(第三版)課件第3章_第1頁(yè)
Visual Basic程序設(shè)計(jì)(第三版)課件第3章_第2頁(yè)
Visual Basic程序設(shè)計(jì)(第三版)課件第3章_第3頁(yè)
Visual Basic程序設(shè)計(jì)(第三版)課件第3章_第4頁(yè)
Visual Basic程序設(shè)計(jì)(第三版)課件第3章_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第三章

VisualBasic語(yǔ)言基礎(chǔ)本章主要內(nèi)容1VB的基本數(shù)據(jù)類型2常量與變量3VB中的運(yùn)算符和字符串表達(dá)式4VB程序的書寫格式5VB中常用的內(nèi)部函數(shù)6VB的基本輸入輸出語(yǔ)句目的和要求:了解和掌握VB的基本數(shù)據(jù)類型、常量與變量的概念和定義方法正確運(yùn)用各種運(yùn)算符和表達(dá)式了解和掌握常用內(nèi)部函數(shù)的使用熟練使用基本輸入輸出語(yǔ)句3.1VisualBasic的基本數(shù)據(jù)類型(P36表)

不同類型的數(shù)據(jù),所占的存儲(chǔ)空間不一樣,使用合適的數(shù)據(jù)類型,可以使代碼優(yōu)化,減少系統(tǒng)資源的浪費(fèi)。只有相同(相容)類型的數(shù)據(jù)之間才能進(jìn)行操作,否則會(huì)出現(xiàn)錯(cuò)誤。

VisualBasic6.0的基本數(shù)據(jù)類型主要有數(shù)值型數(shù)據(jù)和字符串型數(shù)據(jù)。此外還有對(duì)象、日期、布爾和變體數(shù)據(jù)等類型。1.數(shù)值型數(shù)據(jù)⑴整型數(shù)據(jù)不含小數(shù)點(diǎn)和指數(shù)符號(hào)的數(shù)據(jù),包含整型和長(zhǎng)整型。

①整型(Integer)

用于保存不含小數(shù)點(diǎn)和指數(shù)符號(hào)的數(shù)據(jù),與浮點(diǎn)數(shù)相比,運(yùn)行速度快,占用內(nèi)存少,但數(shù)據(jù)取值的范圍較小。占用字節(jié)數(shù):2字節(jié)取值范圍:

-32768~32767表示形式:±n[%]

其中n是0~9的數(shù)字,%是整型數(shù)的類型符通??墒∪?。前綴:int舉例:130%、230、-122%、-10等②長(zhǎng)整型(Long)占用字節(jié)數(shù):4字節(jié)取值范圍:

-2147483648~2147483647表示形式:±n&其中n是0~9的數(shù)字,&是長(zhǎng)整型數(shù)的類型符。前綴:long舉例:130&、230&、-122&、-10&等⑵浮點(diǎn)數(shù)用于保存帶有小數(shù)點(diǎn)的實(shí)數(shù)值,與整型相比,取值范圍大,但運(yùn)算速度慢。主要包括:單精度型和雙精度型。(單精度和雙精度)①單精度浮點(diǎn)數(shù)(Single)占用字節(jié)數(shù):4字節(jié)取值范圍:負(fù)值:-3.402823E38~-1.401298E-45

正值:1.401298 E-45~3.402823E38多種表示形式:±n.n、

±n!、±nE±m(xù)、±n.nE±m(xù)其中n、m是0~9的數(shù)字,其中!是單精度型數(shù)據(jù)的類型符。前綴:sng舉例:1.3、-13!、-13E5、-0.13E-3等。②雙精度型(Double)②雙精度型(Double)占用字節(jié)數(shù):8字節(jié)取值范圍:負(fù)值:-1.79769313486232D308~-4.94065645841247D-324

正值:4.94065645841247D-324~1.79769313486232D308表示形式:±n.n、

±n#、±nD±m(xù)、±n.nD±m(xù)其中n、m是0~9的數(shù)字。前綴:dbl舉例:1.3#、-13#、-13D5、-0.13D-3#等,其中#是雙精度型數(shù)據(jù)的類型符。⑶.貨幣型數(shù)據(jù)(Currency)⑶.貨幣型數(shù)據(jù)(Currency)

保存定點(diǎn)數(shù)或整數(shù),

用于計(jì)算貨幣的數(shù)量,最多保留小數(shù)點(diǎn)后面4位和小數(shù)點(diǎn)左邊15位。占用字節(jié)數(shù):8字節(jié)取值范圍:

-22337203685477.5808~922337203685477.5807表示形式:±n@

、±n.m@其中n、m是0~9的數(shù)字,@是貨幣型數(shù)據(jù)的類型符。前綴:cur例:-1345.34@、345.6@等

⑷.字節(jié)型數(shù)據(jù)(Byte)⑷.字節(jié)型數(shù)據(jù)(Byte)無(wú)符號(hào)二進(jìn)制數(shù)進(jìn)行存儲(chǔ)占用字節(jié)數(shù):1字節(jié)

取值范圍:0~255注:在VB中,數(shù)值型數(shù)據(jù)都有一個(gè)取有效的取值范圍,程序中的數(shù)據(jù)如果超出各自類型規(guī)定的范圍,則出現(xiàn)溢出(Overflow),并顯示出錯(cuò)信息。小于下限值時(shí)系統(tǒng)按0處理。2.日期型數(shù)據(jù)(Date)2.日期型數(shù)據(jù)(Date)占用字節(jié)數(shù):8字節(jié)取值范圍:日期:公元100年1月1日~公元9999年

12月31日

時(shí)間:00:00:00~23:59:59表示形式:#<日期型數(shù)據(jù)>#。其中#號(hào)在數(shù)據(jù)的兩邊前綴:dtm舉例:#1jan04#、#january1,2007#、#2007-08-0112:29:12PM#等。

日期型數(shù)據(jù)可以用數(shù)字序列表示。當(dāng)用數(shù)字序列表示時(shí)小數(shù)點(diǎn)左邊是日期,小數(shù)點(diǎn)右邊是表示時(shí)間。20090301.1229123.字符型數(shù)據(jù)(String)3.字符型數(shù)據(jù)(String)

字符型用于表示連續(xù)的字符序列,專用于存放文字信息字符串:由ASCII字符和擴(kuò)展ASCII字符組成的字符序列,用雙引號(hào)定界。變長(zhǎng)字符串:字符串的長(zhǎng)度不確定,在0~231(約

20億)個(gè)范圍內(nèi)的字符。定長(zhǎng)字符串:含有確定個(gè)數(shù)的字符,最大長(zhǎng)度不超過(guò)216(約5400)個(gè)字符注:注:每個(gè)字符占一個(gè)字節(jié),定長(zhǎng)字符串所占用的字節(jié)數(shù)就是字串本身的長(zhǎng)度。

變長(zhǎng)字符串所占用的字節(jié)數(shù)為字符串長(zhǎng)度加10個(gè)字節(jié)。

例:“VisualBasic”、“Computer”、“caculator”、“我們的校園”等。

4.邏輯型數(shù)據(jù)(Boolean)4.邏輯型數(shù)據(jù)(Boolean)

用于表示邏輯量占用字節(jié)數(shù):2字節(jié)取值范圍:

True(真)、False(假)表示形式:True(真,-1或非0)、False(假,0)前綴:bin5.對(duì)象型數(shù)據(jù)(Object)用來(lái)表示圖形、OLE對(duì)象或其它對(duì)象。占用字節(jié)數(shù):4字節(jié)取值范圍:應(yīng)用程序所能識(shí)別的任何實(shí)際對(duì)象前綴:obj6.變體型數(shù)據(jù)(Variant)

這是VB的一種特殊數(shù)據(jù),是未經(jīng)聲明的變量的默認(rèn)數(shù)據(jù)類型,是一種可變的數(shù)據(jù)類型,可以表示任何值,包括數(shù)值、字符串、日期/時(shí)間等。占用字節(jié):不定前綴:vnt注:當(dāng)一個(gè)變量被定義為變體類型時(shí),如果未經(jīng)賦值,則它的值為空值(empty),與null不同,null表示的是一個(gè)無(wú)效的數(shù)據(jù)例Dima1AsVarianta1=“15”a1=a1-10a1=“No.”&a1form1.printa1

結(jié)果為:?3.2常量和變量3.2.1常量(直接、符號(hào)、系統(tǒng)常量)

常量是指在程序運(yùn)行過(guò)程中其值始終保持不變的量,包括直接常量、符號(hào)常量和系統(tǒng)常量3種1.直接常量通常簡(jiǎn)稱常量。根椐數(shù)據(jù)類型的不同,常量通常有

“數(shù)值常量”、“字符串常量”、

“日期常量”和“邏輯常量”之分。

(1)數(shù)值常量:數(shù)值常量分為四種形式:整型數(shù)、長(zhǎng)整型數(shù)、貨幣型數(shù)和浮點(diǎn)數(shù)除此之外還有八進(jìn)制、十六進(jìn)制數(shù)值常量,八進(jìn)制數(shù)前面加&O,如&O1002、&O567;十六進(jìn)制常量前加&H,如&HAF、&H357。

(2)字符串常量:(2)字符串常量:字符串常量由除雙引號(hào)和回車符之外的任何ASCII字符組成。整型數(shù)、長(zhǎng)整型數(shù)均可以十進(jìn)制、十六進(jìn)制和八進(jìn)制三種形式表示。

(3)日期常量:

用來(lái)表示具體日期和時(shí)間,兩邊用#號(hào)定界。⑷邏輯常量:只有True和False兩種取值。2.符號(hào)常量2.符號(hào)常量

在程序中經(jīng)常對(duì)某一量反復(fù)使用,為了方便,可將這一反復(fù)使用的量定義為一個(gè)符號(hào)常量。比如:π、2007-09-05

分別可用申明語(yǔ)句const符號(hào)常量名[As數(shù)據(jù)類型]=表達(dá)式來(lái)進(jìn)行定義說(shuō)明一個(gè)符號(hào)常量。例:ConstPI=3.1415926ConstDAYasdate=#05/09/2007#

3.系統(tǒng)常量3.系統(tǒng)常量

是由VB提供的具有專門名稱和作用的常量。VB提供的系統(tǒng)常量有顏色常量、窗體常量、繪圖等32類近千個(gè)常量。

這些常量位于VB的對(duì)象庫(kù)中。教材P37表2-2中列出了VB的有關(guān)顏色常量。

例:text1.forecolor=vbblue

或text1.forecolor=&Hff00002.2.2變量:3.2.2變量數(shù)值存入內(nèi)存后,必須用某種方式訪問(wèn)它,才能執(zhí)行指定的操作。在VB中可用“名字”表示內(nèi)存位置,從而可訪問(wèn)存入內(nèi)存中的數(shù)據(jù),執(zhí)行指定的操作。一個(gè)有名稱的內(nèi)存位置稱為變量。每個(gè)變量都有一個(gè)名和相應(yīng)的數(shù)據(jù)類型,通過(guò)名來(lái)引用變量,根據(jù)數(shù)據(jù)類型來(lái)決定其存儲(chǔ)方式。1.變量的命名規(guī)則⑴什么是變量:變量是指在程序運(yùn)行過(guò)程中可以改變其值的量,在內(nèi)存中占用一定的字節(jié)空間。⑵變量的4個(gè)特性:名字、數(shù)據(jù)類型、作用域和生存周期;⑶變量的2種形式:屬性變量和內(nèi)存變量屬性變量:屬性變量是在調(diào)用VB提供的控件對(duì)象或其它對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)為這些對(duì)象創(chuàng)建的一組變量,并為每個(gè)變量設(shè)置了默認(rèn)的值,不必進(jìn)行定義和說(shuō)明就可使用。內(nèi)存變量:在使用前一般需要先聲明變量名和數(shù)據(jù)類型。⑷聲明的主要作用:是指明變量名、類型、有效的作用域及其生存周期,在內(nèi)存中為其分配存儲(chǔ)空間。⑸聲明的兩種形式:顯式聲明、隱式聲明、強(qiáng)制顯示聲明(OptionExplicit)⑹變量的命名規(guī)則:變量名只能由字母、漢字、數(shù)字和下劃線組成;變量名的第一個(gè)字符必須是英文字母或漢字,最后一個(gè)字符可以是類型說(shuō)明符;變量名的有效字符(長(zhǎng)度)為255個(gè);不能用VB保留字作變量名,但可把保留字嵌入變量名中;變量名中不允許包括標(biāo)點(diǎn)符號(hào)和空格。例:ABC、intmax、s_name、A1、學(xué)號(hào)_1、Sum_ave均為有效的變量。

2a、int、Date、Const、%a12、y.2、h&g均為不合法的變量。注:函數(shù)名在不使用的情況下可作為變量名使用。⑺關(guān)于內(nèi)存變量命名時(shí)要注意的事項(xiàng)在變量名中大寫字母和小寫字母作為相同處理,不作區(qū)別。VB中的保留字(關(guān)鍵字)是指系統(tǒng)已經(jīng)定義的詞,如語(yǔ)句、函數(shù)名和運(yùn)算符名。變量名不能與過(guò)程名或符號(hào)常量名同名。變量名應(yīng)盡量簡(jiǎn)單明了,不要太長(zhǎng)。2.變量的聲明2.變量的聲明

VB中內(nèi)存變量在使用前可以不經(jīng)過(guò)聲明而直接使用,系統(tǒng)會(huì)自動(dòng)將其默認(rèn)為變體類型(Variant)的變量,但是容易產(chǎn)生兩個(gè)問(wèn)題:浪費(fèi)存儲(chǔ)空間與其它變量數(shù)據(jù)同時(shí)使用時(shí),有時(shí)會(huì)無(wú)效。因此,使用前最好先聲明。⑴變量的顯式聲明聲明語(yǔ)句的格式:|Dim|Private|Static|Public|<變量名>[As<類型>][,<變量名2>[As<類型2>]]…例:Dimbigasinteger,aasdouble其中:Dim:既可以聲明模塊級(jí)變量也可聲明過(guò)程級(jí)局部變量。Static:聲明過(guò)程級(jí)(局部)變量(static聲明靜態(tài)變量,dim聲明動(dòng)態(tài)變量),

(生存周期)Public:用于聲明公有(全局)的模塊級(jí)變量變量名:應(yīng)遵照變量名的命名規(guī)則。類型:用來(lái)定義被聲明變量的數(shù)據(jù)類型。如果省略類型,系統(tǒng)默認(rèn)為變體(Variant)類型。注:注:一條變量聲明語(yǔ)句可以同時(shí)定義多個(gè)變量,但每個(gè)變量必須有自己的類型聲明,類型聲明不可共用。

例:DimA1,B1AsDouble

這里是聲明了1個(gè)變體類型的變量和1個(gè)雙精度型的變量,也可以在變量名后面加變量類型符來(lái)代替As類型。此時(shí)變量名與類型符之間不可有空格。

例:DimintX%,sngY!(2)字符串變量的兩種聲明DIM<字符串變量名>AsString字符個(gè)數(shù)不定,最多可達(dá)2MB字符。DIM<字符串變量名>AsString*字符數(shù)字符個(gè)數(shù)為“*”后邊的字符數(shù)例:DimStrs1AsString*100聲明定義了名為strs1的字符串變量其長(zhǎng)度為100個(gè)字符長(zhǎng)度。

注:西文字符占1個(gè)節(jié),漢字占2個(gè)字節(jié)。(3)變量名的隱式聲明

(3)變量名的隱式聲明是指未經(jīng)聲明而直接引用的的變量,系統(tǒng)默認(rèn)為變體型數(shù)據(jù)類型。(4)強(qiáng)制顯式聲明變

主要是防止變量在使用中出現(xiàn)錯(cuò)誤引用,則可在聲明語(yǔ)句的前面加上如下語(yǔ)句

OptionExpicit

或從“工具”菜單中選“選項(xiàng)”,在選項(xiàng)對(duì)話框中單擊“編輯器”選項(xiàng)卡再選中“要求變量聲明”復(fù)選框。詳見P40圖2-1編輯器選項(xiàng)卡3.3VisualBasic中的運(yùn)算符與表達(dá)式3.3.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符

VisualBasic的算術(shù)運(yùn)算符包括:指數(shù)(∧)、取負(fù)(-)、乘法(*)、浮點(diǎn)除法(/)、整數(shù)除法(\)、取模(Mod)、加法(+)、減法(-)等8個(gè)。指數(shù)運(yùn)算符(∧):乘方運(yùn)算優(yōu)先級(jí)1

表達(dá)式x^y

3^2

結(jié)果9。取負(fù)運(yùn)算符(-):取負(fù)運(yùn)算優(yōu)先級(jí)2

表達(dá)式–x

-2結(jié)果-2。乘法運(yùn)算符(*):乘法運(yùn)算優(yōu)先級(jí)3

表達(dá)式

x*y例

3*4

結(jié)果12

浮點(diǎn)除法運(yùn)算符(/):浮點(diǎn)除法運(yùn)算優(yōu)先級(jí)3

表達(dá)式x/y

5/3

結(jié)果1.6666667。整除運(yùn)算符(\):整數(shù)除法運(yùn)算優(yōu)先級(jí)4

表達(dá)式

x\y

5/3結(jié)果1。取模運(yùn)算符(Mod):取模運(yùn)算優(yōu)先級(jí)5

表達(dá)式

xMody

5Mod3結(jié)果2。加法運(yùn)算符(+):

加法運(yùn)算優(yōu)先級(jí)6

表達(dá)式

x+y

5+3

結(jié)果8。減法運(yùn)算符(-):

減法運(yùn)算優(yōu)先級(jí)6

表達(dá)式x-y

5-3

結(jié)果2。算術(shù)表達(dá)式書寫規(guī)則表達(dá)式:用運(yùn)算符將變量、數(shù)值、函數(shù)、字符串連接起來(lái)的有意義的算式。下標(biāo)的書寫:按VB算術(shù)表達(dá)式書寫所有符號(hào)和字符都必須寫在同一橫線上的原則,對(duì)于指數(shù)和下標(biāo)書寫時(shí)與數(shù)學(xué)中的計(jì)算表達(dá)式有所區(qū)別。例如:X2

應(yīng)寫為:X*X或X^2,X1-X2在VB表達(dá)式中應(yīng)寫為:X1-X2表達(dá)式中的括號(hào):在VB中表達(dá)式中,一律采用圓括號(hào)“()”,無(wú)論嵌套多少層。在VB中不允許使用數(shù)學(xué)公式中的簡(jiǎn)化寫法:例:2x+5y,在VB算術(shù)表達(dá)式中應(yīng)寫為:2*x+5*y算術(shù)運(yùn)算符的優(yōu)先級(jí)

當(dāng)一個(gè)表達(dá)式中涉及到多種運(yùn)算時(shí),程序在執(zhí)行時(shí)嚴(yán)格按系統(tǒng)規(guī)定的算術(shù)運(yùn)算符優(yōu)先級(jí)別進(jìn)行運(yùn)算。詳見教材P41表2.3

優(yōu)先級(jí)3優(yōu)先級(jí)4優(yōu)先級(jí)5優(yōu)先級(jí)3優(yōu)先級(jí)6例:4+5\6*7/8

mod9結(jié)果:?3.3.2字符串運(yùn)算符與字符串表達(dá)式VisualBasic中的字符串運(yùn)算符:“&”和“+”

“+”的運(yùn)算規(guī)則:“+”號(hào)兩邊的運(yùn)算對(duì)象應(yīng)都是字符型數(shù)據(jù);如果兩邊一個(gè)是數(shù)字字符,另一個(gè)為數(shù)值型數(shù)據(jù),則系統(tǒng)自動(dòng)將數(shù)字字符轉(zhuǎn)換為數(shù)值按算術(shù)運(yùn)算進(jìn)行運(yùn)算,除此之外系統(tǒng)出錯(cuò)?!?”的運(yùn)算規(guī)則:不論“&”號(hào)兩邊的運(yùn)算對(duì)象是否哪種類型,系統(tǒng)都先將運(yùn)算對(duì)象轉(zhuǎn)變?yōu)樽址蛿?shù)據(jù),然后再進(jìn)行連接運(yùn)算。字符串表達(dá)式由字符串運(yùn)算符將字符串常量、字符串變量、字符串函數(shù)連接起來(lái)有意義的算式。例:”Visual”+”Basic”

結(jié)果“VisualBasic”

”Visual”&”Basic”

結(jié)果“VisualBasic”

“34.5”+0.25結(jié)果34.7534.5&0.25結(jié)果“34.50.25”

“ABC”+100系統(tǒng)報(bào)出錯(cuò)

ABC&100結(jié)果“ABC100”3.3.3日期表達(dá)式日期表達(dá)式由“+”、“-”、算術(shù)表達(dá)式、日期型數(shù)據(jù)和日期型函數(shù)所組成。兩個(gè)日期型數(shù)據(jù)相減,結(jié)果為數(shù)值型數(shù)據(jù)(兩個(gè)日期相差的天數(shù))。

例:#1/19/2004#-#1/30/2003#

結(jié)果:數(shù)值型數(shù)據(jù)365-(30-19)=354(天)一個(gè)表示天數(shù)的數(shù)值型數(shù)據(jù)可以被加(或減)到一個(gè)日期型數(shù)據(jù)中,其結(jié)果仍然是一個(gè)日期型數(shù)據(jù)。例:#10/12/2001#+30結(jié)果為:#2001-11-11##10/12/2001#-30結(jié)果為:#2001-9-12#3.3.4關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符(比較運(yùn)算符)用于對(duì)兩個(gè)表達(dá)式的值進(jìn)行比較,返回邏輯值——真(True)或假(False)。雙目運(yùn)算,共有6種(P46表)。關(guān)系運(yùn)算符功能表達(dá)式格式實(shí)例結(jié)果=相等X=Y(jié)”Visual”=“visual”False<>或><不相等X<>Y或X><Y“XYZ”<>”xyz”True>大于X>Y“basic”>”basi”True<小于X<Y55<89True<=小于或等于X<=Y(jié)“231”<=“232”True>=大于或等于X>=Y(jié)“xyz”>=“變量”False幾點(diǎn)說(shuō)明:說(shuō)明:關(guān)系表達(dá)式的運(yùn)算次序?yàn)?先分別求出關(guān)系運(yùn)算符兩邊的表達(dá)式值,再把兩者進(jìn)行比較。數(shù)值按其大小進(jìn)行比較;日期型按“yyyymmdd”的8位整數(shù),按數(shù)值大小進(jìn)行比較;字符串按ASCII碼值的大小從左到右依次進(jìn)行比較,遇到先大的即為大,比較的優(yōu)先級(jí)是從左到右,依次進(jìn)行,誰(shuí)在前誰(shuí)優(yōu)先。漢字字符大于西文字符。一般不要對(duì)單精度和雙精度數(shù)進(jìn)行等于“=”比較,由于轉(zhuǎn)換、存儲(chǔ)過(guò)程中易產(chǎn)生誤差,可能造成不相等。在VB中,對(duì)于數(shù)學(xué)中的不等式A≤X≤B,應(yīng)寫為X>=AANDX<=B。2.3.5邏輯運(yùn)算符與邏輯表達(dá)式2.3.5邏輯運(yùn)算符與邏輯表達(dá)式用邏輯運(yùn)算符連接兩個(gè)或多個(gè)關(guān)系式。VB中的邏輯運(yùn)算符有六種(P47表)。

邏輯運(yùn)算符

功能優(yōu)先級(jí)表達(dá)式格式

說(shuō)明Not取反1Notx將原有的x邏輯值取反,真為假,假為真And與2xAndy兩操作數(shù)均為真時(shí)結(jié)果為真,否則為假Or或3xOry兩操作數(shù)只要有一個(gè)為真時(shí)結(jié)果為真,兩個(gè)均為假時(shí)才為假Xor異或3xXory兩個(gè)操作數(shù)不同時(shí)結(jié)果為真,否則為假Eqv等價(jià)4xEqvy兩個(gè)操作數(shù)相同時(shí)結(jié)果為真,否則為假Imp蘊(yùn)含5xImpyX為真,y為假結(jié)果為假,其余均為真注:在表達(dá)式中包含有算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算時(shí)按先算術(shù)運(yùn)算再關(guān)系運(yùn)算后邏輯運(yùn)算。用邏輯運(yùn)算符And、Or對(duì)數(shù)值進(jìn)行運(yùn)算時(shí),是對(duì)數(shù)值的二進(jìn)制數(shù)逐位進(jìn)行邏輯運(yùn)算。對(duì)一個(gè)數(shù)連續(xù)兩次進(jìn)行Xor操作,可恢復(fù)原值。例:3+5>8and8>3

結(jié)果:false3+5>8or8>3

結(jié)果:truenot5<3and6*2=10+2

結(jié)果ture

12and7

結(jié)果:4

12or7

結(jié)果:15(這兩個(gè)運(yùn)算先將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)進(jìn)行)Is運(yùn)算符Is運(yùn)算符

1)Is運(yùn)算符用于對(duì)象比較,要求操作數(shù)是Object類型,如果兩個(gè)操作數(shù)表示同一個(gè)對(duì)象,那么返回“True”,反之則返回“False”2)也可與比較運(yùn)算符結(jié)合表示一個(gè)指定的范圍case2,4,6is>102.3.6表達(dá)式的類型轉(zhuǎn)換及執(zhí)行順序3.3.6表達(dá)式的類型轉(zhuǎn)換及執(zhí)行順序(1)不同數(shù)據(jù)類型的轉(zhuǎn)換不同類型的數(shù)據(jù)參與算術(shù)運(yùn)算時(shí),VB規(guī)定其運(yùn)算結(jié)果的數(shù)據(jù)類型以精度較高的為準(zhǔn),即Integer<Long<Single<Double<Currency當(dāng)long和single型數(shù)據(jù)進(jìn)行運(yùn)算時(shí),數(shù)據(jù)為double型。(2)執(zhí)行順序在VB中,當(dāng)一個(gè)表達(dá)式包含多種運(yùn)算時(shí),系統(tǒng)將按一定的順序執(zhí)行。算術(shù)運(yùn)算符>字符運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符同級(jí)運(yùn)算均按從左向右依次進(jìn)行,多層括號(hào)由內(nèi)向外逐層進(jìn)行。3.4VisualBasic程序的書寫格式3.4VisualBasic程序的書寫格式程序的注釋

rem或單撇號(hào)注釋語(yǔ)句的續(xù)行符

VB規(guī)定一行語(yǔ)句最多可寫255個(gè)字符。如果超出這個(gè)范圍,可采用多行書寫(一個(gè)空格加一個(gè)下劃線“_”)。注意在續(xù)行符后邊不允許使用注釋,也不可將變量名與或?qū)傩悦珠_。

P5實(shí)訓(xùn)2.1printtab(14)_format(a,”0.0000”)3同一行上可書寫多個(gè)語(yǔ)句同一行上可書寫多個(gè)語(yǔ)句

在一行上可以書寫多個(gè)語(yǔ)句,但每個(gè)語(yǔ)句間必須有冒號(hào)“:”進(jìn)行分隔。不同進(jìn)制的數(shù)據(jù)區(qū)分二進(jìn)制前面加前綴“&B”

八進(jìn)制前面加前綴“&O”

十六進(jìn)制前面加前綴“&H”

十進(jìn)制前面不需要加前綴行號(hào)與標(biāo)號(hào)

VB中一般不需要加行號(hào)或標(biāo)號(hào),但是也允許在語(yǔ)句前面加行號(hào)或標(biāo)號(hào)。2.5常用內(nèi)部函數(shù)3.5常用內(nèi)部函數(shù)函數(shù)是完成某些特定運(yùn)算的程序模塊。

VisualBasic提供的內(nèi)部函數(shù)可分為數(shù)學(xué)函數(shù)、轉(zhuǎn)換函數(shù)、字符串函數(shù)、時(shí)間/日期函數(shù)、隨機(jī)函數(shù)等五類,每個(gè)函數(shù)可帶有一個(gè)或幾個(gè)自變量(或稱參數(shù))。3.5.1數(shù)學(xué)函數(shù)說(shuō)明:在教材(教材P49表3-6

)各函數(shù)表中,以N表示數(shù)值型數(shù)據(jù),用C表示字符型數(shù)據(jù),用D表示日期型數(shù)據(jù)。函數(shù)名后的“$”符號(hào)表示函數(shù)的返回值為字符串。①①所有三角函數(shù)中,函數(shù)的參數(shù)均以弧度表示。如:計(jì)算sin60°的值,VB的語(yǔ)句是:Sin(60*3.1415926/180)不能將度數(shù)60直接代入。反三角函數(shù)也是如此。②VB未提供的函數(shù)有些可由已有的基本函數(shù)導(dǎo)出。例:反正弦函數(shù)arcsin(x)=atn(x/sqr(-x*x+1))反余弦函數(shù)arccos(x)=atn(-x/sqr(-x*x+1))+2*atn(1)

反余切函數(shù)arccotn(x)=atn(x)+2*atn(1)

以N為底的對(duì)數(shù)函數(shù)LogN(x)=Log(x)/Log(N)③符號(hào)函數(shù)③符號(hào)函數(shù)Sgn(N)有的值:N<0函數(shù)值=-1N=0函數(shù)值=0N>0函數(shù)值=1④隨機(jī)函數(shù)Rnd()及使用技巧:隨機(jī)函數(shù)Rnd()產(chǎn)生一個(gè)0-1(不包含1)之間的的單精度隨機(jī)數(shù)。每引用一次這個(gè)函數(shù),就產(chǎn)生一個(gè)相同序列的隨機(jī)數(shù).產(chǎn)生不同序列的隨機(jī)函數(shù):在調(diào)用Rnd()函數(shù)語(yǔ)句前,先使用無(wú)參的Randomize語(yǔ)句初始化隨機(jī)數(shù)生成器,本生成器具有根據(jù)系統(tǒng)計(jì)時(shí)器得到的種子。語(yǔ)句的格式為:

Randomize[number]其中number是給隨機(jī)數(shù)生成器一個(gè)新的種子值,參數(shù)number可以是任何有效的數(shù)值表達(dá)式。若省略則用系統(tǒng)計(jì)時(shí)器返回值作為新的種子。

產(chǎn)生n~m(m>n)范圍內(nèi)的隨機(jī)整數(shù)通用公式:int(rnd*(m-n+1)+n)例:產(chǎn)生0~25之間隨機(jī)數(shù)(含0、25):********

int(rnd*(25-0+1)+0)產(chǎn)生1~5之間隨機(jī)數(shù)(含1、5):

int(rnd*(5-1+1)+1)產(chǎn)生A~Z的26個(gè)大寫英文字母:

chr(int(rnd*26)+65)3.5.2數(shù)據(jù)類型轉(zhuǎn)換函數(shù)3.5.2數(shù)據(jù)類型轉(zhuǎn)換函數(shù)(教程P50表3-7)說(shuō)明:①函數(shù)Fix(N)、Int(N)的功能都是取整。參數(shù)N為正時(shí),均為略去N的小數(shù)部分取整(不是四舍五入);參數(shù)N為負(fù)時(shí),F(xiàn)ix(N)是取整,而Int(N)則取不大于N的最大整數(shù)。注:round函數(shù)是四舍五入,例:round(-4.77)結(jié)果為-5。

fix(-4.77)=-4int(-4.1)=-5②Val函數(shù)②Val函數(shù):將數(shù)字字符串轉(zhuǎn)換為相應(yīng)的數(shù)值,當(dāng)字符串中出現(xiàn)非數(shù)字字串時(shí),則停止轉(zhuǎn)換。例如:Val(“-123.45e2AB456”)結(jié)果為:-123.45③Str函數(shù)將非負(fù)數(shù)值轉(zhuǎn)換為字符串后,會(huì)在轉(zhuǎn)換后的字符串前面添加空格。例如:Str(123)的結(jié)果是“

123”而不是“123”。④VB中涉及到的數(shù)據(jù)進(jìn)制之間的轉(zhuǎn)換函數(shù)④VB中涉及到的數(shù)據(jù)進(jìn)制之間的轉(zhuǎn)換函數(shù)主要有如下幾個(gè):

Cint函數(shù):

強(qiáng)制將一個(gè)表達(dá)式轉(zhuǎn)換成-32,768

32,767的整型;

CLng函數(shù):

強(qiáng)制將一個(gè)表達(dá)式轉(zhuǎn)換成-2,147,483,648

2,147,483,647的長(zhǎng)整型;

Cdec函數(shù):

強(qiáng)制將一個(gè)表達(dá)式轉(zhuǎn)換成Decimal

數(shù)據(jù)類型;CDbl函數(shù):

強(qiáng)制將一個(gè)表達(dá)式轉(zhuǎn)換成Double

數(shù)據(jù)類型;還有其它一些類型轉(zhuǎn)換函數(shù),如CBlooCDateCStr等3.5.3字符串操作函數(shù)(教程P51表3.8)說(shuō)明:①在VB中,采用Unicode(通用字符編碼標(biāo)準(zhǔn))存儲(chǔ)和操作字符串,均采用兩字節(jié)表示一個(gè)字符的字符集,每個(gè)西文字母,每個(gè)漢字返回值均為1個(gè)字。例:Len(“123ABC你我他”)返回的值不是12而是9。②字符串長(zhǎng)度測(cè)試函數(shù)LenB,返回的是字符串的字節(jié)數(shù),而非字符串的字符的個(gè)數(shù)。例:LenB(“123ABC你我他”)返回的值不是9而是12。2.5.4日期和時(shí)間函數(shù)3.5.4日期和時(shí)間函數(shù)(教程P52表3-9)說(shuō)明:日期函數(shù)自變量“C|N”表示可以是字符串表達(dá)式也可以是數(shù)值表達(dá)式,其中的“N”表示相對(duì)于1899年12月30日前后的天數(shù)。例如:Year(1)的函數(shù)值是1899,而Year(2)的值就是1900。day(20)的函數(shù)值則是19而day(1)的值則是31因?yàn)?899年12月30日的后一天是12月31日,年份仍然是1899,而后兩天就是1900年1月1日了。2.6VisualBasic基本輸入輸出語(yǔ)句3.6VisualBasic基本輸入輸出語(yǔ)句3.6.1消息框(MsgBox函數(shù))功能:常用于在程序運(yùn)行過(guò)程中顯示一些提示性的消息,或要求用戶對(duì)某些問(wèn)題做出“是”與“否”的判斷回答或選擇。有語(yǔ)句方式和函數(shù)方式。格式:函數(shù)方式:變量=MsgBox(<提示信息>[,<對(duì)話框類型>][,<對(duì)話框標(biāo)題>])

語(yǔ)句方式:MsgBox<提示信息>[,<對(duì)話框類型>][,<對(duì)話框標(biāo)題>]說(shuō)明:⑴<提示信息>:說(shuō)明:⑴<提示信息>:必選項(xiàng),字符串或字符串表達(dá)式,顯示在消息對(duì)話框中??墒褂糜不剀嚪鹀hr(13)可以全文本換行。在對(duì)話框內(nèi)顯示的字符串(≤1024個(gè))。⑵<對(duì)話框類型>:整型表達(dá)式,由4組數(shù)值組合而成(按鈕數(shù)目、圖標(biāo)類型、默認(rèn)按鈕和模式)每一組合都由相對(duì)應(yīng)的數(shù)值相加而得(教材P50表2-10)。⑶<對(duì)話框標(biāo)題>:是一個(gè)字符串或字符串表達(dá)式,將被顯示在消息框的標(biāo)題區(qū)。⑷返回值:⑷返回值:只有函數(shù)方式有。(教材P53表3-10)⑸省略中間選項(xiàng)(對(duì)話框類型)時(shí),兩個(gè)逗號(hào)不能省略。(6)若省略了<對(duì)話框標(biāo)題>選項(xiàng),系統(tǒng)會(huì)把運(yùn)行的程序名顯示在標(biāo)題區(qū)。(7)MsgBox函數(shù)與MsgBox語(yǔ)句的區(qū)別MsgBox語(yǔ)句后面各項(xiàng)不允許加圓括號(hào),而函數(shù)必須加上圓括號(hào)。MsgBox函數(shù)有返回值,以確定按了哪個(gè)鍵并要賦給一個(gè)變量或用于輸出語(yǔ)句的輸出項(xiàng)。而語(yǔ)句方式?jīng)]有返回值。所以無(wú)法知道按下的是哪個(gè)選項(xiàng)鍵。P50表2-10,表2-11例:2-1⑹例P533-1PrivateSubForm_click()DimaAsIntegera=MsgBox("請(qǐng)你先注冊(cè)",1+16+256+0,"msgbox例子")PrintaEndSub運(yùn)行結(jié)果:若將第三行語(yǔ)句改為a=MsgBox(“請(qǐng)你先注冊(cè)”,2+32)其結(jié)果如右圖示。由第一項(xiàng)<提示信息>產(chǎn)生此兩項(xiàng)由中間項(xiàng)<對(duì)話框類型>產(chǎn)生由第三項(xiàng)<對(duì)話框標(biāo)題>產(chǎn)生將第二個(gè)按鈕“取消”設(shè)為默認(rèn)值顯示叉號(hào)顯示“確定”與“取消”兩個(gè)按鈕應(yīng)用程序強(qiáng)制返回,并一直掛起,直到用戶對(duì)消息框作出響應(yīng)才繼續(xù)工作3.6.2輸入對(duì)話框(InputBox函數(shù))功能:InputBox函數(shù)可產(chǎn)生一個(gè)對(duì)話框,作為輸入數(shù)據(jù)的界面,并返回所輸出的內(nèi)容。格式:變量=InputBox(<提示信息>[,<對(duì)話框標(biāo)題>][,<

默認(rèn)內(nèi)容>[,xpos,ypos]])說(shuō)明:⑴<提示信息>:必選項(xiàng),這是一個(gè)字符串或字子符串表達(dá)式,它將被顯示在輸入對(duì)話框中。在<提示信息>中使用硬回車符(chr(13))可以使文本換行。在對(duì)話框內(nèi)顯示的字符串(≤1024個(gè))。

⑵<對(duì)話框標(biāo)題>:是一個(gè)字符串或字符串表達(dá)式,將被顯示在消息框的標(biāo)題區(qū)。若省略此項(xiàng),系統(tǒng)會(huì)把運(yùn)行程序名顯示出來(lái)。⑶<默認(rèn)內(nèi)容>:可以指定輸入文本框的默認(rèn)文本內(nèi)容。程序運(yùn)行時(shí),如果用戶單擊“確定”按鈕,文本框中的文本字符就返回到變量中;若用戶單擊“取消”按鈕,則函數(shù)返回的是將是一個(gè)零長(zhǎng)度的字符串。⑷如果省略了某些可選項(xiàng),則必須加入相應(yīng)的逗號(hào)分隔符。例:P55例3-2PrivateSubForm_click()DimsnameAsStringsname=InputBox("請(qǐng)輸入姓名","姓名輸入","張三")Form1.PrintsnameEndSub

3.6.3Print方法1.使用Print方法

功能:此方法可以在窗體、圖片框或打印機(jī)等對(duì)象中輸出文本字符串或表達(dá)式的值。格式:[<對(duì)象名>.]Print[|spc(n)|Tab(n)|][表達(dá)式表][|,|;|]

說(shuō)明:⑴對(duì)象名可以是窗體(Form)、圖片框(PictureBox)或打印機(jī)(Print)。省略“對(duì)象名”,則在當(dāng)前窗體上輸出.⑵表達(dá)式表是一個(gè)或多個(gè)表達(dá)式,可以是數(shù)值或字符串表達(dá)式,對(duì)于數(shù)值表達(dá)式,輸出表達(dá)式的值,并且數(shù)值前面有一符號(hào)位,后邊有一空格;而字符串則照原樣輸出。如省略“表達(dá)式表”,則輸出一個(gè)空行。⑶當(dāng)輸出為多個(gè)表達(dá)式值時(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論