第3章數(shù)據(jù)類型、常量、變量及表達(dá)式_第1頁
第3章數(shù)據(jù)類型、常量、變量及表達(dá)式_第2頁
第3章數(shù)據(jù)類型、常量、變量及表達(dá)式_第3頁
第3章數(shù)據(jù)類型、常量、變量及表達(dá)式_第4頁
第3章數(shù)據(jù)類型、常量、變量及表達(dá)式_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第三章第三章 數(shù)據(jù)類型、常量、變量及表達(dá)式數(shù)據(jù)類型、常量、變量及表達(dá)式 本章內(nèi)容及要求:本章內(nèi)容及要求:1 熟悉熟悉VBVB程序中代碼和語句書寫規(guī)則;程序中代碼和語句書寫規(guī)則;2 掌握掌握VBVB的數(shù)據(jù)類型;的數(shù)據(jù)類型;3 掌握掌握VB的的 運(yùn)算符和表達(dá)式的使用;運(yùn)算符和表達(dá)式的使用;4 掌握常用內(nèi)部函數(shù)的使用;掌握常用內(nèi)部函數(shù)的使用;本章重點(diǎn):本章重點(diǎn): 變量和常量的定義及使用變量和常量的定義及使用、運(yùn)算符和表達(dá)式的運(yùn)算符和表達(dá)式的使用及常用內(nèi)部函數(shù)的使用。使用及常用內(nèi)部函數(shù)的使用。本章難點(diǎn):本章難點(diǎn): 數(shù)據(jù)類型、內(nèi)部函數(shù)。數(shù)據(jù)類型、內(nèi)部函數(shù)。3.1 VB語言字符集及編碼規(guī)則語言字符集及編碼

2、規(guī)則 一、一、VB的字符集的字符集 l字母:大寫英文字母AZ;小寫英文字母az。l數(shù)字:0一9;l 專用字符:共27個(gè), 二、編碼規(guī)則與約定二、編碼規(guī)則與約定 (一)、編碼規(guī)則(一)、編碼規(guī)則1VB代碼中不區(qū)分字母的大小寫。2在同一行上可以書寫多條語句,但語句間要用冒號(hào)“:”分隔。3若一個(gè)語句行不能寫下全部語句,或在特別需要時(shí),可以換行。換行時(shí)需在本行后加入續(xù)行符,1個(gè)空格加下劃線“_”。4一行最多允許255個(gè)字符。5注釋以Rem開頭,也可以使用單引號(hào)“”,注釋內(nèi)容可直接出現(xiàn)在語句的后面。6在程序轉(zhuǎn)向時(shí)需用到標(biāo)號(hào),標(biāo)號(hào)是以字母開始而以冒號(hào)結(jié)束的字符串。(二)、(二)、 約定約定1為了提高程序的

3、可讀性,對(duì)于VB中的關(guān)鍵字其首字母大寫,其余字母小寫2.注釋有利于程序的維護(hù)和調(diào)試Rem開始或單撇。例如:ThisisaVBREMThisisaVB在6.0中新增了“塊注釋/取消塊注釋”3通常不使用行號(hào)4對(duì)象名命名約定:每個(gè)對(duì)象的名字由3個(gè)小寫字母組成的前綴(指明對(duì)象的類型)和表示該對(duì)象作用的縮寫字母組成。3.2 數(shù)據(jù)類型數(shù)據(jù)類型一一.標(biāo)準(zhǔn)數(shù)據(jù)類型標(biāo)準(zhǔn)數(shù)據(jù)類型二、自定義類型二、自定義類型 在模塊級(jí)別中使用,用于定義包含一個(gè)或多個(gè)元素的用在模塊級(jí)別中使用,用于定義包含一個(gè)或多個(gè)元素的用戶自定義的數(shù)據(jù)類型。戶自定義的數(shù)據(jù)類型。 使用形式:使用形式: Type 自定義類型名自定義類型名 元素名元素名

4、 (下標(biāo)下標(biāo)) As 類型名類型名 元素名元素名 (下標(biāo)下標(biāo)) As 類型名類型名 . . . End Type說明說明 TypeStudentXhAsStringXmAsStringXbAsStringNlAsIntegerScoreAsSingleEndType例如:對(duì)于一個(gè)學(xué)生的“學(xué)號(hào)”、“姓名”、“性別”、“年齡”、“入學(xué)成績(jī)”等數(shù)據(jù),為了處理數(shù)據(jù)的方便,常常需要把這些數(shù)據(jù)定義成一個(gè)新的數(shù)據(jù)類型(如Student類型)。3.3 常量和變量3.3.1 常常 量量在程序運(yùn)行過程中,其值不能被改變的量稱為常量。在VB中有三類常量:普通常量符號(hào)常量系統(tǒng)常量。一、普通常量 1 整型常量整型常量(

5、1)整型(Integer):表示-32768至32767之間的整數(shù)例如:1011020(2)長(zhǎng)整型(Long):表示-2,147,483,648至2,147,483,647之間的整數(shù)例如:長(zhǎng)整型常數(shù)的書寫:23&通常我們說的整型常量指的是十進(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表示

6、十六進(jìn)制整數(shù)25,即(25)16,等于十進(jìn)制數(shù)37。VB中的顏色數(shù)據(jù)常常用十六進(jìn)制整數(shù)表示。2、實(shí)數(shù)、實(shí)數(shù)1)單精度實(shí)型(Single):有效數(shù)為7位表示-3.37E+38至3.37E+38之間的實(shí)數(shù)2)雙精度實(shí)型(Double):有效數(shù)為15位常量的表示:常量的表示:1)十進(jìn)制小數(shù)形式。它是由正負(fù)號(hào)(+,-)、數(shù)字(09)和小數(shù)點(diǎn)(.)或類型符號(hào)(!、#)組成,即n.n,n!或n#,其中n是09的數(shù)字。例如0.123、.123、123.0、123!、123#等都是十進(jìn)制小數(shù)形式。2)指數(shù)形式。nEm或n.nEm,nDm或n.nDm例:1.25E+3和1.25D+3相當(dāng)于1250.0或者1.2

7、5103。 3、字符串常量字符串常量在VB中字符串常量是用雙引號(hào)“”括起的一串字符,例如ABC,abcdefg,123,0,VB程序設(shè)計(jì)等。說明:(1)字符串中的字符可以是所有西文字符和漢字、標(biāo)點(diǎn)符號(hào)等;(2)表示空字符串,而表示有一個(gè)空格的字符串;(3)若字符串中有雙引號(hào),例如ABDXYZ,則用連續(xù)兩個(gè)雙引號(hào)表示,即:ABDXYZ“4、邏輯(、邏輯(Boolean)數(shù)據(jù)類型)數(shù)據(jù)類型只有兩個(gè)值True,或False。將邏輯數(shù)據(jù)轉(zhuǎn)換成整型時(shí):True為-1,F(xiàn)alse為0;其它數(shù)據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時(shí):非0為True,0為False。 5、日期常量、日期常量日期(Date)型數(shù)據(jù)按8字節(jié)的浮點(diǎn)數(shù)來

8、存儲(chǔ),表示日期范圍從公元100年1月1日9999年12月31日,而時(shí)間范圍從0:00:0023:59:59。一種在字面上可被認(rèn)作日期和時(shí)間的字符,只要用號(hào)碼符“#”括起來,都可以作為日期型數(shù)值常量。例:#09/02/99#、#January4,1989#,#2002-5-414:30:00PM#都是合法的日期型常量。說明:當(dāng)以數(shù)值表示日期數(shù)據(jù)時(shí),整數(shù)部分代表日期,而小數(shù)部分代表時(shí)間;例如1表示1899年12月31日。大于1的整數(shù)表示該日期以后的日期,0和小于0的整數(shù)表示該日期以前的日期。 二、符號(hào)常量二、符號(hào)常量 在程序中,某個(gè)常量多次被使用,則可以使用一個(gè)符號(hào)來代替該常量,這樣不僅在書寫上方

9、便,而且有效地改進(jìn)了程序的可讀性和可維護(hù)性。VB中使用關(guān)鍵字Const聲明符號(hào)常量。其格式如下:Const 常量名常量名 As 類型類型|類型符號(hào)類型符號(hào)=常數(shù)表達(dá)式常數(shù)表達(dá)式例如: Const PI#=3.1415926535 等價(jià)于:ConstPIAsDouble=3.1415926535三、系統(tǒng)常量三、系統(tǒng)常量VB系統(tǒng)提供了應(yīng)用程序和控件的系統(tǒng)定義常數(shù)。它們存放于系統(tǒng)的對(duì)象庫中,在“對(duì)象瀏覽器”中的VisualBasic(VB)和VisualBasicforapplications(VBA)對(duì)象庫中列舉了VisualBasic的常數(shù)例如,要將文本框Text1的前景顏色設(shè)置為紅色,可以使用

10、下面的語句:Text1.ForeColor=vbRed這里的vbRed就是系統(tǒng)常量。這比直接使用16進(jìn)制數(shù)來設(shè)置要直觀得多。又如,窗口狀態(tài)屬性WindowsState可取0,1,2三個(gè)值,對(duì)應(yīng)三種不同狀態(tài)(參見第二章表2-2所示)。在程序中使用語句Myform.WindowsState=vbMaxmized,將窗口極大化,顯然要比使用語句Myform.WindowsState=2易于閱讀和理解。一.變量的命名規(guī)則 1. 以字母或漢字開頭以字母或漢字開頭,后可跟字母、數(shù)字或下劃線組成,后可跟字母、數(shù)字或下劃線組成. 2. 不能使用不能使用VB中的關(guān)鍵字;中的關(guān)鍵字; 3. VB中不區(qū)分變量名的大

11、小寫中不區(qū)分變量名的大小寫. 4. 為了增加程序的可讀性,可在變量名前加一個(gè)縮寫的前為了增加程序的可讀性,可在變量名前加一個(gè)縮寫的前綴來表明該變量的數(shù)據(jù)類型。綴來表明該變量的數(shù)據(jù)類型。 例如:例如:strAbc, (字符串變量)(字符串變量) iCount, (整型變量)(整型變量) dblx, (雙精度變量)(雙精度變量) sYz (單精度變量)(單精度變量)3.3.2 變變 量量 二二.變量聲明變量聲明 1.用Dim語句顯式聲明變量形式:Dim變量名AS類型Dim變量名類型符例 DimiCountAsinteger,sumAssingle等價(jià)于DimiCount%,sum!2.隱式聲明Vi

12、sualBasic允許用戶在編寫應(yīng)用程序時(shí),不聲明變量而直接使用,系統(tǒng)臨時(shí)為新變量分配存儲(chǔ)空間并使用,這就是隱式聲明。所有隱式聲明的變量都是Variant數(shù)據(jù)類型。VisualBasic根據(jù)程序中賦予變量的值來自動(dòng)調(diào)整變量的類型。例如: 下面是一個(gè)很簡(jiǎn)單的程序,其使用的變量下面是一個(gè)很簡(jiǎn)單的程序,其使用的變量a, b, Suma, b, Sum都都沒有事先定義。沒有事先定義。Private Sub Form_Click()Sum = 0a = 10: b = 20Sum = a + bPrint Sum=; SumEnd Sub3強(qiáng)制顯式聲明強(qiáng)制顯式聲明Option Explicit語句語句良

13、好的編程習(xí)慣都應(yīng)該是“先聲明變量,后使用變量”,這樣做可以提高程序的效率,同時(shí)也使程序易于調(diào)試。VisualBasic中可以強(qiáng)制顯式聲明,可以在窗體模塊、標(biāo)準(zhǔn)模塊和類模塊的通用聲明段中加入語句:Option Explicit3.4 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式一一. 運(yùn)運(yùn)算符算符1. 算術(shù)運(yùn)算符算術(shù)運(yùn)算符例:例:5+10 mod 10 9 / 3 +2 2 結(jié)果是:結(jié)果是:10(ia=3)2.字符串運(yùn)算符與字符串表達(dá)式 字符串運(yùn)算符有:、+。功能是字符串連接例如:ABCD+EFGHI結(jié)果為:ABCDEFGHI“VB”&“程序設(shè)計(jì)教程”結(jié)果為:VB程序設(shè)計(jì)教程說明:當(dāng)連接符兩旁的操作量都

14、為字符串時(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)行連接操作。例:例:100 + 123 100 + 123 結(jié)果為結(jié)果為 223223100 + 123 100 + 123 結(jié)果為結(jié)果為 100123100123 AbcAbc + 123 + 123 出錯(cuò)出錯(cuò) 100 & 123 100 & 123 結(jié)果為結(jié)果為 100123100123 100 & 123 100 & 123 結(jié)果為結(jié)果為 10012310012

15、3 AbcAbc & 123 & 123 結(jié)果為結(jié)果為 Abc123Abc123 Abc Abc & 123 & 123 結(jié)果為結(jié)果為 Abc123Abc123注意:使用運(yùn)算符“&”時(shí),變量與運(yùn)算符“&”之間應(yīng)加一個(gè)空格。這是因?yàn)榉?hào)“&”還是長(zhǎng)整型的類型定義符,如果變量與符號(hào)“&”接在一起,VB系統(tǒng)先把它作為類型定義符處理,因而就會(huì)出現(xiàn)語法錯(cuò)誤。3.4.3關(guān)系運(yùn)算符與關(guān)系表達(dá)式 關(guān)系運(yùn)算符都是雙目運(yùn)算,是用來比較兩個(gè)運(yùn)算量之間的關(guān)系,關(guān)系表達(dá)式的運(yùn)算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為True,若關(guān)系不成立,結(jié)果為False。VB中

16、的關(guān)系運(yùn)算符如下表所示。運(yùn)算符含義優(yōu)先級(jí)實(shí)例結(jié)果小于所有關(guān)系運(yùn)算優(yōu)先級(jí)相同。低于算術(shù)運(yùn)算的加“+”,減“-”運(yùn)算,高于邏輯非“Not”運(yùn)算。15+1020False=小于或等于10大于1020False=大于或等于This=ThatTrue=等于This=ThatFalse不等于ThisThatTrueLike字符串匹配ThisLike*isTrueIs對(duì)象比較關(guān)系運(yùn)算的規(guī)則如下:關(guān)系運(yùn)算的規(guī)則如下:(1)當(dāng)兩個(gè)操作式均為數(shù)值型,按數(shù)值大小比較。(2)字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止.。例:ABCDEABRA結(jié)果為False (3)數(shù)值型與可轉(zhuǎn)換為數(shù)

17、值型的數(shù)據(jù)比較,如:29189,按數(shù)值比較,結(jié)果為False。(4)數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較,如:77sdcd,不能比較,系統(tǒng)出錯(cuò)。(5)“Like”運(yùn)算符是VB6.0新增加的。其使用格式為:str1Likestr23.4.4邏輯運(yùn)算符與邏輯表達(dá)式 Not 邏輯非為單目運(yùn)算符(要求一個(gè)操作數(shù)),其它為雙邏輯非為單目運(yùn)算符(要求一個(gè)操作數(shù)),其它為雙目運(yùn)算符。目運(yùn)算符。條件表達(dá)式條件表達(dá)式1 And 條件表達(dá)式條件表達(dá)式2 條件表達(dá)式均為條件表達(dá)式均為T 結(jié)果為結(jié)果為T 條件表達(dá)式條件表達(dá)式1 Or 條件表達(dá)式條件表達(dá)式2 條件表達(dá)式有一個(gè)條件表達(dá)式有一個(gè)T 結(jié)果為結(jié)果為T說明:說明

18、:(1)邏輯運(yùn)算符的優(yōu)先級(jí)不相同,Not(邏輯非)最高,但它低于關(guān)系運(yùn)算,Imp(邏輯蘊(yùn)含)最低。(2)VB中常用的邏輯運(yùn)算符是Not、And和Or。它們用于將多個(gè)關(guān)系表達(dá)式進(jìn)行邏輯判斷。例如,數(shù)學(xué)上表示某個(gè)數(shù)在某個(gè)區(qū)域時(shí)用表達(dá)式:10X=10AndX=字符運(yùn)算符字符運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算邏輯運(yùn)算 說明:說明:1當(dāng)一個(gè)表達(dá)式中出現(xiàn)多種運(yùn)算符時(shí),首先進(jìn)行算術(shù)運(yùn)算符,接著處理字符串連接運(yùn)算符,然后處理比較運(yùn)算符,最后處理邏輯運(yùn)算符,在各類運(yùn)算中再按照相應(yīng)的優(yōu)先次序進(jìn)行。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)到外

19、。. 表達(dá)式的書寫中需注意的問題表達(dá)式的書寫中需注意的問題(1)運(yùn)算符不能相鄰。例a+*b是錯(cuò)誤的。(2)乘號(hào)不能省略。例x乘以y應(yīng)寫成:x*y(3)括號(hào)必須成對(duì)出現(xiàn),均使用圓括號(hào)。(4)表達(dá)式從左到右在同一基準(zhǔn)并排書寫,不能出現(xiàn)上下標(biāo)(5)要注意各種運(yùn)算符的優(yōu)先級(jí)別,為保持運(yùn)算順序,在寫表達(dá)式時(shí)需要適當(dāng)添加括號(hào)(),若用到庫函數(shù)必須按庫函要求書寫。如:(b-sqr(b*b-4*a*c)/(2*a)(a+b)/(a-b) aacbb242babaVB提供了上百種內(nèi)部函數(shù)(庫函數(shù)),要求掌握這些常用函數(shù)的功能及使用。調(diào)用方法:函數(shù)名(參數(shù)列表)有參函數(shù)函數(shù)名無參函數(shù)說明:(1)使用庫函數(shù)要注意參

20、數(shù)的個(gè)數(shù)及其參數(shù)的數(shù)據(jù)類型(2)要注意函數(shù)的定義域(自變量或參數(shù)的取值范圍)例如:sqr(x)要求:x=0(3)要注意函數(shù)的值域。如:exp(23773)的值就超出實(shí)數(shù)在計(jì)算機(jī)中的表示范圍。3.5 常用內(nèi)部函數(shù)常用內(nèi)部函數(shù) 1.數(shù)學(xué)函數(shù) 常用的數(shù)學(xué)函數(shù)見表常用的數(shù)學(xué)函數(shù)見表3-8所示所示 Abs(N) Cos(N) Sin(N) Exp(N) Log(N) Sqr(N) Rnd(N) Sgn(N) 說明:說明: (1) 在三角函數(shù)中的自變量是以弧度為單位。在三角函數(shù)中的自變量是以弧度為單位。 如:如:sin300 sin(3.14159/180*30) (2) Rnd函數(shù)返回函數(shù)返回0 1(包

21、括(包括0和不包括和不包括1)之間的雙精度隨機(jī))之間的雙精度隨機(jī)數(shù)。數(shù)。 若要產(chǎn)生若要產(chǎn)生1-100的隨機(jī)整數(shù):的隨機(jī)整數(shù): Int(Rnd *100)+1 提問:怎樣產(chǎn)生提問:怎樣產(chǎn)生N,M區(qū)間的隨機(jī)數(shù)?區(qū)間的隨機(jī)數(shù)? 2.轉(zhuǎn)換函數(shù) 常用的轉(zhuǎn)換函數(shù)見表3-9所示說明:(1)要區(qū)別兩個(gè)取整函數(shù)int()和fix()Fix(N)為截?cái)嗳≌?,即去掉小?shù)后的數(shù)。Int(N)不大于N的最大整數(shù)。N0與int(N)相同,當(dāng)N0時(shí),int(N)與fix(N)-1相等。例如:Fix(9.59)=9,Int(9.59)=9Fix(-9.59)=-9,Int(-9.59)=-10思考:如何實(shí)現(xiàn)四舍五入取整?(2)Asc(Abcd)值為:65(只取首字母的Ascii值)(3)Val(abc123)值為:0,Val(1.2sa10)值為1.2注意:Val()函數(shù)只將最前面的數(shù)字字符轉(zhuǎn)換為數(shù)值。3.字符串操作函數(shù) 常用的字符串函數(shù)見表常用的字符串函數(shù)見表3-10 說明:說明: 如果返回是字符型,則函數(shù)后有如果返回是字符型,則函數(shù)后有“$”字符。當(dāng)然一般也字符。當(dāng)然一般也可以不寫,習(xí)慣都寫上??梢圆粚?,習(xí)慣都寫上。例如: len(This is a book!) 15 Left$(ABCDEFG,3) ABC Mid$(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論