![VB程序設(shè)計(jì)ch031基礎(chǔ)和選擇結(jié)構(gòu)_第1頁(yè)](http://file4.renrendoc.com/view/b77a25c49dc24d598d4953fec01c453e/b77a25c49dc24d598d4953fec01c453e1.gif)
![VB程序設(shè)計(jì)ch031基礎(chǔ)和選擇結(jié)構(gòu)_第2頁(yè)](http://file4.renrendoc.com/view/b77a25c49dc24d598d4953fec01c453e/b77a25c49dc24d598d4953fec01c453e2.gif)
![VB程序設(shè)計(jì)ch031基礎(chǔ)和選擇結(jié)構(gòu)_第3頁(yè)](http://file4.renrendoc.com/view/b77a25c49dc24d598d4953fec01c453e/b77a25c49dc24d598d4953fec01c453e3.gif)
![VB程序設(shè)計(jì)ch031基礎(chǔ)和選擇結(jié)構(gòu)_第4頁(yè)](http://file4.renrendoc.com/view/b77a25c49dc24d598d4953fec01c453e/b77a25c49dc24d598d4953fec01c453e4.gif)
![VB程序設(shè)計(jì)ch031基礎(chǔ)和選擇結(jié)構(gòu)_第5頁(yè)](http://file4.renrendoc.com/view/b77a25c49dc24d598d4953fec01c453e/b77a25c49dc24d598d4953fec01c453e5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 本章主要介紹程序代碼設(shè)計(jì)基礎(chǔ)知識(shí):數(shù)據(jù)類型、變量、常量、運(yùn)算符、表達(dá)式和基本語(yǔ)句。以程序代碼編寫為核心,介紹VB語(yǔ)言工具的高級(jí)用法:數(shù)組、過(guò)程與函數(shù)。學(xué)習(xí)重點(diǎn):掌握VB的數(shù)據(jù)類型、變量、表達(dá)式以及運(yùn)算符的優(yōu)先級(jí)。掌握VB的常用語(yǔ)句和結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)。掌握VB中數(shù)組、過(guò)程與函數(shù)的定義及其用法。 第三章 程序設(shè)計(jì)基礎(chǔ)1 3.1 基本語(yǔ)法 3.2 結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu) 3.3 基本語(yǔ)句 3.4 數(shù)組 3.5 過(guò)程 3.6 內(nèi)部函數(shù)23.1 基本語(yǔ)法33.1.0 VB的編碼規(guī)則VB和任何程序設(shè)計(jì)語(yǔ)言一樣,編寫代碼有一定的書寫規(guī)則:1. VB代碼不區(qū)分字母的大小寫2. 語(yǔ)句書寫自由
2、 (1)同一行上可以書寫多條語(yǔ)句,語(yǔ)句間用“:”分隔; (2)續(xù)行符(空格下劃線)“ _”; (3)一行允許多達(dá)255個(gè)字符。3. 注釋有利于程序的維護(hù)和調(diào)試 注釋以Rem 開始,但一般用西文單引號(hào)“ ”引導(dǎo)注釋的內(nèi)容,可以直接出現(xiàn)在語(yǔ)句的后面。43.1.1 數(shù)據(jù)類型 數(shù)據(jù)具有數(shù)據(jù)類型,數(shù)據(jù)類型是數(shù)據(jù)的表示和存儲(chǔ)形式,在VB中,不僅提供了系統(tǒng)定義的基本數(shù)據(jù)類型,而且允許用戶自定義數(shù)據(jù)類型。1.基本數(shù)據(jù)類型 1) 數(shù)值數(shù)據(jù)類型 (P.40表3-1) 2) 字符串型數(shù)據(jù)(String) 字符串是一個(gè)用雙引號(hào)括起來(lái)的字符序列,由字母、數(shù)字和漢字組成。例:“Visual Basic 6.0程序設(shè)計(jì)”。
3、VB的字符串有兩種,即可變長(zhǎng)度字符串和固定長(zhǎng)度字符串。53)布爾型數(shù)據(jù)(Boolean) 布爾型數(shù)據(jù)是一個(gè)邏輯值,用2個(gè)字節(jié)存儲(chǔ),只能取邏輯值True或 False。當(dāng)把布爾型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型數(shù)據(jù)時(shí),F(xiàn)asle 轉(zhuǎn)換為0,True 轉(zhuǎn)換為-1。當(dāng)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為布爾型數(shù)據(jù)時(shí),0 轉(zhuǎn)換為False,其它非0 值轉(zhuǎn)換為True。4)日期型數(shù)據(jù)(Date) 用于表示日期和時(shí)間,在內(nèi)存中占8個(gè)字節(jié)。 例:#05/21/03# 。5)對(duì)象型數(shù)據(jù)(Object) 對(duì)象型數(shù)據(jù)用于表示應(yīng)用程序或某些其他應(yīng)用程序中的對(duì)象,在內(nèi)存中占4個(gè)字節(jié)。6)變體類型(Variant) Variant 是一種特殊的數(shù)據(jù)類型
4、,是所有未定義的變量的默認(rèn)數(shù)據(jù)類型。變體類型是可變的數(shù)據(jù)類型,可用于表示任何值,如數(shù)值、字符、日期等,并且占用的存儲(chǔ)空間隨類型的改變而改變。 6VB標(biāo)準(zhǔn)數(shù)據(jù)類型 72.用戶自定義類型 (P.41)用Type 語(yǔ)句自定義數(shù)據(jù)類型。格式: Private | Public Type 元素名 As 數(shù)據(jù)類型 元素名 As 數(shù)據(jù)類型 End Type其中,用戶類型名是用戶自定義的數(shù)據(jù)類型名 (例:student),元素可以是任何基本數(shù)據(jù)類型,也可以是用戶自定義數(shù)據(jù)類型。例:描述學(xué)生的學(xué)籍情況,應(yīng)有該學(xué)生學(xué)號(hào)、姓名、成績(jī)等。Private Type student num As String * 8 定
5、義num為字符串變量 name As String *8 score As Integer End Type83.1.2 常量與變量 1.常量 常量是指在程序運(yùn)行過(guò)程中始終保持不變的量,在VB中有三種形式的常量,即直接常量、符號(hào)常量和系統(tǒng)提供的常量。1)直接常量 直接常量就是在程序代碼中,以直接明顯的形式給出的常數(shù)值。根據(jù)常量的數(shù)據(jù)類型,可分為字符串常量、數(shù)值常量、布爾常量和日期常量。 例:“Visual Basic”,234,True,#05/04/03#。2)符號(hào)常量 在程序中,可以定義符號(hào)常量,用來(lái)代替直接常量。必須先定義,再使用。符號(hào)名必須是以字母開頭,由字母、數(shù)字、下劃線組成的長(zhǎng)度不
6、大于40的字符串。 9定義符號(hào)常量的格式為: Const 符號(hào)常量名 As 類型=表達(dá)式 省略 AS 類型,常量的類型由表達(dá)式值的類型決定 為使與變量名區(qū)分,一般常量名使用大寫字母 注意:符號(hào)常量一經(jīng)聲明,在其后的代碼中只能引用,不能改變。例:Const MAX=100 Const Birthday=#05/21/97# Const PI As Double=3.14159 聲明PI為雙精度常量103)系統(tǒng)提供的常量 系統(tǒng)定義的常量位于對(duì)象庫(kù)中,可通過(guò)“對(duì)象瀏覽器”查看. 例: 窗口狀態(tài)屬性WindowsState 可接受下列常量: 常量 值 描述 vbNormal 0 正常 vbMinimi
7、zed 1 最小化 vbmaximized 2 最大化 若要將窗口最大化,可以使用WindowsState 的常量,也可以使用WindowsState 的值: Form1. WindowsState= vbmaximized 或 Form1. WindowsState=2112.變量 變量,是內(nèi)存中保存信息(值)的內(nèi)存區(qū)域,它的內(nèi)容在程序運(yùn)行過(guò)程中是可變的。 在程序運(yùn)行過(guò)程中,可以改變的量稱為變量。1)變量的命名規(guī)則: 只能以字母開頭,由字母、數(shù)字和下劃線組成,長(zhǎng)度不得超過(guò)255個(gè)字符。 VB中不區(qū)分變量名的大小寫。 不能使用VB的關(guān)鍵字作變量名。 為了增加程序的可讀性,可在變量名前加一個(gè)縮寫
8、的前綴來(lái)表明該變量的數(shù)據(jù)類型。例:intCount 例:變量x、abc、x2、c_d等都是合法變量;而2x、x+y等都是不合法變量。 122)變量的數(shù)據(jù)類型 在VB中數(shù)據(jù)類型決定了如何將變量存儲(chǔ)到內(nèi)存中,每種數(shù)據(jù)類型占用的內(nèi)存空間是不一樣的。 所有的變量都具有數(shù)據(jù)類型,數(shù)據(jù)類型決定了變量能夠存儲(chǔ)哪種數(shù)據(jù)(能夠處理哪種數(shù)據(jù))。 在VB定義的各種數(shù)據(jù)類型中,按照處理數(shù)據(jù)種類的不同,可將起其分為如下幾類 數(shù)值型數(shù)據(jù)類型:專門處理數(shù)值型數(shù)據(jù)。 非數(shù)值型數(shù)據(jù)類型:如字符數(shù)據(jù)、邏輯數(shù)據(jù)、日期數(shù)據(jù) 變體數(shù)據(jù)類型:可以隨時(shí)改變數(shù)據(jù)類型的數(shù)據(jù)13用 Dim 語(yǔ)句顯式聲明變量格式 : Dim 變量名 AS 類型
9、或 Dim 變量名類型符 說(shuō)明: 將給定的變量名聲明為指定類型的變量 如果 As 類型部分省略,所建立的變量類型默認(rèn)為變體類型。 在一個(gè)Dim語(yǔ)句中可以定義多個(gè)變量,但每個(gè)變量必須有自己的類型聲明。 變量未進(jìn)行上述的聲明而直接使用,其類型為 Variant 類型。即隱式聲明 在使用變量前,最好先聲明這個(gè)變量。所謂聲明變量就是事先將變量的有關(guān)信息通知程序。3)變量的聲明14例: Dim Age As Integer 或Dim Age% 定義Age為整型變量 Dim StrTemp As String 定義StrTemp為不定長(zhǎng)字符型變量 Dim StrName As String * 10 定義
10、StrName 為定長(zhǎng)(10)字符變量 Dim Number As Single, Count As Single 定義Number和Count都是單精度變量 Dim Number , Count As Single 定義Number為變體變量,Count為單精度變量 注意: 在通用聲明處加 Option Explicit 語(yǔ)句可強(qiáng)制顯式聲明變量。 在運(yùn)行程序時(shí),遇于到未經(jīng)明確聲明的變量名,VB就會(huì)發(fā)出警告。153.1.3 運(yùn)算符和表達(dá)式1.運(yùn)算符 VB的運(yùn)算符可以分為四種: 算術(shù)運(yùn)算符 字符串運(yùn)算符 關(guān)系運(yùn)算符 邏輯運(yùn)算符1) 算術(shù)運(yùn)算符 (P.43) 算術(shù)運(yùn)算符用于對(duì)數(shù)值型數(shù)據(jù)執(zhí)行各種算術(shù)
11、運(yùn)算。 在VB中按運(yùn)算優(yōu)先級(jí)從高到低分別為: (乘方)、(負(fù)號(hào))、*(乘法)、/(浮點(diǎn)除、 (整除)、mod(取模)、 +(加法)、-(減法)。16算術(shù)運(yùn)算符 (P.43) 表中ia 初值為317 算術(shù)運(yùn)算符兩邊的操作數(shù)應(yīng)是數(shù)值型,若是數(shù)字字符或邏輯型,則自動(dòng)轉(zhuǎn)換成數(shù)值類型后再運(yùn)算。 例如: 72運(yùn)算結(jié)果為49 7*2運(yùn)算結(jié)果為14 7/2 (浮點(diǎn)除法) 運(yùn)算結(jié)果為3.5 72 (整除) 運(yùn)算結(jié)果為3 7 mod 2運(yùn)算結(jié)果為1 MOD運(yùn)算,含義是取得兩個(gè)整數(shù)相除后結(jié)果的余數(shù)。 7+2運(yùn)算結(jié)果為9 7-2運(yùn)算結(jié)果為5182)字符串運(yùn)算符 字符串運(yùn)算符: 、+ 用于字符串連接。區(qū)別: + 兩邊的
12、操作數(shù)均為字符型。若一個(gè)為數(shù)字字符型(如“123”),另一個(gè)為數(shù)值型,則自動(dòng)將數(shù)字字符轉(zhuǎn)換為數(shù)值,再進(jìn)行算術(shù)加;若一個(gè)為非數(shù)字字符型,另一個(gè)為數(shù)值型,則出錯(cuò)。 & 兩邊的操作數(shù)不管是字符型還是數(shù)值型,先將操作數(shù)轉(zhuǎn)換成字符,然后再連接。例如: abcdef + 12345 出錯(cuò) abcdef & 12345 結(jié)果為 abcdef12345 123 & 456 結(jié)果為 123456 “123” + 456 結(jié)果為 579注意: “123 ” + True 結(jié)果為 122,這是由于 True轉(zhuǎn)換為數(shù)值-1,F(xiàn)alse轉(zhuǎn)換為數(shù)值0193)關(guān)系運(yùn)算符 關(guān)系運(yùn)算符用于對(duì)兩個(gè)表達(dá)式的值進(jìn)行比較,運(yùn)算結(jié)果是一
13、個(gè)邏輯值。 若兩個(gè)操作數(shù)是數(shù)值型,按其大小比較;若兩個(gè)操作數(shù)是字符型,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止。關(guān)系運(yùn)算符的優(yōu)先級(jí)相同。 例如: 3 9 結(jié)果為 False 20 4) 邏輯運(yùn)算符 (P.43表3-3) 其作用是對(duì)表達(dá)式進(jìn)行邏輯運(yùn)算,結(jié)果是邏輯值。 和關(guān)系運(yùn)算符一樣,邏輯運(yùn)算通常也用來(lái)判斷程序流程。例如: If Num=60 And Num=100 Then 最常用的邏輯運(yùn)算是:Not (非) :由真變假或由假變真,進(jìn)行“取反”運(yùn)算。And (與): 如果兩個(gè)表達(dá)式的值均為True,結(jié)果才為True,否則為False。Or (或): 如果兩個(gè)表達(dá)式中某一
14、個(gè)表達(dá)式的值為True,結(jié)果為True, 只有兩個(gè)表達(dá)式的值均為False時(shí),結(jié)果才為False。21Xor (異或): 如果兩個(gè)表達(dá)式同時(shí)為True或同時(shí)為False,則結(jié)果為False否則為True(即一真一假時(shí)為True )。Eqv (等價(jià)): 如果兩個(gè)表達(dá)式同時(shí)為True或同時(shí)為False,則結(jié)果為True否則為False。Imp (蘊(yùn)含): 當(dāng)?shù)谝粋€(gè)表達(dá)式為True,且第二個(gè)表達(dá)式為False時(shí),結(jié)果為False。按優(yōu)先級(jí)從高到低分別是: Not(取反) And(與) Or(或) Xor(異或) Eqv (等價(jià)) Imp (蘊(yùn)含)22 若邏輯運(yùn)算符對(duì)數(shù)值進(jìn)行運(yùn)算,則以數(shù)字的二進(jìn)制值按
15、位進(jìn)行邏輯運(yùn)算。例:12 And 7 , 二進(jìn)制數(shù)1100與0111進(jìn)行And運(yùn)算,得二進(jìn)制數(shù)100,結(jié)果為4。例: Not (27)運(yùn)算結(jié)果為False (P.43) (27) And (65)運(yùn)算結(jié)果為False (27) Or (65) 運(yùn)算結(jié)果為True 利用邏輯運(yùn)算符對(duì)數(shù)值進(jìn)行運(yùn)算的表達(dá)式: 例1:表示10=x20 并且1y=5 表達(dá)式:(10=x And x20) And (1y And y=5) 例2:x,y 中有一個(gè)小于0 表達(dá)式:(x0) Or (x0 And y=“A” And ch=“a” And ch=“z”)232.表達(dá)式 1)組成 由變量、常量、函數(shù)、運(yùn)算符和圓括號(hào)
16、按一定的規(guī)則組成。 2)書寫規(guī)則 (1) 運(yùn)算符不能相鄰。例a+ -b是錯(cuò)誤的。 (2) 乘號(hào)不能省略。 例x 乘以y 應(yīng)寫成:x*y; 2x 應(yīng)寫成:2*x (3) 括號(hào)必須成對(duì)出現(xiàn),均使用圓括號(hào)。 (4) 表達(dá)式從左到右在同一基準(zhǔn)上書寫,無(wú)高低、大小。 243)算術(shù)表達(dá)式中數(shù)據(jù)類型的轉(zhuǎn)換 在算術(shù)運(yùn)算中,如果操作數(shù)采用不同的數(shù)據(jù)精度,則VB規(guī)定,運(yùn)算結(jié)果的數(shù)據(jù)類型采用向精度高的數(shù)據(jù)類型靠。 IntegerLongSingleDoubleCurrency 整型 長(zhǎng)整型 單精度 雙精度 字符運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符 對(duì)于同種運(yùn)算符則按優(yōu)先級(jí)處理。25例:表達(dá)式 書寫為: a*b*c*d/e/f
17、/g 或 a*b *c*d/(e*f*g) 例:設(shè)a=3,b=5,c= -1,d=7 計(jì)算表達(dá)式 (P.43) 263.2 結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)27程序控制語(yǔ)句Visual Basic語(yǔ)言作為結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,提供了三種控制流來(lái)控制程序的流程:順序,條件分支和循環(huán)語(yǔ)句。283.2.1 順序結(jié)構(gòu) 整個(gè)程序按書寫順序依次執(zhí)行。語(yǔ)句塊1語(yǔ)句塊2293.2.2 選擇結(jié)構(gòu) 如圖3-2所示,當(dāng)條件成立時(shí)執(zhí)行A程序塊,否則執(zhí)行B程序塊,即A與B只能執(zhí)行其中一個(gè)。 圖3-2選擇結(jié)構(gòu)語(yǔ)句塊A語(yǔ)句塊B條件假 真 303.2.3 循環(huán)結(jié)構(gòu)在VB中有2種循環(huán)結(jié)構(gòu):1.圖3-3為 當(dāng)型循環(huán)結(jié)構(gòu),當(dāng)條件成立時(shí),
18、重復(fù)執(zhí)行循環(huán)體語(yǔ)句,直到條件為假,停止循環(huán)。2. 圖3-4為直到型循環(huán)結(jié)構(gòu),先執(zhí)行循環(huán)體語(yǔ)句,再判斷條件是否為真,若為真,再執(zhí)行循環(huán)體,直到條件為假。 循環(huán)體條件假 真 (1) 當(dāng)型循環(huán)結(jié)構(gòu)(2) 直到型循環(huán)結(jié)構(gòu)循環(huán)體條件假 真 313.3 基本語(yǔ)句323.3.1賦值語(yǔ)句1.語(yǔ)句格式: = 或:.=2.語(yǔ)句功能 計(jì)算表達(dá)式的值,并將該值賦給賦值號(hào)(=)左邊的變量或?qū)ο髮傩浴?.使用賦值語(yǔ)句時(shí),應(yīng)注意以下幾點(diǎn):1)賦值號(hào)左邊只能是變量或?qū)ο蟮膶傩?,不能是表達(dá)式、常量、函數(shù)。2) 賦值號(hào)兩邊必須類型一致,若“”兩邊同是數(shù)值型,而且有不同精度,系統(tǒng)自動(dòng)強(qiáng)制轉(zhuǎn)換成左邊的精度。 例: a % = 4.7
19、 a是整型變量,a 中的結(jié)果是4。強(qiáng)制轉(zhuǎn)換3) 賦值語(yǔ)句中的“=”與關(guān)系運(yùn)算符中的“=”的作用截然不同。4. 實(shí)例: Form1.caption = 輸入框333.3.2 注釋語(yǔ)句1. 語(yǔ)句格式 注釋內(nèi)容 或 Rem 2.語(yǔ)句功能 注釋語(yǔ)句給程序中的語(yǔ)句或程序段加上注釋內(nèi)容,以提高程序的可讀性。注釋語(yǔ)句是非執(zhí)行語(yǔ)句,僅對(duì)程序的有關(guān)內(nèi)容起注釋作用,不被解釋和編譯。注釋語(yǔ)句不能放在續(xù)行符后。例:c=b:b=a:b=c 交換A、B的值 或?qū)懗桑?Rem 交換A、B的值 c=b:b=a:b=c343.3.3 Stop語(yǔ)句格式:Stop功能:暫時(shí)停止程序的執(zhí)行。說(shuō)明: Stop語(yǔ)句可以放在程序的任何地方
20、,它的作用相當(dāng)于在程序代碼中設(shè)置的斷點(diǎn)。類似于執(zhí)行“運(yùn)行”菜單中的“中斷”命令,當(dāng)執(zhí)行Stop語(yǔ)句時(shí),系統(tǒng)將自動(dòng)打開立即窗口,方便用戶調(diào)試跟蹤程序。 當(dāng)程序調(diào)試結(jié)束后,生成可執(zhí)行文件(.ExE)之前,應(yīng)刪去代碼中的所有Stop語(yǔ)句。3.3.4 結(jié)束語(yǔ)句格式: End功能: End語(yǔ)句用于結(jié)束程序的運(yùn)行。為了保持程序的完整性,應(yīng)當(dāng)在程序中含有End語(yǔ)句。35 3.2.5 加載對(duì)象語(yǔ)句Load 語(yǔ)法格式:Load 對(duì)象名 功能:把對(duì)象名代表的窗體對(duì)象、控件數(shù)組元素等加載到內(nèi)存中。 說(shuō)明:使用Load語(yǔ)句可以加載窗體,但不顯示窗體。當(dāng)VB加載窗體對(duì)象時(shí),先把窗體屬性設(shè)置為初始值,再執(zhí)行Load事件過(guò)
21、程。 例如: Load Forml 加載窗體Forml Load Option(2) 加載控件數(shù)組中的一個(gè)元素36 3.2.6 卸載語(yǔ)句Unload 格式:Unload 對(duì)象名 功能:從內(nèi)存中卸載指定窗體或控件。 如果卸載的對(duì)象是程序唯一的窗體,則將終止程序的執(zhí)行。 例如: Private Sub Command1_Click() Unload Me 卸載當(dāng)前窗體 End Sub Me是系統(tǒng)關(guān)鍵字,用來(lái)代表當(dāng)前窗體371. InputBox 函數(shù)使用InputBox函數(shù)獲取輸入,調(diào)用方式:3.3.7 人機(jī)交互函數(shù)(P.117) 函數(shù)名稱變量名參數(shù)Fullname= InputBox (prom
22、pt, title)38InputBox 功能 打開一個(gè)對(duì)話框,等待用戶輸入內(nèi)容,當(dāng)用戶單擊“確定”按鈕或按回車鍵時(shí),函數(shù)返回輸入的值,其值的類型為字符串。說(shuō)明: 實(shí)現(xiàn)數(shù)據(jù)的輸入, 最常用的方法是InputBox()函數(shù)和使用文本框控件。 文本框控件用于接收輸入的文本信息(字符型),它將接收的字符串保存在文本框的Text屬性中。例: Dim x% %是整型的類型符 x=InputBox(“x=“) 系統(tǒng)將輸入的字符串自動(dòng)轉(zhuǎn)換數(shù)值-x或 x=Val(Text1.Text) 將數(shù)字字符用Val函數(shù)轉(zhuǎn)換為數(shù)值數(shù)據(jù)-x39x=InputBox(“x = InputBox(輸入X的值:, 輸入框) 或
23、x=Val(InputBox(“x = InputBox(輸入X的值:, 輸入框) )x=Val(Text1.Text)40例:當(dāng)鍵盤輸入“王曉明” 后,變量strName獲得鍵盤輸入的值.Dim strName As String * 40, strS1 As String * 40 聲明定長(zhǎng)字符串變量可存放40個(gè)字strS1 = “請(qǐng)輸入你的姓名” + Chr(13) + Chr(10) + “然后單擊確定” strName= InputBox(strS1, “輸入框”) 輸入對(duì)話框變量strS1中的內(nèi)容作為對(duì)話框的提示信息。41可在需換行處加chr(13)回車符或chr(10)換行符:P
24、rivate Sub Command1_Click() Dim prompt, fullname prompt = 請(qǐng)輸入 + Chr(13) + 你 + Chr(10) + 的 + Chr(10) + 姓 + Chr(10) + 名 fullname = InputBox(prompt) Label1.Caption = fullnameEnd Sub42請(qǐng)輸入 + Chr(13) + 你 + Chr(10) + 的 + Chr(10) + 姓 + Chr(10) + 名chr(13)回車符或chr(10)換行符效果:43 2. MsgBox 函數(shù) 使用MsgBox 函數(shù)輸出信息,調(diào)用方式:
25、MsgBox 函數(shù)的最簡(jiǎn)形式為: MsgBox ( prompt)變量名要顯示的信息對(duì)話框上顯示的按鈕數(shù)量對(duì)話框的標(biāo)題變量% = MsgBox (prompt, Button, title)44MsgBox 功能: 打開一個(gè)消息框,等待用戶選擇一個(gè)按鈕。MsgBox函數(shù)返回所選按鈕對(duì)應(yīng)的整數(shù)值,以便告訴用戶單擊哪一個(gè)按鈕。若不需要返回值,則可作為MsgBox過(guò)程使用。說(shuō)明: prompt和title的含義與InputBox()函數(shù)中對(duì)應(yīng)的參數(shù)相同。 buttons(按鈕):可選項(xiàng),為整型參數(shù)。用來(lái)設(shè)定要顯示的按鈕的數(shù)目、類型和出現(xiàn)在消息框中的圖標(biāo)類型。45函數(shù)調(diào)用示例:Private Sub
26、Command1_Click() Dim prompt, fullname prompt = 請(qǐng)輸入你的姓名 fullname = InputBox(prompt) MsgBox (fullname), , 輸出結(jié)果End Sub46按鈕buttons值如下: 函數(shù)返回所選按鈕整數(shù)值:47示例-按鈕buttons的 設(shè)置值變化效果:MsgBox (fullname), vbOKCancel+vbQuestion, 輸出結(jié)果MsgBox (fullname), vbOKCancel+vbInformation, 輸出結(jié)果函數(shù)返回所選按鈕整數(shù)值變化:vbOKCancel483.3.8 分支語(yǔ)句 (
27、P.46)用于Visual Basic 選擇結(jié)構(gòu)的程序設(shè)計(jì),語(yǔ)句有: IfThen If.ThenElse Select Case491. 單分支結(jié)構(gòu)條件語(yǔ)句1) 語(yǔ)句格式有兩種,第一種是單行格式,定義為: If Then 第二種是多行格式,定義為: If Then End If 條件:關(guān)系、邏輯或算術(shù)表達(dá)式。 表達(dá)式的值按 非0:True; 0:False進(jìn)行判斷。 TF 語(yǔ)句塊表達(dá)式單分支結(jié)構(gòu)50例:已知兩個(gè)數(shù)x和y,比較它們的大小,使得x中的值 大于y中的值。 If xy Then t=x:x=y:y=t t為中間變量 End If將存放在兩個(gè)變量中的數(shù)進(jìn)行交換,必須借助于第三個(gè)變量才能
28、實(shí)現(xiàn)。學(xué)會(huì)兩個(gè)數(shù)的交換很重要。512. 雙分支結(jié)構(gòu)條件語(yǔ)句1)語(yǔ)句格式If Then Else End If 2)語(yǔ)句功能 如果成立,則執(zhí)行,否則執(zhí)行。這種結(jié)構(gòu)為典型的選擇結(jié)構(gòu)。3)示例 計(jì)算分段函數(shù) 【例3-1】 (P.47)52【例3-1】輸入x,計(jì)算y的值。其中:分析: 該題是數(shù)學(xué)中的一個(gè)分段函數(shù),它表示當(dāng)x=0時(shí),用公式y(tǒng)=1+x來(lái)計(jì)算y的值;當(dāng)x=0 作為條件,也可選擇 x=0作為If 條件。程序中當(dāng)x =0為真時(shí),執(zhí)行y=1+x,為假時(shí),執(zhí)行y=1-2x 。 53程序界面如圖3-5:54程序代碼如下:Private Sub Command1_Click() Dim x As Sin
29、gle Dim y As Single x = Val(Text1.Text) Val函數(shù)是把字符型的Text1.Text轉(zhuǎn)換成數(shù)值型。 If x = 0 Then 當(dāng)x=0時(shí) y = 1 + x Else 當(dāng)x0時(shí) y = 1 - 2 * x End If Text2.Text = yEnd Sub55【例3-1:】輸入x,y,z 三個(gè)整數(shù),將它們按從大到小順序排列。(程序ex03-01.frm)56Private Sub Form_Click() Dim x%, y%, z%, t% x = InputBox(x=) 輸入x,y,z y = InputBox(y=) z = InputBo
30、x(z=) If x y t = x: x = y: y = t 兩個(gè)變量的內(nèi)容要交換,必須用中間變量t End If If x z t = x: x = z: z = t End If If y z End If Print Print x; y; z 輸出End Sub57 3. 多分支結(jié)構(gòu)條件語(yǔ)句 (P.47) 1) 語(yǔ)句格式 If Then ElseIf Then ElseIf Then Else End If 582) 語(yǔ)句功能 先判斷是否成立,若成立則執(zhí)行,否則判斷是否成立,若成立,則執(zhí)行,否則繼續(xù)判斷,依次類推,如果所有條件都不成立,則執(zhí)行。注意:(1) 不管有幾個(gè)分支,依次判斷
31、,當(dāng)某條件滿足,執(zhí)行相應(yīng)的語(yǔ)句塊,其余分支不再執(zhí)行;若條件都不滿足,且有Else子句,則執(zhí)行該語(yǔ)句塊,否則什么也不執(zhí)行。 (2) ElseIf 不能寫成Else If。59 If結(jié)構(gòu)的嵌套 塊結(jié)構(gòu)的條件語(yǔ)句可以嵌套,即把一個(gè)If Then Else 塊放在另一個(gè)If Then Else 塊內(nèi)。嵌套必須完全嵌套,也就是內(nèi)層條件語(yǔ)句必須完全包含在外層條件語(yǔ)句之中。 格式: If Then Else End IfIf Then Else End If If Then Else End If 603) 舉例 (P.48)【例3-2】在平面直角坐標(biāo)系中不同的象限內(nèi),點(diǎn)的坐標(biāo)的符號(hào)有以下4種情況: (P.
32、48) 在第一象限內(nèi)x0,y0 在第二象限內(nèi)x0 在第三象限內(nèi)x0,y0,y 0 And y 0 Then Text3.Text = 該點(diǎn)在第一象限內(nèi) ElseIf x 0 Then Text3.Text = 該點(diǎn)在第二象限內(nèi) ElseIf x 0 And y 0 And y max Then max = b End If If c max Then max = c End If Avg = (a + b + c) / 3 Print “Max=”; max,Avg=; Avg,Max-Avg=; max - Avg 634. Select Case語(yǔ)句(情況語(yǔ)句) 1)格式: Select
33、Case 測(cè)試表達(dá)式 (數(shù)值型或字符串表達(dá)式) Case 表達(dá)式列表1 語(yǔ)句塊1 Case 表達(dá)式列表2 語(yǔ)句塊2 Case Else 語(yǔ)句塊n+1 End Select 注意:“測(cè)試表達(dá)式”與“表達(dá)式列表”的類型必須相同。 Select Case 后不能出現(xiàn)多個(gè)變量;Case子句后不能出現(xiàn)變量64 Select Case 測(cè)試表達(dá)式FTFF表達(dá)式表n語(yǔ)句塊n+1語(yǔ)句塊nT表達(dá)式表2語(yǔ)句塊2T表達(dá)式表1語(yǔ)句塊1Select Case 結(jié)構(gòu)652)語(yǔ)句功能 Select Case語(yǔ)句是多分支結(jié)構(gòu)的另一種表示形式。求出的值,按順序依次與Case后的相匹配,若匹配成功,則執(zhí)行該Case下的語(yǔ)句,然后
34、跳出Select Case語(yǔ)句,即轉(zhuǎn)到End Select之后繼續(xù)執(zhí)行。若的值與各表達(dá)式值都不匹配,則執(zhí)行。 其中: “測(cè)試表達(dá)式” 可以是數(shù)值型或字符串表達(dá)式“表達(dá)式列表” 可以是下面四種形式之一: 表達(dá)式 例: A“,x 一組枚舉表達(dá)式(用逗號(hào)分隔) 例: 2,4,6,8 表達(dá)式1 To 表達(dá)式2 例: 60 To 100 Is 關(guān)系運(yùn)算符表達(dá)式(必須使用關(guān)系運(yùn)算符) 例:Is = 90 Label2.Caption = 優(yōu) Case Is = 80 或 Case 80 To 89 Label2.Caption = 良 Case 70 To 79 Label2.Caption = 中 Ca
35、se 60 To 69 Label2.Caption = 及格 Case Else Label2.Caption = 不及格 End SelectEnd Sub68例:補(bǔ)充題3 列表框中Select Case 語(yǔ)句的應(yīng)用。根據(jù)List1.ListIndex 屬性值的不同,顯示不同的解釋。單擊列表框的列表項(xiàng)后, ListIndex 屬性返回一個(gè)對(duì)應(yīng)于列表框中列表項(xiàng)位置的編號(hào)(第一個(gè)列表項(xiàng)的編號(hào)為0,第二個(gè)列表項(xiàng)的編號(hào)為1,依次類推。)(程序:變量聲明.frm)69代碼如下:Private Sub List1_Click() Select Case List1.ListIndex Case 0 Label4.Caption = 用Dim聲明局部變量 Case 1 Label4.Caption = 用Static聲明的是靜態(tài)變量 Case 2 Label4.Caption = 用Private聲明的是窗體變量。 Case 3 Label4.Caption = Public聲明的是公共變量。 End SelectEnd Sub703) 實(shí)例【例3-3】某運(yùn)輸公司對(duì)用戶計(jì)算運(yùn)費(fèi),公式為: 運(yùn)費(fèi)=基本運(yùn)費(fèi)*貨物重量*距離*(1-折扣),距離越遠(yuǎn),每公里運(yùn)費(fèi)越低,計(jì)算標(biāo)準(zhǔn)如下: (ex03-03.frm) 0 距離 = 250 km 沒有折
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工程施工勞務(wù)分包合同社會(huì)責(zé)任履行協(xié)議
- 2025年度合同擔(dān)保業(yè)務(wù)流程優(yōu)化指南
- 紅河云南紅河市紅河縣公安局招聘警務(wù)輔助人員筆試歷年參考題庫(kù)附帶答案詳解
- 百色2025年廣西百色市西林縣民政局招聘4人筆試歷年參考題庫(kù)附帶答案詳解
- 甘肅2025年甘肅省公安廳招聘輔警45人筆試歷年參考題庫(kù)附帶答案詳解
- 武漢2025年湖北武漢理工大學(xué)思想政治理論課教師(輔導(dǎo)員專項(xiàng))招聘筆試歷年參考題庫(kù)附帶答案詳解
- 平頂山2024年河南平頂山市委機(jī)構(gòu)編制委員會(huì)辦公室所屬事業(yè)單位招聘3人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年中國(guó)二位三通電控?fù)Q向閥市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)防爆敲擊呆扳手行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年膠囊沖填機(jī)項(xiàng)目可行性研究報(bào)告
- 中國(guó)香蔥行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展研究報(bào)告2024-2034版
- 婦科惡性腫瘤免疫治療中國(guó)專家共識(shí)(2023)解讀
- 2024年浪潮入職測(cè)評(píng)題和答案
- 小班數(shù)學(xué)《整理牛奶柜》課件
- 中考語(yǔ)文真題雙向細(xì)目表
- 我國(guó)新零售業(yè)上市公司財(cái)務(wù)質(zhì)量分析-以蘇寧易購(gòu)為例
- 青島版三年級(jí)下冊(cè)科學(xué)25.小改變大效率教學(xué)課件
- 藥品集采培訓(xùn)課件
- 股骨干骨折教學(xué)演示課件
- 動(dòng)靜脈內(nèi)瘺血栓
- 朗誦《詩(shī)頌風(fēng)華》
評(píng)論
0/150
提交評(píng)論