學(xué)業(yè)大一課件章程序設(shè)計基礎(chǔ)_第1頁
學(xué)業(yè)大一課件章程序設(shè)計基礎(chǔ)_第2頁
學(xué)業(yè)大一課件章程序設(shè)計基礎(chǔ)_第3頁
學(xué)業(yè)大一課件章程序設(shè)計基礎(chǔ)_第4頁
學(xué)業(yè)大一課件章程序設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2006年3月1第2章程序設(shè)計基礎(chǔ)2.1如何學(xué)習(xí)VB2.2數(shù)據(jù)類型2.3Print語句2.4運(yùn)算符、表達(dá)式、內(nèi)部函數(shù)2006年3月2如何學(xué)習(xí)VB掌握語法(即規(guī)則):運(yùn)用屬性、方法和過程看懂程序掌握基本的算法模仿編程獨(dú)立完成編程(實(shí)驗(yàn)的重要性)編程:語法+算法+數(shù)據(jù)結(jié)構(gòu)2006年3月3VB語法簡介程序一般一行寫一條語句。每行可以寫多條語句,語句之間用冒號(:)分開。一條語句可以分成多行書寫,在上行的最后加入下劃線(_)表示下行是續(xù)行。除引號內(nèi)的內(nèi)容外,所有引號外的關(guān)鍵字、變量、函數(shù)、屬性、方法等都大小寫無關(guān),關(guān)鍵字、變量等之間要用空格(多個空格是可以的)隔開,但標(biāo)點(diǎn)符號前后空格可省略(唯一例外:&前若是變量,要用空格隔開)。光標(biāo)離開本行后,系統(tǒng)會自動轉(zhuǎn)換成標(biāo)準(zhǔn)格式,關(guān)鍵字一般都會轉(zhuǎn)換成首字母大寫格式。字符串(或叫字符型常量)中的大小寫及空格多少均是不同的。單引號(')表明注釋的開始,后面的內(nèi)容計算機(jī)忽略,主要是給人看的。特殊用途:臨時去掉部分語句。2006年3月4語法描述符號及含義為了描述清楚語法格式,教材及文檔中一般都用特殊的格式描述語法格式:

“<>”內(nèi)為必選參數(shù)項(xiàng),用具體內(nèi)容代替

“[]”為可選參數(shù)項(xiàng),可有可沒有

“{}”和“|”,包含多中取一的各項(xiàng),豎線分隔多個選擇項(xiàng),必須選擇其中之一

“...”表示同類項(xiàng)目的重復(fù)出現(xiàn)注意:在書寫具體的命令時,不能出現(xiàn)這些語法描述符號。本教案課件,可能不嚴(yán)格按此格式書寫,中文肯定不是關(guān)鍵字,代表相應(yīng)內(nèi)容。2006年3月52.2數(shù)據(jù)類型、常量與變量數(shù)據(jù)類型:數(shù)據(jù)是程序的必要組成部分,也是程序處理的對象。VB6.0的常用數(shù)據(jù)類型:數(shù)值型:字節(jié)型、整型、長整型、貨幣型、單精度、雙精度字符型:變長字符串、定長字符串邏輯型、日期型、對象型、變體型最常用、重要類型:整型、字符型(變長)2006年3月62006年3月72.2.2數(shù)據(jù)的存儲格式Byte:1字節(jié),取值范圍:0-255Integer:2字節(jié),-32768至32767Long:4字節(jié),-2147483648至2147483647Single:4字節(jié),近似表示,6位精度,可以用科學(xué)記數(shù)法表示Double:8字節(jié),近似表示,16位精度,可以用科學(xué)記數(shù)法表示Currency:8字節(jié),精確表示,小數(shù)4位,一般用于表示貨幣金額Date:8字節(jié),包括年月日時分秒Boolean:2字節(jié),只有真、假2個值:True/False(也有叫布爾型的)String:每個字兩字節(jié)(包括字符與漢字)2006年3月82.2.3常量

常量是直接寫在程序中的數(shù)據(jù),常量的類型由它們的書寫格式?jīng)Q定。常量分?jǐn)?shù)值型、字符型、邏輯性、日期型等2006年3月9數(shù)值常量VB中的整型數(shù)、長整型數(shù)、單精度浮點(diǎn)數(shù)、雙精度浮點(diǎn)數(shù)、貨幣型數(shù)、字節(jié)型數(shù)又統(tǒng)稱為數(shù)值型數(shù)據(jù)數(shù)值型常量的格式:直接按數(shù)學(xué)方式書寫,包括符號、數(shù)字、小數(shù)點(diǎn)也可以用科學(xué)計數(shù)法表示:如1.2E15VB中的常量一般采用十進(jìn)制數(shù),但有時也使用十六進(jìn)制數(shù)(數(shù)值前加前綴&h)或八進(jìn)制數(shù)(數(shù)值前加前綴&o)。2006年3月10數(shù)值型數(shù)據(jù)的注意事項(xiàng)如果數(shù)據(jù)包含小數(shù),則應(yīng)使用Single、Double或Currency類型。在VB中,數(shù)值類型數(shù)據(jù)都有一個有效的取值范圍,程序中的數(shù)如果超出這個范圍,就會出現(xiàn)“溢出”(Overflow)錯誤。數(shù)后面加類型符,可以強(qiáng)制成某一類型:如12&為長整型2006年3月11日期常量日期常量用來表示日期和時間,VB可以表示多種格式的日期和時間,輸出格式由Windows設(shè)置的格式?jīng)Q定。日期數(shù)據(jù)用兩個“#”把表示日期和時間的值括起來,如:#08/18/2001#

#2001/08/1808:10:38AM#,等等。可以表示純?nèi)掌诨虮硎救掌跁r間。2006年3月12字符串常量

字符串常量是用雙引號括起來的一串字符。可以是任何合法字符,如:"VB"、"123+345","張三"等等。字符串中的雙引號用連續(xù)的兩個雙引號表示,如"a""b"表示a"b三個字符。特殊字符,若無法表示成常量,則可用函數(shù)Chr表示,如Chr(13)表示回車。2006年3月13邏輯常量邏輯常量只有兩個值:真(True)和假(False)。當(dāng)把數(shù)值常量轉(zhuǎn)換為邏輯型(即Boolean)時,0轉(zhuǎn)換為False,非0值轉(zhuǎn)換為True;當(dāng)把邏輯型常量轉(zhuǎn)換為數(shù)值時,F(xiàn)alse轉(zhuǎn)換為0,True轉(zhuǎn)換為-1。2006年3月14符號常量定義格式:Const<符號常量名>=<常量>

如:Constpi=3.1415926若多次使用,可定義后使用,免得要修改時,遺漏而產(chǎn)生不一致。細(xì)系統(tǒng)已經(jīng)預(yù)設(shè)了若干常量,可直接使用。如vbCrLf代表回車換行、vbRed代表紅色。VB的預(yù)設(shè)常量一般都以vb開頭。2006年3月15變量的命名規(guī)則:由首字符為英文字母或漢字、不超過255個字符的字母、數(shù)字、下劃線符組成。不能使用VB的關(guān)鍵字作為變量名。關(guān)鍵字是指VB系統(tǒng)中已經(jīng)定義的詞,如語句、函數(shù)、運(yùn)算符的名稱等,如Print、If等都不能用作變量名。VB的屬性、事件、方法名不屬于關(guān)鍵字,理論上變量名可與之相同,但最好不用,以免混淆。函數(shù)名若聲明成變量,也能用,但該函數(shù)就無法使用了。書寫窗體屬性時,窗體名可省略,故而直接寫屬性名,就代表窗體屬性了。2.2.4變量2006年3月162.2.4變量(續(xù))變量名不能與過程名或符號常量名相同。VB不區(qū)分變量名的大小寫。即大小寫是一樣的,如X1與x1是同一變量。系統(tǒng)會把所有相同變量轉(zhuǎn)變成Dim語句定義的大小寫,若沒定義,則每次改變大小寫,都會改變所有。變量取名盡量做到“見名知義”,以提高程序的可讀性。如cName、nCount、txtName等,既能看出變量的含義,還可知道變量的類型。2006年3月17變量聲明格式:DIM變量[As類型]其中類型有:Integer/Long/Byte/Single/String/Date等。也可以直接在變量后加上類型符號,代替“As類型”(但部分類型并無類型符號)如:DimX%等價于DimXAsInteger沒有寫As類型的為變體型(可保存任何類型)一個Dim可定義多個變量,用逗號隔開,但不能多個變量后總的寫一個As類型:Dimm,nAsInteger定義的m是變體的,n才是整型2006年3月18變量聲明(續(xù))一個變量如沒有聲明,則VB將其作為變體類型變量。變量的初始值為0(數(shù)值型)、""(字符型,即空)、False(邏輯型)

好的程序設(shè)計風(fēng)格是聲明每一個變量的類型,一方面可以提高程序的可讀性,另一方面,可避免采用變體數(shù)值類型數(shù)據(jù),以減少程序運(yùn)行時的內(nèi)存開銷。實(shí)現(xiàn)強(qiáng)制聲明:在程序最前面(通用對象的聲明部分)加入OptionExplicit,那么所有未聲明的變量將會出錯??梢詼p少程序出錯的機(jī)會。2006年3月19變量的作用域模塊級變量:在通用對象的聲明部分(即所有Sub的最前面)聲明的變量,為模塊級變量,有效范圍是整個模塊(窗體),即在整個窗體中,與聲明相同的變量,屬于同一個變量。局部變量:在過程中(即Sub-EndSub之間)定義的為局部變量,只有此過程內(nèi)有效。2006年3月20變量作用域例DimsMystringasString'模塊級變量PrivateSubForm_Load() DimsasString '局部變量

sMystring="歡迎使用VB6.0"EndSubPrivateSubForm_Click() DimSasstring ’局部變量

PrintsMystring,sEndSub2006年3月21Print語句輸入Print時可以用?代替,以加快輸入速度Print既可以說是語句(直接使用,輸出在當(dāng)前窗體),也可以當(dāng)方法使用(前面跟對象名,則輸出到該對象中)支持Print方法的對象有:窗體(Form)、圖片框(PictureBox)或打印機(jī)(Printer)該語句格式為:

[<對象名稱>.]Print[<輸出項(xiàng)>[[{,|;}][<輸出項(xiàng)>]]...]2006年3月22Print的輸出格式輸出項(xiàng)之間的分隔符“,”為分段格式,“;”為緊湊格式。VB將一行分為若干段,每14列為1段,若兩個輸出項(xiàng)之間用逗號間隔,則第2個數(shù)據(jù)項(xiàng)的輸出位置從下一段開始;若兩個輸出項(xiàng)之間用分號間隔,則第2個數(shù)據(jù)以“緊湊”格式輸出。語句末尾為分隔符“,”或“;”,則該語句最后的輸出位置為下一條print語句輸出的起始位置。2006年3月23Print的輸出格式(續(xù))

若省略輸出項(xiàng)(即空Print語句),則輸出一空行。無論是分段格式還是緊湊格式,數(shù)值數(shù)據(jù)輸出后都會尾隨一個空格,輸出正數(shù)時正號不顯示、輸出一個空格。字符串?dāng)?shù)據(jù)原樣顯示引號內(nèi)的內(nèi)容,邏輯類型數(shù)據(jù)直接輸出True或False。2006年3月24例Print語句的輸出格式PrivateSubCommand1_Click()

Print-123,888,-456,3.14,

Print123;888;-456;3.14

Print"123";"888";"abc";True

PrintSpace(30);123,888;-456;3.14

Print

Print123,888,-456,3.14EndSub2006年3月252.3.3賦值語句格式:<變量名>=<表達(dá)式>

<控件名>.<屬性名>=<表達(dá)式>功能:計算等號右邊的表達(dá)式值,并轉(zhuǎn)換為相同類型數(shù)據(jù)后保存到變量左邊的變量或控件屬性中。即右邊的值賦值到左邊的變量中。2006年3月26賦值語句說明為數(shù)值變量賦值時,表達(dá)式的值不得超過數(shù)值變量的數(shù)值范圍,否則顯示錯誤信息。值為浮點(diǎn)類型的表達(dá)式四舍五入后向整型變量賦值。賦值時若類型不對,會自動轉(zhuǎn)換成變量的類型。所以任何類型都可賦值給字符型。賦值號不是數(shù)學(xué)中的等號(思考a=a+1的意思)例:編寫一個實(shí)現(xiàn)兩個變量值交換的程序。2006年3月27表達(dá)式:用運(yùn)算符把常量、變量(包括數(shù)組元素、對象屬性)、函數(shù)(包括有返回值的對象方法)進(jìn)行連接運(yùn)算的式子。不管如何復(fù)雜,表達(dá)式的結(jié)果有且只有一個值。2.4運(yùn)算符、表達(dá)式、函數(shù)2006年3月282.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式⒈按優(yōu)先級順序的算術(shù)運(yùn)算符如下乘方:^負(fù)號:-乘除:*/整除、取模(余):\Mod加減:+-

乘、除和加、減分別為同級運(yùn)算符,同級運(yùn)算從左向右進(jìn)行。在表達(dá)式中加括號可以改變表達(dá)式的求值順序。(與數(shù)學(xué)規(guī)則類似)2006年3月29運(yùn)算符說明不能省略運(yùn)算符:3xy應(yīng)寫成:3*x*y小括號改變優(yōu)先級(只有一種括號),可嵌套加、減、乘運(yùn)算會自動轉(zhuǎn)換成精度最高的進(jìn)行運(yùn)算20000:溢出錯誤,40000已經(jīng)整型溢出40000:不溢出,40000已經(jīng)是長整型了20000&:不溢出,20000&已經(jīng)是長整型了當(dāng)邏輯型參加算術(shù)運(yùn)算時,True轉(zhuǎn)換為數(shù)值-1,F(xiàn)alse轉(zhuǎn)換為數(shù)值0;反之,數(shù)值型用作邏輯型的場合時,把0轉(zhuǎn)換為False,非0轉(zhuǎn)換為True。如:表達(dá)式123+True的結(jié)果為1222006年3月301/(1+1/(1+x))-(a*a+b*b*b)*y^4(a^(b^c)+b^0.5)*(a-b)^0.5算術(shù)表達(dá)式例2006年3月312.4.2字符串運(yùn)算符與表達(dá)式

字符串運(yùn)算符有兩個:“+”和“&”,均為雙目運(yùn)算符、用于連接兩邊的字符串表達(dá)式。字符串連接符“&”具有自動將非字符串類型的數(shù)據(jù)轉(zhuǎn)換成字符串后再進(jìn)行連接的功能,而“+”則不能。所以盡量用&&、+

字符串連接區(qū)別:+

兩邊必須是字符串,&

可以不是。2006年3月32字符運(yùn)算例例如:"123"+"456" 結(jié)果"123456""123"&"456" 結(jié)果"123456""abc"&123 結(jié)果為"abc123"

“abc”

+123 出錯,“類型不匹配”

"123"&456結(jié)果為"123456""123"+456結(jié)果為5792006年3月332.4.3關(guān)系運(yùn)算符與邏輯表達(dá)式關(guān)系運(yùn)算符也稱為比較運(yùn)算符,包括六種雙目運(yùn)算符,用于比較兩邊的表達(dá)式是否滿足條件。運(yùn)算結(jié)果為邏輯型,即True或False:<小于 <=小于等于 =等于

>=大于等于 >大于 <>不等于大小比較原則:數(shù)值型大小按數(shù)學(xué)大小比較:正數(shù)>0>負(fù)數(shù)日期型數(shù)據(jù)晚比早大:明天>今天,今天晚上>今天上午字符型數(shù)據(jù)比較一般按字符的ASCII碼大小比較2006年3月34熟悉部分ASCII碼換行(10),回車(13),空格(32),數(shù)字0-9(48-57),大寫A-Z(65-90),小寫a-z(97-122)字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止.。例:"ABCDE">"ABRA" 結(jié)果為

False

漢字大小比較比較麻煩,不需要掌握2006年3月352.4.4邏輯運(yùn)算符與邏輯表達(dá)式常用的邏輯(布爾)運(yùn)算符有三種2006年3月36abNotaAandbAorb真真假真真真假假假真假真真假真假假真假假邏輯運(yùn)算符真值表2006年3月37邏輯與算術(shù)運(yùn)算的優(yōu)先級邏輯運(yùn)算符的優(yōu)先級是:先Not,次And,后Or。算術(shù)運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符的優(yōu)先級關(guān)系為:算術(shù)運(yùn)算符→關(guān)系運(yùn)算符→邏輯運(yùn)算符。關(guān)系表達(dá)式的值為False或True,因此也是邏輯表達(dá)式;邏輯表達(dá)式用邏輯運(yùn)算符正確地連接后也是邏輯表達(dá)式。2006年3月382.4.5常用內(nèi)部函數(shù)VB的內(nèi)部函數(shù)是系統(tǒng)預(yù)定義函數(shù),可由用戶直接調(diào)用。VB函數(shù)的自變量(或叫參數(shù))必須用括號括起來(VB中無參數(shù)的函數(shù),可省略括弧,如Rnd/Time等)函數(shù)的參數(shù)必須滿足一定的類型、取值范圍及參數(shù)個數(shù)要求。函數(shù)一定有一個返回值2006年3月39

1.?dāng)?shù)學(xué)函數(shù)三角函數(shù):Sin(x)、Cos(x)、正切函數(shù)Tan(x),反正切函數(shù)Atn(x)----自變量的單位是弧度

Abs(x)絕對值Exp(x)exLog(x)logexSgn(x)符號,正為1,負(fù)為-1,0位0Sqr(x)開平方Int(x)

取整,向下取整,結(jié)果<=xFix(x)

取整,直接去掉小數(shù)(負(fù)向上,正向下)2006年3月402.字符串函數(shù)Ltrim(x)/Rtrim(x)/Trim(x)

去掉左/右/兩邊空格Left(x,n)、Right(x,n)、Mid(x,m,n)從左/右/中間取n個字符Len(x)字符的長度Lcase(x)和Ucase(x)變小/大寫Space(n)n個空格Instr(x,y)X中包含子串y的位置,不包含為02006年3月413.日期和時間函數(shù)Date:給定年月日,返回日期,無參數(shù)為今天Time:無參數(shù),現(xiàn)在時間,字符型

Timer:零時到現(xiàn)在的秒數(shù),單精度Minute(Now)、Minute(Time)分

Second(Now)、Second(Time)秒2006年3月424.轉(zhuǎn)換函數(shù)Str(x):數(shù)值轉(zhuǎn)字符Val(x):字符轉(zhuǎn)數(shù)值Chr(x):ASCII碼轉(zhuǎn)字符Asc(x):字符轉(zhuǎn)ASCII碼Hex(x):數(shù)轉(zhuǎn)16進(jìn)制,字符型2006年3月435.隨機(jī)數(shù)語句和函數(shù)Randomize<種子>:啟動隨機(jī)數(shù)發(fā)生(語句),一般用Timer當(dāng)種子。Rnd()返回0-1之間的隨機(jī)數(shù)(無參數(shù))一般地,要得到[a,b]之間的隨機(jī)整數(shù),可用公式:

Int(Rnd*

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論