第二章程序設(shè)計基礎(chǔ)_第1頁
第二章程序設(shè)計基礎(chǔ)_第2頁
第二章程序設(shè)計基礎(chǔ)_第3頁
第二章程序設(shè)計基礎(chǔ)_第4頁
第二章程序設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

葛錦環(huán)溫州醫(yī)學院計算機教研室

第二章程序設(shè)計基礎(chǔ)

2023/9/302

2.1

如何學好VisualBasic語言規(guī)則要熟記,我們只能遵守規(guī)則而不能去創(chuàng)造規(guī)則。編程實驗對能力提高最重要。開始以模仿為主理解熟記常用算法、方法、屬性嘗試設(shè)計自己的選題嚴格按照規(guī)定的格式書寫程序2023/9/303

首先注意一下編碼規(guī)則:VB代碼中不區(qū)分字母的大小寫。(自動轉(zhuǎn)化)在同一行上可以書寫多條語句,但語句間要用冒號“

:”分割。若在一行上不能寫下一個語句,或在特別需要時,語句可以寫在多行上。換行時需要在本行后加入續(xù)行符“

_”,即空格加下劃線。一行最多允許有255個字符。注釋以Rem開頭,也可以使用撇號“

’”引導內(nèi)容,用撇號引導的注釋內(nèi)容可以直接出現(xiàn)在語句的后面。注意關(guān)鍵字,如If和For等2.2數(shù)據(jù)類型、常量與變量2023/9/304

PrivateSubForm_Click()DimaAsIntegerDimbAsSingleDimcAsStringDimdAsDoubleDimeAsBooleana=10b=3.5d=a+bc=“學習VB程序設(shè)計“

‘字符類型的變量Ce=b>aPrintdPrintcPrinteEndSub2.2數(shù)據(jù)類型、常量與變量先看一個小程序2023/9/305

VB預定義了豐富的數(shù)據(jù)類型,不同數(shù)據(jù)類型體現(xiàn)了不同數(shù)據(jù)結(jié)構(gòu)的特點。比如數(shù)值型、字符型、邏輯型、日期型等2.2數(shù)據(jù)類型、常量與變量2023/9/306

3.2VB的數(shù)據(jù)類型數(shù)據(jù)既是程序處理的基本對象,也是程序的必要組成部分。數(shù)據(jù)類型是指數(shù)據(jù)的內(nèi)在表現(xiàn)形式。VB根據(jù)數(shù)據(jù)的不同性質(zhì)和用途將其分為不同的數(shù)據(jù)類型。各種數(shù)據(jù)類型具有不同的存儲長度、取值范圍和允許的操作。數(shù)據(jù)類型總的來說分成四大類:數(shù)值型、字符串型、其它類型、自定義類型2023/9/307

Integer、Long、Single、Double、Currency、Byte數(shù)值型數(shù)據(jù):

Integer:整型占用2字節(jié),表示范圍-32768~32767

Long:長整型4字節(jié),-2147483648~2147483647

Single:單精度實數(shù)型4字節(jié),

-3.402823E38~-1.401298E-45 1.401298E-45~3.402823E38(6位有效位數(shù))Double:雙精度8字節(jié),-1.79769313486232E308~

-4.94065645841247E-324 4.94065645841247E-324~ 1.79769313486232E308(15位有效位數(shù))2023/9/308

Integer

和Long都用于表示整數(shù)。Integer的運算速度快、占用內(nèi)存少,但精確度不夠。

Single

和Double都用于表示實數(shù)。如果所要處理的均為整數(shù),那就盡量使用Integer類型;如果所要處理的包括小數(shù),那么盡量使用Single類型。注意:2023/9/309

用于計算貨幣的數(shù)量,最多保留小數(shù)點右邊4位和小數(shù)點左邊15位。Currency:8字節(jié),-922337203685477.5808~922337203685477.5807Byte:1字節(jié),用于表示0~255范圍內(nèi)的整數(shù),無符號。數(shù)值型數(shù)據(jù):2023/9/3010

String:一個字符占1字節(jié)

用于存放字符型數(shù)據(jù),即用雙引號對括起來的字符串,如:

“123”、“振興中華”、“THANKS”等。字符串型數(shù)據(jù)(String):每個漢字字符占2個字節(jié)注意引號是英文輸入狀態(tài)!2023/9/3011

Boolean、Date、Object、Variant邏輯型數(shù)據(jù)(Boolean):2字節(jié),用于邏輯判斷,占兩個字節(jié),只有True與False兩種值。其他數(shù)據(jù)類型:2023/9/3012

日期型數(shù)據(jù)(Date):8字節(jié),日期文字前后必須添加數(shù)字符號“#”,#1Jan,97##January1,1999##1999-8-112:30:12PM#

都是合法的日期。其他數(shù)據(jù)類型:#05/08/2002#-#05/01/2002#其結(jié)果為數(shù)值:7#05/08/2002#-7其結(jié)果為日期型數(shù)據(jù):#05/01/2002#2023/9/3013

變體型數(shù)據(jù)(Variant):字節(jié)按需分配,是所有未聲明的變量的默認數(shù)據(jù)類型,它對數(shù)據(jù)的處理完全取決于程序上下文的需要。

Variant型變量可以存儲數(shù)值型、字符型、日期型、對象型等數(shù)據(jù),而不必進行數(shù)據(jù)類型轉(zhuǎn)換,VB會自動完成任何必要的轉(zhuǎn)換。其他數(shù)據(jù)類型:對象型數(shù)據(jù)(Object):4字節(jié),可用于引用應(yīng)用程序中或某些其他應(yīng)用程序中的對象。2023/9/3014

常量可以理解為具有固定值的數(shù)據(jù)分為直接常量和符號常量兩種

直接常量包括數(shù)值常量、字符串常量、邏輯常量、日期常量。例如:78、1.23、“計算機”、TRUE、FALSE、#07/01/2008#等都是直接常量。八進制常量前加&O,如:&O1、&O567十六進制常量前加&H,如:&HAF、&H2342023/9/3015

符號常量是為了讓程序更具可讀性而出現(xiàn)的包括: (1)系統(tǒng)定義的符號常量 例如:vbRed、vbGreen、vbBlue

(2)用戶自定義的符號常量定義形式為:

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

聲明常量PI代表3.1415,單精度型ConstXAsInteger=5

聲明常量X代表5,整型ConstRAsDouble=3.0‘

聲明常量R代表3.0,雙精度型ConstAREA=PI*R*R

聲明常量AREA代表PI*R*R

2023/9/3016

變量

在計算機中我們使用變量來存儲那些會發(fā)生變化的數(shù)據(jù),即變量是數(shù)據(jù)的載體。聲明一個變量,就會在內(nèi)存中開辟一塊區(qū)域來存儲其數(shù)據(jù)。

變量的命名規(guī)則

變量的聲明顯式聲明隱式聲明2023/9/3017

變量的命名規(guī)則:以字母或漢字開頭,由字母、漢字、數(shù)字、下劃線組成,長度小于等于255個字符。不能和關(guān)鍵字相同,如Dim、For、Select等,且不能包含“.~‘|”四種英文符號以及空格。在一定范圍內(nèi)必須是唯一的,且不能和過程名同名。不區(qū)分大小寫字母,如:XYZ、Xyz、xyz都是相同的變量名。例如:最大值、lngX_Y、count是正確命名的變量名。

3a、Byte、k2是一些錯誤的變量名。2023/9/3018

變量的顯式聲明:顯示聲明的格式:<限定詞><變量名>[as<類型>]<限定詞>:Dim、Static、Public、Private<變量名>:符合命名規(guī)則的變量名稱<類型>:Integer、Long、Single、Double、

Currency、String、Byte、Boolean、

Date、Object、Variant、自定義類型2023/9/3019

例:DimxasIntegerPrivatestrTempasStringPrivatedblTotalasDoubleStaticcWage

(類型缺省情況下為Variant型)DimxasInteger,strTempasString,dblTotalasDouble

(一條語句聲明多個變量是允許的)變量的顯式聲明:2023/9/3020

聲明變量的類型符!

單精度浮點數(shù)(Single)#

雙精度浮點數(shù)(Double)%

整型變量(Integer)&

長整型數(shù)據(jù)(Long)@

貨幣型數(shù)據(jù)(Currency)$

字符串型數(shù)據(jù)(String)2023/9/3021

聲明變量時可以用類型符替代:DimxasInteger<==>Dimx%

雖然使用類型符方便,但使用類型關(guān)鍵字能使程序更具可讀性。變量的顯式聲明:StaticyasSingle<==>Staticy!PrivatestrTempasString<==>PrivatestrTemp$PrivatedblTotalasDouble<==>PrivatedblTotal#2023/9/3022

變量的顯式聲明:OptionExplicitPrivateSubCommand1_Click()DimtempasIntegerDimresultasIntegertemp=100result=temp*8PrintresultEndSub例:在通用聲明段2023/9/3023

顯式聲明OptionExplicitPrivateSubCommand1_Click()DimtempasIntegerDimresultasIntegertemp=100result=temp*8PrintresultEndSubPrivateSubCommand1_Click()temp=100result=temp*8PrintresultEndSub隱式聲明(書上38頁表達有誤)隱式聲明應(yīng)盡量避免!變量的隱式聲明:2023/9/3024

聲明String類型變量時的特殊操作:

變長字符串:如PrivatestrTempasString

定長字符串:如PrivatestrTempasString*5

即使不足5個字符,也會用空格填滿,若是超出5個字符,則會自動截去超出部分。2023/9/3025

關(guān)于變量的初始值在程序中聲明了變量之后,VisualBasic自動將數(shù)值類型的變量賦初值0,變長字符串被初始化為零長度的字符串(“”),定長字符串則用空格填充,而邏輯型的變量初始化為False.回頭看第一個例子!賦值語句和Print語句以及本章最后的InputBox函數(shù)和MsgBox函數(shù)我們將放在第三章開頭講解2023/9/3026

2.4運算符和表達式運算符是表示某種運算的符號。表達式是由變量、常量和運算符等組成的有意義的式子。運算符按照優(yōu)先級從高到低排列依次為:算術(shù)運算符字符串運算符關(guān)系運算符邏輯運算符2023/9/3027

算術(shù)運算符與算術(shù)表達式例:5+10mod10\9/3+2^2結(jié)果:10假設(shè):A=5、X=22023/9/3028

\整除運算和Mod求余運算的一些特殊規(guī)則:\整除和Mod求余均要求運算符左右兩邊的操作數(shù)都是整數(shù);若操作數(shù)是實數(shù),則先“四舍五入”轉(zhuǎn)換成整數(shù),再計算;若操作數(shù)是實數(shù),且實數(shù)的小數(shù)部分只有一位“5”時,則遵循:奇進偶舍,指的是實數(shù)的整數(shù)部分是奇,則把“5”進上去;是偶,則把“5”舍掉。例:20.5\7=21.5\1.49=20.5\1.49=00.5001\1.49=115.5Mod5.49=12023/9/3029

Mod求余運算時,結(jié)果的正負號始終與第一個操作數(shù),即左操作數(shù)的符號相同。例:20.5Mod7=620.5Mod-7=6-20.5Mod-7=-6-20.5Mod7=-6

\整除運算和Mod求余運算的一些特殊規(guī)則:2023/9/3030

字符串運算符與表達式&運算符無論操作對象是數(shù)值還是字符,都能進行連接,

結(jié)果均為字符串類型。使用的時候前后都必須有空格!例:“123”&“456”‘結(jié)果為“123456”“abc”&123‘結(jié)果為“abc123”“VisualBasic”&“6.0”‘結(jié)果為”VisualBasic6.0”為什么?2023/9/3031

+運算符當操作對象均為字符時,與&實現(xiàn)相同的連接功能;一邊為數(shù)字的字符串,一邊為數(shù)值,則自動把數(shù)字的 字符串轉(zhuǎn)化為數(shù)值,再進行相加運算,結(jié)果為數(shù)值;一邊為非數(shù)字的字符串,一邊為數(shù)值,則出錯;當兩邊均為數(shù)值時,則進行相加。例:“123”+“456”‘結(jié)果為“123456”“123”+456‘結(jié)果為579“abc”+123‘出錯

123+456‘結(jié)果為579字符串運算符與表達式2023/9/3032

PrivateSubForm_Click()DimaAsStringDimbAsIntegerDimcAsStringDimdAsStringa="123"b=456c=a&bd=a+bPrintcPrintdEndSub2023/9/3033

關(guān)系運算符與表達式運算符包括>,<,>=,<=,=,<>運算結(jié)果只有兩種,即True或False;如果兩邊都是數(shù)值,則按其大小比較;如果一邊是數(shù)值,另一邊是數(shù)字的字符串,則先轉(zhuǎn)化為數(shù)值,再比較;如果一邊是數(shù)值,另一邊是非數(shù)字的字符串,則出錯;如果兩邊都是字符型數(shù)據(jù),則按ASCII碼值從左至右一一比較。2023/9/3034

例:"ABCDE">"ABRA"結(jié)果為False

不等號2023/9/3035

邏輯運算符中除Not是單目運算符外,其余的都是雙目運算符,功能是將運算對象進行邏輯比較,比較結(jié)果是邏輯值True或False。運算按優(yōu)先級順序進行,同級運算從左到右依次進行。邏輯運算符與邏輯表達式2+3>5And5>3

'結(jié)果為False2+3>5Or5>3

'結(jié)果為TrueNot5<3And6*2=10+2'結(jié)果為True2023/9/3036

常用內(nèi)部函數(shù)數(shù)學的函數(shù):f(x1,x2,…,xn)=y自變量因變量高級編程語言的函數(shù):參數(shù)返回值如:Len(“abc”)=32023/9/3037

VB提供了大量的內(nèi)部函數(shù))供用戶在編程時調(diào)用。內(nèi)部函數(shù)按其功能可分為數(shù)學函數(shù)、轉(zhuǎn)換函數(shù)、字符串函數(shù)、日期函數(shù)、顏色函數(shù)、檢測函數(shù)等。在以下的表格中,我們用N表示數(shù)值表達式,用C表示字符串表達式,用D表示日期表達式。函數(shù)名后的“$”符號表示函數(shù)的返回值為字符串。2023/9/3038

內(nèi)部函數(shù)——數(shù)學函數(shù)2023/9/3039

需要特別注意的數(shù)學函數(shù)Rnd

產(chǎn)生[0,1)范圍的Single類型的隨機數(shù)。(2)Int(N)

返回小于等于N的最大整數(shù)。(3)Fix(N)

返回N的整數(shù)部分。產(chǎn)生[上界,下界]之間隨機整數(shù)的方法:

Int((上界-下界+1)*Rnd+下界),如:Int((100–0+1)*Rnd+0)PrivateSubForm_Click()Dima

溫馨提示

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

評論

0/150

提交評論