




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 本章主要介紹程序代碼設(shè)計(jì)基礎(chǔ)知識(shí):數(shù)據(jù)類型、變量、常量、運(yùn)算符、表達(dá)式和基本語句。以程序代碼編寫為核心,介紹VB語言工具的高級(jí)用法:數(shù)組、過程與函數(shù)。學(xué)習(xí)重點(diǎn):掌握VB的數(shù)據(jù)類型、變量、表達(dá)式以及運(yùn)算符的優(yōu)先級(jí)。掌握VB的常用語句和結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)。掌握VB中數(shù)組、過程與函數(shù)的定義及其用法。 第三章 程序設(shè)計(jì)基礎(chǔ)1 3.1 基本語法 3.2 結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu) 3.3 基本語句 3.4 數(shù)組 3.5 過程 3.6 內(nèi)部函數(shù)23.1 基本語法33.1.0 VB的編碼規(guī)則VB和任何程序設(shè)計(jì)語言一樣,編寫代碼有一定的書寫規(guī)則:1. VB代碼不區(qū)分字母的大小寫2. 語句書寫自由
2、 (1)同一行上可以書寫多條語句,語句間用“:”分隔; (2)續(xù)行符(空格下劃線)“ _”; (3)一行允許多達(dá)255個(gè)字符。3. 注釋有利于程序的維護(hù)和調(diào)試 注釋以Rem 開始,但一般用西文單引號(hào)“ ”引導(dǎo)注釋的內(nèi)容,可以直接出現(xiàn)在語句的后面。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)括起來的字符序列,由字母、數(shù)字和漢字組成。例:“Visual Basic 6.0程序設(shè)計(jì)”。
3、VB的字符串有兩種,即可變長度字符串和固定長度字符串。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)對象型數(shù)據(jù)(Object) 對象型數(shù)據(jù)用于表示應(yīng)用程序或某些其他應(yīng)用程序中的對象,在內(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 語句自定義數(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)、姓名、成績等。Private Type student num As String * 8 定
5、義num為字符串變量 name As String *8 score As Integer End Type83.1.2 常量與變量 1.常量 常量是指在程序運(yùn)行過程中始終保持不變的量,在VB中有三種形式的常量,即直接常量、符號(hào)常量和系統(tǒng)提供的常量。1)直接常量 直接常量就是在程序代碼中,以直接明顯的形式給出的常數(shù)值。根據(jù)常量的數(shù)據(jù)類型,可分為字符串常量、數(shù)值常量、布爾常量和日期常量。 例:“Visual Basic”,234,True,#05/04/03#。2)符號(hào)常量 在程序中,可以定義符號(hào)常量,用來代替直接常量。必須先定義,再使用。符號(hào)名必須是以字母開頭,由字母、數(shù)字、下劃線組成的長度不
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)定義的常量位于對象庫中,可通過“對象瀏覽器”查看. 例: 窗口狀態(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)行過程中是可變的。 在程序運(yùn)行過程中,可以改變的量稱為變量。1)變量的命名規(guī)則: 只能以字母開頭,由字母、數(shù)字和下劃線組成,長度不得超過255個(gè)字符。 VB中不區(qū)分變量名的大小寫。 不能使用VB的關(guān)鍵字作變量名。 為了增加程序的可讀性,可在變量名前加一個(gè)縮寫
8、的前綴來表明該變量的數(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 語句顯式聲明變量格式 : Dim 變量名 AS 類型
9、或 Dim 變量名類型符 說明: 將給定的變量名聲明為指定類型的變量 如果 As 類型部分省略,所建立的變量類型默認(rèn)為變體類型。 在一個(gè)Dim語句中可以定義多個(gè)變量,但每個(gè)變量必須有自己的類型聲明。 變量未進(jìn)行上述的聲明而直接使用,其類型為 Variant 類型。即隱式聲明 在使用變量前,最好先聲明這個(gè)變量。所謂聲明變量就是事先將變量的有關(guān)信息通知程序。3)變量的聲明14例: Dim Age As Integer 或Dim Age% 定義Age為整型變量 Dim StrTemp As String 定義StrTemp為不定長字符型變量 Dim StrName As String * 10 定義
10、StrName 為定長(10)字符變量 Dim Number As Single, Count As Single 定義Number和Count都是單精度變量 Dim Number , Count As Single 定義Number為變體變量,Count為單精度變量 注意: 在通用聲明處加 Option Explicit 語句可強(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)算符用于對數(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)算符用于對兩個(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) 其作用是對表達(dá)式進(jìn)行邏輯運(yùn)算,結(jié)果是邏輯值。 和關(guān)系運(yùn)算符一樣,邏輯運(yùn)算通常也用來判斷程序流程。例如: 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)算符對數(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)算符對數(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)必須成對出現(xiàn),均使用圓括號(hào)。 (4) 表達(dá)式從左到右在同一基準(zhǔn)上書寫,無高低、大小。 243)算術(shù)表達(dá)式中數(shù)據(jù)類型的轉(zhuǎn)換 在算術(shù)運(yùn)算中,如果操作數(shù)采用不同的數(shù)據(jù)精度,則VB規(guī)定,運(yùn)算結(jié)果的數(shù)據(jù)類型采用向精度高的數(shù)據(jù)類型靠。 IntegerLongSingleDoubleCurrency 整型 長整型 單精度 雙精度 字符運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符 對于同種運(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程序控制語句Visual Basic語言作為結(jié)構(gòu)化程序設(shè)計(jì)語言,提供了三種控制流來控制程序的流程:順序,條件分支和循環(huán)語句。283.2.1 順序結(jié)構(gòu) 整個(gè)程序按書寫順序依次執(zhí)行。語句塊1語句塊2293.2.2 選擇結(jié)構(gòu) 如圖3-2所示,當(dāng)條件成立時(shí)執(zhí)行A程序塊,否則執(zhí)行B程序塊,即A與B只能執(zhí)行其中一個(gè)。 圖3-2選擇結(jié)構(gòu)語句塊A語句塊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)體語句,直到條件為假,停止循環(huán)。2. 圖3-4為直到型循環(huán)結(jié)構(gòu),先執(zhí)行循環(huán)體語句,再判斷條件是否為真,若為真,再執(zhí)行循環(huán)體,直到條件為假。 循環(huán)體條件假 真 (1) 當(dāng)型循環(huán)結(jié)構(gòu)(2) 直到型循環(huán)結(jié)構(gòu)循環(huán)體條件假 真 313.3 基本語句323.3.1賦值語句1.語句格式: = 或:.=2.語句功能 計(jì)算表達(dá)式的值,并將該值賦給賦值號(hào)(=)左邊的變量或?qū)ο髮傩浴?.使用賦值語句時(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) 賦值語句中的“=”與關(guān)系運(yùn)算符中的“=”的作用截然不同。4. 實(shí)例: Form1.caption = 輸入框333.3.2 注釋語句1. 語句格式 注釋內(nèi)容 或 Rem 2.語句功能 注釋語句給程序中的語句或程序段加上注釋內(nèi)容,以提高程序的可讀性。注釋語句是非執(zhí)行語句,僅對程序的有關(guān)內(nèi)容起注釋作用,不被解釋和編譯。注釋語句不能放在續(xù)行符后。例:c=b:b=a:b=c 交換A、B的值 或?qū)懗桑?Rem 交換A、B的值 c=b:b=a:b=c343.3.3 Stop語句格式:Stop功能:暫時(shí)停止程序的執(zhí)行。說明: Stop語句可以放在程序的任何地方
20、,它的作用相當(dāng)于在程序代碼中設(shè)置的斷點(diǎn)。類似于執(zhí)行“運(yùn)行”菜單中的“中斷”命令,當(dāng)執(zhí)行Stop語句時(shí),系統(tǒng)將自動(dòng)打開立即窗口,方便用戶調(diào)試跟蹤程序。 當(dāng)程序調(diào)試結(jié)束后,生成可執(zhí)行文件(.ExE)之前,應(yīng)刪去代碼中的所有Stop語句。3.3.4 結(jié)束語句格式: End功能: End語句用于結(jié)束程序的運(yùn)行。為了保持程序的完整性,應(yīng)當(dāng)在程序中含有End語句。35 3.2.5 加載對象語句Load 語法格式:Load 對象名 功能:把對象名代表的窗體對象、控件數(shù)組元素等加載到內(nèi)存中。 說明:使用Load語句可以加載窗體,但不顯示窗體。當(dāng)VB加載窗體對象時(shí),先把窗體屬性設(shè)置為初始值,再執(zhí)行Load事件過
21、程。 例如: Load Forml 加載窗體Forml Load Option(2) 加載控件數(shù)組中的一個(gè)元素36 3.2.6 卸載語句Unload 格式:Unload 對象名 功能:從內(nèi)存中卸載指定窗體或控件。 如果卸載的對象是程序唯一的窗體,則將終止程序的執(zhí)行。 例如: Private Sub Command1_Click() Unload Me 卸載當(dāng)前窗體 End Sub Me是系統(tǒng)關(guān)鍵字,用來代表當(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è)對話框,等待用戶輸入內(nèi)容,當(dāng)用戶單擊“確定”按鈕或按回車鍵時(shí),函數(shù)返回輸入的值,其值的類型為字符串。說明: 實(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 聲明定長字符串變量可存放40個(gè)字strS1 = “請輸入你的姓名” + Chr(13) + Chr(10) + “然后單擊確定” strName= InputBox(strS1, “輸入框”) 輸入對話框變量strS1中的內(nèi)容作為對話框的提示信息。41可在需換行處加chr(13)回車符或chr(10)換行符:P
24、rivate Sub Command1_Click() Dim prompt, fullname prompt = 請輸入 + Chr(13) + 你 + Chr(10) + 的 + Chr(10) + 姓 + Chr(10) + 名 fullname = InputBox(prompt) Label1.Caption = fullnameEnd Sub42請輸入 + Chr(13) + 你 + Chr(10) + 的 + Chr(10) + 姓 + Chr(10) + 名chr(13)回車符或chr(10)換行符效果:43 2. MsgBox 函數(shù) 使用MsgBox 函數(shù)輸出信息,調(diào)用方式:
25、MsgBox 函數(shù)的最簡形式為: MsgBox ( prompt)變量名要顯示的信息對話框上顯示的按鈕數(shù)量對話框的標(biāo)題變量% = MsgBox (prompt, Button, title)44MsgBox 功能: 打開一個(gè)消息框,等待用戶選擇一個(gè)按鈕。MsgBox函數(shù)返回所選按鈕對應(yīng)的整數(shù)值,以便告訴用戶單擊哪一個(gè)按鈕。若不需要返回值,則可作為MsgBox過程使用。說明: prompt和title的含義與InputBox()函數(shù)中對應(yīng)的參數(shù)相同。 buttons(按鈕):可選項(xiàng),為整型參數(shù)。用來設(shè)定要顯示的按鈕的數(shù)目、類型和出現(xiàn)在消息框中的圖標(biāo)類型。45函數(shù)調(diào)用示例:Private Sub
26、Command1_Click() Dim prompt, fullname prompt = 請輸入你的姓名 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 分支語句 (
27、P.46)用于Visual Basic 選擇結(jié)構(gòu)的程序設(shè)計(jì),語句有: IfThen If.ThenElse Select Case491. 單分支結(jié)構(gòu)條件語句1) 語句格式有兩種,第一種是單行格式,定義為: If Then 第二種是多行格式,定義為: If Then End If 條件:關(guān)系、邏輯或算術(shù)表達(dá)式。 表達(dá)式的值按 非0:True; 0:False進(jìn)行判斷。 TF 語句塊表達(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)條件語句1)語句格式If Then Else End If 2)語句功能 如果成立,則執(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來計(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)條件語句 (P.47) 1) 語句格式 If Then ElseIf Then ElseIf Then Else End If 582) 語句功能 先判斷是否成立,若成立則執(zhí)行,否則判斷是否成立,若成立,則執(zhí)行,否則繼續(xù)判斷,依次類推,如果所有條件都不成立,則執(zhí)行。注意:(1) 不管有幾個(gè)分支,依次判斷
31、,當(dāng)某條件滿足,執(zhí)行相應(yīng)的語句塊,其余分支不再執(zhí)行;若條件都不滿足,且有Else子句,則執(zhí)行該語句塊,否則什么也不執(zhí)行。 (2) ElseIf 不能寫成Else If。59 If結(jié)構(gòu)的嵌套 塊結(jié)構(gòu)的條件語句可以嵌套,即把一個(gè)If Then Else 塊放在另一個(gè)If Then Else 塊內(nèi)。嵌套必須完全嵌套,也就是內(nèi)層條件語句必須完全包含在外層條件語句之中。 格式: 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語句(情況語句) 1)格式: Select
33、Case 測試表達(dá)式 (數(shù)值型或字符串表達(dá)式) Case 表達(dá)式列表1 語句塊1 Case 表達(dá)式列表2 語句塊2 Case Else 語句塊n+1 End Select 注意:“測試表達(dá)式”與“表達(dá)式列表”的類型必須相同。 Select Case 后不能出現(xiàn)多個(gè)變量;Case子句后不能出現(xiàn)變量64 Select Case 測試表達(dá)式FTFF表達(dá)式表n語句塊n+1語句塊nT表達(dá)式表2語句塊2T表達(dá)式表1語句塊1Select Case 結(jié)構(gòu)652)語句功能 Select Case語句是多分支結(jié)構(gòu)的另一種表示形式。求出的值,按順序依次與Case后的相匹配,若匹配成功,則執(zhí)行該Case下的語句,然后
34、跳出Select Case語句,即轉(zhuǎn)到End Select之后繼續(xù)執(zhí)行。若的值與各表達(dá)式值都不匹配,則執(zhí)行。 其中: “測試表達(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īng)用。根據(jù)List1.ListIndex 屬性值的不同,顯示不同的解釋。單擊列表框的列表項(xiàng)后, ListIndex 屬性返回一個(gè)對應(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)輸公司對用戶計(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025汽車電子皮膚行業(yè)發(fā)展趨勢關(guān)鍵要素市場與競爭格局分析報(bào)告
- 文案-沈陽保利十二橡樹莊園營銷全案
- 人教七年級(jí)下學(xué)期地理教學(xué)設(shè)計(jì)第十章《極地地區(qū)》
- 2025總經(jīng)理就職演講稿(15篇)
- 2025年暑期工作總結(jié)范文(10篇)
- 泌尿科護(hù)士心得體會(huì)(17篇)
- 應(yīng)屆生頂崗實(shí)習(xí)報(bào)告2025(18篇)
- 七年級(jí)信息技術(shù)下冊 模塊二《編排板報(bào)》第八課時(shí)教學(xué)設(shè)計(jì)
- 八年級(jí)下期中家長會(huì)發(fā)言稿范文(18篇)
- 小學(xué)校慶詩朗誦(4篇)
- 2022年電力電纜頭制作施工方案【完整版】
- 基于STM32的光照控制系統(tǒng)設(shè)計(jì)
- 北京山區(qū)農(nóng)機(jī)化發(fā)展的對策研究
- 有限空間現(xiàn)場作業(yè)安全檢查表(現(xiàn)場檢查)
- 1、防止人身傷亡事故檢查表
- 環(huán)境信息系統(tǒng)的GIS基礎(chǔ) 03講 空間數(shù)據(jù)模型
- 德語字母讀音表
- 國際創(chuàng)傷生命支持創(chuàng)傷評(píng)估步驟與治療決策樹-Microsoft-Office-Word-文檔
- GB/T 8766-2013單水氫氧化鋰
- GB/T 2792-1998壓敏膠粘帶180°剝離強(qiáng)度試驗(yàn)方法
- GB/T 15292-1994晶閘管測試方法逆導(dǎo)三極晶閘管
評(píng)論
0/150
提交評(píng)論