VB教程課件程序設(shè)計基礎(chǔ)第2章教案_第1頁
VB教程課件程序設(shè)計基礎(chǔ)第2章教案_第2頁
VB教程課件程序設(shè)計基礎(chǔ)第2章教案_第3頁
VB教程課件程序設(shè)計基礎(chǔ)第2章教案_第4頁
VB教程課件程序設(shè)計基礎(chǔ)第2章教案_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第2程序設(shè)計基礎(chǔ) 常量、變量、函數(shù)及表達(dá)式是構(gòu)成VB應(yīng)用程序的基本元素,也是程序設(shè)計的重要基礎(chǔ)知識。學(xué)習(xí)和熟悉掌握這些元素,對以后的程序設(shè)計是十分重要的。7/22/20221第2章 程序設(shè)計基礎(chǔ) 程序中的大部分實際工作是采用程序代碼來處理的 任何一門程序設(shè)計語言都有一套嚴(yán)格的編程規(guī)定 本章主要內(nèi)容 退出數(shù)據(jù)類型常量與變量表達(dá)式常用內(nèi)部函數(shù)7/22/20222 2.1 數(shù)據(jù)類型 在使用計算機(jī)來處理數(shù)據(jù)時,會遇到各種不同類型的數(shù)據(jù)。例如,一個人的姓名是由一串文本(字符)組成,成績、年齡和體重都是一個數(shù)值,而是否大學(xué)畢業(yè)則是一個邏輯值,等等。 為了更好地處理各種各樣的數(shù)據(jù),VB定義了多種數(shù)據(jù)類型 數(shù)

2、值型 數(shù)據(jù)類型 字符型 邏輯型 日期型 對象型 變體型整數(shù): 整型/長整型字節(jié)型浮點(diǎn)型: 單/雙精度貨幣型7/22/20223數(shù)值型數(shù)據(jù) (1) 整型(Integer)和長整型(Long) 不帶小數(shù)部分的數(shù),表示正整數(shù)、負(fù)整數(shù)和零 整型數(shù): -3276832767 長整型數(shù):-21474836482147483647 (2) 字節(jié)型(Byte) 字節(jié)型數(shù)可以表示無符號的整數(shù) 0255(3) 單精度型(Single)和雙精度型(Double) 浮點(diǎn)數(shù)。表示帶有小數(shù)部分的數(shù) 表示數(shù)的范圍大,但有誤差。 如超出某個表示范圍,則用科學(xué)記數(shù)法 例如:4.53E8(4.53108),8.173E-14,3

3、.14D23(4) 貨幣型(Currency) 專門為處理貨幣而設(shè)計的數(shù)據(jù)類型 它可最多保留小數(shù)點(diǎn)右邊4位和小數(shù)點(diǎn)左邊15位7/22/20224其他類型數(shù)據(jù) (1) 字符型是用雙引號括起來的一串字符。 例如: “Canton”、”1+2=?”、”GoodMorning”等 ,其中 “ ”稱為起止界限符。 字符串長度分為: 變長字符串(長度不固定) 定長字符串(長度固定) 例如: Dim a As String a是不定長字符串 Dim b As String*4 b是定長字符串(4個字符) a = “VB” a的值為2個字符“VB” a = “Visual Basic” a的值為12個字符“V

4、isual Basic” b = “VB ” b的值為4個字符“VB ” (后面有2個空格) b = “Visual Basic” b的值為4個字符“Visu” 7/22/20225其他類型數(shù)據(jù) (2) 邏輯型數(shù)據(jù)只有True(真)和False(假)兩個值 (3)日期型數(shù)據(jù)用兩個“#”符號把日期和時間的值括起來 如:#08/20/2001#、#2001-08-20# (4) 變體型(Variant)數(shù)據(jù)是一種可變的數(shù)據(jù)類型,可以存放任何類型的數(shù)據(jù),VB會自動完成必要的轉(zhuǎn)換 不特別說明時,VB會自動將該變量默認(rèn)為Variant型變量 例: Temp=“22” 字符串 Temp=Temp-1 數(shù)值

5、 Temp=#01/01/2002# 日期7/22/202262.2 常量與變量2.2.1 常量 在程序運(yùn)行期間其值始終保持不變的量 直接常量:在程序代碼中直接給出的數(shù)據(jù)。 例如:123,-263, ”Visual Basic” , ”12.57”等 符號常量:在程序中用符號表示的常量。 格式: PublicPrivate Const 常量名 As 數(shù)據(jù)類型=表達(dá)式 例如: Const PI As Single =3.141597/22/20227 2.2.2 變量 變量是在程序運(yùn)行期間其值可以發(fā)生變化的量 1. 變量的命名規(guī)則 應(yīng)遵守一些規(guī)則 2. 變量的聲明 (1) 聲明變量(顯式聲明)

6、用Dim、Public、Private或Static語句來聲明變量 例如:Dim sum As Integer 把sum定義為整型變量 sum = 3 (2)隱式聲明 不加說明就直接使用變量,此時默認(rèn)的變量類型為變體型 例如: sum = 37/22/20228 (1) “值可變”:當(dāng)將某個數(shù)據(jù)存放到一個變量時,就把變量中原有的值“沖”掉,換成新的值。 例如,以下2個賦值語句: a = 3 a = 8 同一變量在不同時刻可以取不同的值 (2)“取之不盡”:在運(yùn)算過程中,如果沒有改變該變量的值,那么,不管使用變量的值進(jìn)行多少次運(yùn)算,其值始終保持不變。 例如 x = 5 a = 3 + x x的值

7、始終保持為5 b = x*x 4*x 3.變量的兩個重要特點(diǎn)7/22/20229 五類表達(dá)式:算術(shù)表達(dá)式、字符串表達(dá)式、日期表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式 1. 算術(shù)表達(dá)式: 運(yùn)算符及其優(yōu)先級: (乘方) -(求負(fù)) */ Mod +- 示例:9 / 5=1.8, 9 5=1, 9 mod 5=1 2. 字符串表達(dá)式:運(yùn)算符有兩個:&和+ ”計算機(jī)” & ”網(wǎng)絡(luò)” 結(jié)果為 ”計算機(jī)網(wǎng)絡(luò)” 3. 日期表達(dá)式: #8/8/2001# - #6/3/2001# 結(jié)果為 66 #12/1/2000# - 32 結(jié)果為 #10/30/2000# 2.3 表達(dá)式結(jié)果?7/22/202210 1 + 2 *

8、 14 Mod 17 6 / 2 = ? 求出下列表達(dá)式的值想一想 1. 按運(yùn)算符的優(yōu)先級分成若干運(yùn)算步驟 先乘除,再整除和求Mod,后加運(yùn)算 2. 根據(jù)運(yùn)算符的運(yùn)算功能求出各步驟的結(jié)果思考題 1 + 28 Mod 5 結(jié)果為 47/22/202211 內(nèi)部函數(shù)是由VB系統(tǒng)提供 函數(shù)調(diào)用的一般格式為: 函數(shù)名(參數(shù)1,參數(shù)2,) 返回函數(shù)值 例如: y=Sqr(x) Sqr是內(nèi)部函數(shù)名,x為參數(shù),運(yùn)行時該語句調(diào)用內(nèi)部函數(shù)Sqr來求x的平方根,其計算結(jié)果由系統(tǒng)返回給變量y VB的內(nèi)部函數(shù)大體上分為四大類:數(shù)學(xué)函數(shù),字符串函數(shù),日期與時間函數(shù)和轉(zhuǎn)換函數(shù)。2.4 常用內(nèi)部函數(shù)7/22/202212

9、說明: 函數(shù)Int(x)是求小于或等于x的最大整數(shù)。 例如 Int(2)=2, Int(-2.5)=-3, Int(-3)=-3 利用Int函數(shù)可以對數(shù)據(jù)進(jìn)行四舍五入。例如,對一個正數(shù)x舍去小數(shù)位時進(jìn)行四舍五入,可采用如下式子: Int(x+0.5) 當(dāng)x=9.4時,Int(9.4 + 0.5)=9 當(dāng)x=9.5時,Int(9.5 + 0.5)=102.4.1 數(shù)學(xué)函數(shù) 7/22/202213 隨機(jī)函數(shù)Rnd可以模擬自然界中各種隨機(jī)現(xiàn)象。它可產(chǎn)生一個(0,1)的隨機(jī)數(shù)。在VB中,有一個稱為隨機(jī)數(shù)生成器的隨機(jī)數(shù)生成程序,能產(chǎn)生一個隨機(jī)數(shù)序列,用戶每次調(diào)用Rnd即可得到這個隨機(jī)數(shù)序列中的一個。 使

10、用Randomize語句可以為隨機(jī)數(shù)生成器指定不同的初值或者稱為隨機(jī)數(shù)序列的“種子”,這樣可以得到不同的隨機(jī)數(shù)序列。 Rnd通常與Int函數(shù)配合使用 生成a, b區(qū)間范圍內(nèi)的隨機(jī)整數(shù),可以采用 Int(b-a+1)*Rnd + a) 例如 Int(4*Rnd+1)可以產(chǎn)生14之間(含1和4)的隨機(jī)整數(shù)??梢允?,2,3或4,這由VB運(yùn)行時隨機(jī)給定。7/22/202214 編寫的窗體單擊事件過程代碼如下: Private Sub Form_Click() Dim a As Single, b As Single, c As Single a = 6 b = 9 c = Sqr(a * a + b

11、 * b) Print c = ; c End Sub 運(yùn)行程序后單擊窗體,輸出結(jié)果是: c=10.81665例2.1 已知a=6,b=9,計算c = 例2.17/22/202215編寫的窗體單擊事件過程代碼如下: Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Randomize 初始化隨機(jī)數(shù)生成器 a = Int(90 * Rnd + 10) 產(chǎn)生10,99區(qū)間內(nèi)的隨機(jī)整數(shù) b = Int(90 * Rnd + 10) c = a + b 求兩數(shù)之和 Print 產(chǎn)生的兩個隨機(jī)數(shù): ; a, b P

12、rint 和數(shù): ; c End Sub運(yùn)行程序后單擊窗體,輸出結(jié)果是: 產(chǎn)生的兩個隨機(jī)數(shù):56 71 和數(shù):127例2.2 通過隨機(jī)函數(shù)產(chǎn)生2個兩位正整數(shù),求這2個數(shù) 之和并顯示出來 再次運(yùn)行程序,單擊窗體后輸出另一組結(jié)果是: 產(chǎn)生的兩個隨機(jī)數(shù):18 37 和數(shù):55例2.27/22/202216 用于進(jìn)行字符串處理 說明:(1) 函數(shù)Mid(字符串,p,n) 從第P個開始取n個字符 示例:Mid(“ABCDEG”,3,2) 的結(jié)果為 ”CD” 若省略n,則得到的是從P開始的往后所有字符,如 Mid(“ABCDE”,2) 的結(jié)果為 “BCDE” (2) 函數(shù)Instr(f,串1,串2,k)

13、查找串2在串1中的位置 f 和 k 均為可選參數(shù),f表示開始搜索的位置(默認(rèn)值為1),k表示比較方式,若k為0(默認(rèn)),表示區(qū)分大小寫;若k為1,則不分大小寫。 例如 Instr(3, ”A12a34A56”, ”A”) 的結(jié)果為 7 Instr(3, ”A12a34A56”, ”A”, 1) 的結(jié)果為 4 Instr(”A12a34A56”, ”A”) 的結(jié)果為 1 (3)函數(shù)Left(字符串,n) 取左邊n個字符 示例: Left(”ABCDE” ,2) 的結(jié)果為 ”AB”2.4.2字符串函數(shù)7/22/202217 先從字符串a(chǎn)中找出某個指定字符(本例為空格),再以此字符為界拆分成兩個字符

14、串。編寫的窗體單擊過程代碼如下: Private Sub Form_Click() Dim a As String, b As String, c As String, n As Integer a = VisualBasic 表示空格 n = InStr(a, ) 查找空格位置 b = Left(a, n - 1) 取左邊部分 c = Mid(a, n + 1) 取右邊部分 Print b 顯示左邊部分 Print c 顯示右邊部分 End Sub 程序運(yùn)行后單擊窗體,輸出結(jié)果是: Visual Basic例2.3 使用字符串函數(shù)示例例2.3 處理方法 VisualBasic 先查找 空格位

15、置取右邊部分取左邊部分7/22/202218 Private Sub Form_Click() Dim a As String, b As String, c As String, n As Integer a = “VisualBasic” 表示空格 n = InStr(a, “”) 查找空格位置 b = Left(a, n - 1) 取左邊部分 c = Right( a, _ ) 取右邊部分 Print b 顯示左邊部分 Print c 顯示右邊部分 End Sub 程序運(yùn)行后單擊窗體,輸出結(jié)果是: Visual Basic 若用 Right函數(shù)來代替 Mid函數(shù), 應(yīng)如何改動?想一想思考

16、題 n B. Len(a)-n C. Len(a)B7/22/202219 日期/時間函數(shù)用于進(jìn)行日期和時間處理 例如: 函數(shù)Date返回系統(tǒng)日期,如返回日期為 #11/03/2001# 函數(shù)Time返回系統(tǒng)時間,如返回時間為 #7:03:28#2.4.3 日期與時間函數(shù)7/22/202220 轉(zhuǎn)換函數(shù)val() Val(A12) 的值為 0 Val(12A12) 的值為 12 Val(1.2e2) 的值為 120 Val (“12+3) =12, Val (“-12+3)= -12 Val(“+a+12)=0, Val (“+12+5)=12 Val()函數(shù)的實現(xiàn)原理是這樣的: 從字符串中第

17、一個字符開始檢索,如果字符屬于“0”到“9”之間的字符,那么就把它轉(zhuǎn)換為數(shù)字,一旦遇到不屬于“0”到“9”之間的字符的時候轉(zhuǎn)換就停止。 但有一個例外,就是第一個字符是正負(fù)號的時候,若符號后面緊跟著是數(shù)字,則轉(zhuǎn)為數(shù)字,若為非數(shù)字字符,則結(jié)果為0 2.4.4 類型轉(zhuǎn)換函數(shù)7/22/2022212.5程序代碼編寫規(guī)則2.5.1語句及語法 本書關(guān)于VB語句的說明在38頁上方7/22/202222 在編寫程序代碼時,要遵守一定的規(guī)則。不能超越其規(guī)定來自由發(fā)揮。 (1) 一行寫多條語句。冒號分隔 Sum=Sum+x : Count=Count+1 (2) 一條語句寫成多行 使用續(xù)行符(一個空格后面跟隨一個

18、下劃線“_”),將長語句分成多行。例如: Print Text1.Text & Text2.Text & Text4.Text _ & Left(Text3.Text,3) (3)不區(qū)分大小寫字母 VB不區(qū)分應(yīng)用程序代碼字母的大小寫 。 2.5.2 代碼書寫規(guī)則7/22/202223 (4) 各關(guān)鍵字之間,關(guān)鍵字和變量名、常量名、過程名之間一定要有空格分隔。 示例: Private Sub Form_Click() (5)使用縮進(jìn) 在編寫程序代碼時,可以使用縮進(jìn)來反映代碼的邏輯結(jié)構(gòu)和嵌套關(guān)系。例如: Private Sub Form_Click() x=4 If x1 Then Print x=1 End If End Sub7/22/202224 (6)嚴(yán)格按照VB規(guī)定的格式和符號編寫程序。 與其他高級語言一樣,在VB中使用的分號、引

溫馨提示

  • 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

提交評論