Visual,Basic程序設(shè)計教程第3章.ppt_第1頁
Visual,Basic程序設(shè)計教程第3章.ppt_第2頁
Visual,Basic程序設(shè)計教程第3章.ppt_第3頁
Visual,Basic程序設(shè)計教程第3章.ppt_第4頁
Visual,Basic程序設(shè)計教程第3章.ppt_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第 3 章 Visual Basic 語言基礎(chǔ),學(xué)習(xí)目標(biāo): 掌握數(shù)據(jù)類型、表達(dá)式、操作符的正確使用; 理解常見內(nèi)部標(biāo)準(zhǔn)函數(shù);了解簡單的應(yīng)用程序開發(fā)。,本章導(dǎo)讀,教學(xué)重點(diǎn)和難點(diǎn): 常量和變量的三要素(名稱、類型、作用范圍),運(yùn)算符的優(yōu)先級,常用內(nèi)部函數(shù)的靈活使用。,授課學(xué)時 4課時,本章主要內(nèi)容,3.1字符集 3.2數(shù)據(jù)類型 3.3常量與變量 3.4運(yùn)算符與表達(dá)式 3.5常用內(nèi)部函數(shù) 3.6Visual Basic語句及書寫規(guī)則 3.7Visual Basic的基本語句,重點(diǎn): 1.常量和變量的三要素(名稱、 類型、作用范圍) .運(yùn)算符的優(yōu)先級 3.常用內(nèi)部函數(shù)的靈活使用,3.1 字符集,VB采用Unicode字符集。特點(diǎn):一個漢字和一個英文均為1個字符,占兩個字節(jié)。,系統(tǒng)定義,在語法上有固定的含義。書寫時首字母會自動轉(zhuǎn)為大寫。如If、Cls、Print、True。,1. 字符集,2. 關(guān)鍵字(保留字),(最小語法單位),(語法組成部分),3.2 數(shù)據(jù)類型,數(shù)據(jù)是程序的必要組成部分,在VB中對數(shù)據(jù)進(jìn)行分類處理。(因?yàn)椴煌瑪?shù)據(jù)類型的操作方式、取值范圍、存儲空間不同) Visual Basic提供了兩種數(shù)據(jù)類型: 標(biāo)準(zhǔn)數(shù)據(jù)類型(系統(tǒng)定義) 自定義數(shù)據(jù)類型(用戶定義) 標(biāo)準(zhǔn)數(shù)據(jù)類型主要有字符串型數(shù)據(jù)和數(shù)值型數(shù) 據(jù),此外還提供了字節(jié)、貨幣、對象、日期、 布爾和變體數(shù)據(jù)類型。,VB標(biāo)準(zhǔn)的數(shù)據(jù)類型(見P38表3-1),1.字符串?dāng)?shù)據(jù)類型,注意: (1)用雙引號“”括起來。如“ABC”、“中國”,凡是字符型數(shù)據(jù)必須用“”括起來。 (2)“”表示空字符串,“ ”表示有一個空格的字符串。 (3)字符串的長度(Length)是指它的字符個數(shù),包括空格。 (4)由數(shù)字組成的字符串是不能計算的。,字符包括西文字符與漢字。,問? A+b 是不是字符串?“Visual Basic”的長度是? “10“+“20“是不是等于“30“呢?應(yīng)該等于什么?,整型、實(shí)型(帶小數(shù)),(1) 整型:帶正負(fù)號的整數(shù)。 整型(Integer)(兩個字節(jié)):十進(jìn)制取值范圍是 -3276832767 八進(jìn)制前面冠以&或&O,由07組成。如 &O34 十六進(jìn)制前面冠以&H,由07,AF(或af)組成。 如:&H16 長整型(Long)(4個字節(jié)) 表示長整數(shù),在數(shù)字后加&,如123&。 Byte字節(jié)型 以一個字節(jié)存儲無符號整型數(shù)。0255,整型數(shù)據(jù)在存儲時占兩個字節(jié),長整型占4個字節(jié),長整型存儲的數(shù)據(jù)范圍比整型大,2.數(shù)值數(shù)據(jù)類型,?整型和長整型的區(qū)別,(2) 實(shí)型(帶小數(shù)部分的數(shù)) 單精度(Single)(4個字節(jié)) 精確到7位(有效數(shù)字個數(shù)為7)十進(jìn)制。數(shù)字后加!,帶小數(shù)點(diǎn),科學(xué)記數(shù)法,如123.45!,123.45,0.12345E+3(相當(dāng)于0.12345103 ) 雙精度(Double)(8個字節(jié)) 精確到15或16位十進(jìn)制數(shù)。表示雙精度,數(shù)字后加#,在科學(xué)記數(shù)中用D代替E。如: 123.45#,0.12345D-3(相當(dāng)于0.1234510-3) 貨幣型(Currency)(8個字節(jié)) 多用來表示錢款。精確到小數(shù)點(diǎn)后位(位以后的數(shù)字被舍去,不舍入),小數(shù)點(diǎn)前可多達(dá)15位。如1234,區(qū)別在于所表示數(shù)據(jù)的精度不同,一個是精確到7位十進(jìn)制數(shù),一個是精確到15、16位十進(jìn)制數(shù),還有保存數(shù)據(jù)的范圍不同,?單精度和雙精度的異同,(3)邏輯數(shù)據(jù)類型:Boolean (2個字節(jié)),表示比較和判斷的邏輯結(jié)果,只有兩種值:True(真)或False(假)。 如:x=1, y=3, xy的結(jié)果為布爾型,F(xiàn)alse 邏輯數(shù)據(jù)與整型的互轉(zhuǎn): True-1 False0 非0數(shù)True 0False ? 3變?yōu)檫壿嬛祽?yīng)該為_,其結(jié)果轉(zhuǎn)換 成整型又為_,(4)日期數(shù)據(jù)類型:Date,用號碼符#括起來。凡是日期型數(shù)據(jù)必須用#括起來。 如#11/12/1998#、 #23:35:45# Visual Basic 中有多種Date 和 Time 格式。例如: #1980-03-16#、 #3-6-93 13:20# #March 27 , 1993 1:20am# ?#11/12/1998#11結(jié)果為,#11/01/1998#,5.對象數(shù)據(jù)類型:Object,Object 變量采用 32 位(4 個字節(jié))地址來存儲對象,表示圖形或OLE等對象。,6.變體數(shù)型類型:Variant,將什么類型的數(shù)據(jù)賦給它,它就是什么類型,一個變量在使用之前如果沒有定義,則系統(tǒng)默認(rèn)它是變體類型 。 如: St =label1.caption Label1.caption=label2.caption Label2.caption=St,自定義數(shù)據(jù)類型,由多個標(biāo)準(zhǔn)數(shù)據(jù)類型組合而成,有時稱記錄類型。比如定義一個“學(xué)生記錄類型”,包括學(xué)生的“姓名、年齡、出生日期、是否團(tuán)員”項(xiàng)數(shù)據(jù),則定義方法為: Type Stu_Rec Name As String*8 姓名Name為個字符 Age As Integer 年齡Age為整數(shù)型 Birthday As Date 出生日期Birthda為日期 Member As Boolean 團(tuán)員Member為布爾型 End Type Dim student as stu_rec 這里的Stu_Rec就是一個用戶自定義的記錄類型。它的 具體數(shù)據(jù)信息定義在Type與End Type之間。 (具體使用見第7章),枚舉數(shù)據(jù)類型(Enumeratic) 像布爾型Boolean只有種取值True和False一樣,當(dāng)一種數(shù)據(jù)類型只有幾種可能的取值時,可以定義為枚舉型。“枚舉型”是指將數(shù)據(jù)可能的取值一一列舉出來,其數(shù)據(jù)取值只限于列舉出來的值的范圍。 如:Sun、 Mon、 Tue、 wed、 Thur、 Fri、 Sat 若其中Sun的值設(shè)為0,則Wed的值為3。,3.3 常量與變量,常量 變量 關(guān)鍵在于把握它們的三要素: 命名、數(shù)據(jù)類型、作用范圍,命了名的存儲單元,3.3.1 常量或變量的命名規(guī)則,1.以字母、漢字開頭,由字母、漢字、數(shù) 字或下劃線組成,長度小于等于255個字符; 2.不能使用VB中的關(guān)鍵字(系統(tǒng)專有詞匯); 如if、 cls等。 3.不區(qū)分變量名的大小寫;通常變量名首字母大寫,其余字母小寫,常量全部大寫。 4為增加程序的可讀性,可在變量名加一個縮寫前綴。如,intCount,strMystring,? 5a、 3x_2、Print、Print_Num、 Abc、BB中哪些是合法的變量名。,3.3.2 常量,兩種: 系統(tǒng)定義,其由Visual Basic系統(tǒng)或引用的對象提供。如: vbRed、 vbNormal 用戶自定義,需要用 Const 語句來聲明。 格式:Const 常量名As類型=表達(dá)式 (缺省表示變體型) 舉例: Const PI=3.14159,G=9.18 該語句中用符號 PI替代3.14159,G替代9.18。 ?Const MAXA% = 1 Const ONE& = 1, TWO# = 1 這幾個變量 有何區(qū)別?,3.3.3 變量,格式 : Dim 變量名As類型 (缺省為變體類型) 如:Dim intX As integer,sngAll As single 等價于: Dim intX As integer Dim sngAll As single,在 Visual Basic 中執(zhí)行應(yīng)用程序期間,用變量臨時存儲數(shù)據(jù)。變量有三要素:名字、數(shù)據(jù)類型、作用范圍。 程序使用變量前通常要聲明變量,聲明時需要指出變量名稱和類型,以便系統(tǒng)分配存儲單元。,1顯式聲明(使用Dim),注意: (1) 字符串變量類型。有兩種定義方法: Dim 字符串變量名 As string Dim 字符串變量名 As string *字符數(shù) (定長) 如Dim xy As String*50 (2)定義時可以在變量名后加類型符來代替“As 類型” 如: dim x! 等價于 Dim x as single (3)一條dim 語句可同時定義多個變量,但每個變量 需要自己的類型說明。 如:dim x , y as integer (4)用DefType語句定義類型 如果遇到大量需要定義的變量時,用這種方法。 DefType 字母范圍 DefInt A-F A-F打頭的變量均為整型 DefDbl G-K G-K打頭的變量均為雙精度實(shí)型,在VB中,變量在使用時如果不定義,計算機(jī)默認(rèn)是變體類型 Variant。它容易導(dǎo)致一些難以查找的錯誤。 如: temp=a a=b b=tmp,兩種方法: (1)在程序模塊的通用聲明段加入語句: Option Explicit; (2)“工具/選項(xiàng)/編輯器”中,選中“要求變量聲明”,2隱式聲明,推薦使用顯式聲明。如何保證?,過程級變量(局部變量):在過程內(nèi)部用Dim聲明的變量,只在一個過程內(nèi)部有效。 窗體級變量:在窗體的通用對象聲明區(qū)中聲明的變量,其特點(diǎn)是在所定義的模塊的各個過程中都有效。 例:簡單計算器,利用變量。 a=val(text1) b=val(text2),3作用域,3.4 運(yùn)算符與表達(dá)式,程序中對數(shù)據(jù)的基本加工,是依靠運(yùn)算符實(shí)現(xiàn)的。在Visual Basic中運(yùn)算符的類型有:算術(shù)運(yùn)算符、比較運(yùn)算符、連接運(yùn)算符、邏輯運(yùn)算符。通過常量、變量、運(yùn)算符、函數(shù)等的組合,由此構(gòu)成表達(dá)式。,3.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式,用來進(jìn)行算術(shù)運(yùn)算,按優(yōu)先級排列為: - * / MOD + - 乘方 取負(fù) 乘 浮點(diǎn)除 整數(shù)除 取余 加 減 同級自左向右順序運(yùn)算。 注意: (-8)(1/3) -8(1/3)哪個對? 2/6?26? 35.7(-20.1) ? 2 MOD 3? 6 MOD 3?(如果x MOD y等于,說明什么?) 5.3 mod -2 ? 3.52.5? -6.5 mod 3.5? ? 4+56*7/8 mod 9 5mod 2*62/62,ab,若a為負(fù),則b必須是整數(shù),當(dāng)操作數(shù)帶有小數(shù)點(diǎn)時,首先四舍五入為整型數(shù)再計算,如果操作數(shù)是實(shí)數(shù),四舍五入取整 ,MOD運(yùn)算結(jié)果的符號取決于左操作數(shù)的符號。如果x MOD y等于,則表示x能被y整除,在整除和取模運(yùn)算時,若操作數(shù)是小數(shù)點(diǎn)后為5的數(shù),如0.5,1.5,2.5,等,則:整數(shù)部分為奇數(shù)的四舍五入,整數(shù)部分為偶數(shù)的不四舍五入。(奇進(jìn)偶退)即此時“”和“MOD”符號兩邊均是偶數(shù)。,3.4.2字符串運(yùn)算符與字符串表達(dá)式,兩個:“&”、“+”,都是將兩個字符串拼接。 注意: (1)使用“&”時,變量與運(yùn)算符“&”間應(yīng)加一個空格;連接符兩旁的操作數(shù)不管是字符型還是數(shù)值型,先轉(zhuǎn)換為字符型,再連接 。 (2) “+”連接符兩旁的操作數(shù)必須一致。均為字符型,則連接,若均為數(shù)值型則進(jìn)行算術(shù)加運(yùn)算,否則出錯。 (3)連接符 & 和 只能連接前后兩個字符串,如 果不是字符串,可以用Str函數(shù)轉(zhuǎn)換。 a&b a & b “abc”+123 “abc”& 123 (注意:“4”123) 區(qū)分正誤?,private sub form_click() a=10 b=20 s=a+b 這個+是算術(shù)運(yùn)算的加 c=“a+b=“ Text1.Text=c+s 這個+是字符串的連接符 End sub 對不對?如不對,如何改?,= 或 = “ABC “ “ABC“ “Abc“ “34”=“4” “3“=“3”,3.4.3關(guān)系運(yùn)算符與關(guān)系表達(dá)式,3.4.4 邏輯運(yùn)算符與邏輯表達(dá)式,邏輯運(yùn)算符(布爾運(yùn)算)共有個: Not、And、Or、Xor、Eqv、Imp 作用:邏輯運(yùn)算符用來把多個單條件聯(lián)合成一個條件,稱為“復(fù)合條件”。(用在if 語句中),如: X10 and x90 問? (Not True or True) And Not True的結(jié)果 A不等于C,并且B大于等于A這個VB表達(dá)式 如何寫?,注意:算術(shù)運(yùn)算符兩邊的操作數(shù)應(yīng)是數(shù)值型,如果是數(shù)字字符或邏輯型,自動轉(zhuǎn)換成數(shù)值型后再運(yùn)算。 如: 30-true false+10+”4”,3.4.5 表達(dá)式的運(yùn)算順序,(1) 當(dāng)表達(dá)式中有多種運(yùn)算時,執(zhí)行順序?yàn)椋?括號函數(shù)算術(shù)運(yùn)算關(guān)系運(yùn)算邏輯運(yùn)算, 當(dāng)運(yùn)算級別一樣時,按左到右順序運(yùn)算 (2)在算術(shù)運(yùn)算中,如果不同數(shù)據(jù)類型的操作數(shù)混合運(yùn)算,則VB規(guī)定運(yùn)算結(jié)果的數(shù)據(jù)類型采用精度高的數(shù)據(jù)類型。 Integer160 Or (B*C200 And Not D60)的值是_。 的Visual Basic表達(dá)式為_ 。,3.5 常用內(nèi)部函數(shù),Visual Basic提供豐富的內(nèi)置函數(shù)用于程序設(shè)計,包括:數(shù)學(xué)函數(shù) 、字符串函數(shù)、轉(zhuǎn)換函數(shù)、日期時間函數(shù)、隨機(jī)函數(shù)等方面的函數(shù)。,1.轉(zhuǎn)換函數(shù),(1) Str() Val() Str(“123”)=“ 123” (2) Chr()ASC() ASC(“BAC”)= (3) Fix()Int() 區(qū)別 Int(-45.6)= Fix(-45.6)= (4) Lcase()Ucase() (5) Cint(-0.5) Cint(-0.5)?為什么?,整數(shù)部分為奇數(shù)的做四舍五入,整數(shù)部分為偶數(shù)的不做四舍五入。(奇進(jìn)偶退),2.數(shù)學(xué)函數(shù),三角函數(shù)中的參數(shù)以弧度為單位 如 y=sin(30。) 錯誤 應(yīng)為: y=sin(30*3.1415926/180) Sqr(9)錯誤。 Y=Sgn(6) 則y的值是1。 數(shù)學(xué)式y(tǒng)lnX在VB中正確的書寫應(yīng)為y=log(x),? 求cos(60。) sgn(-52) ln10的值,3.字符串函數(shù),x=Instr (2,”ABEfCDEFG”,”EF”,0) x的結(jié)果為7(0或缺省區(qū)分大小寫,1 不區(qū)分) x=Instr (2,”ABEfCDEFG”,”EF”,1) X的結(jié)果為3 x=Instr (2,”ABEfCDEFG”,”FE”) X的結(jié)果為0 A=“your”:b=“sname”:c=“iscr” print Right(A,3) print Mid(B,2,4) print Left(C,2) 在窗體上顯示的結(jié)果分別為? Y=string(3,67) 結(jié)果為:? 區(qū)別 Rtrim()、Ltrim()、trim()作用? 以“ Visual basic ”為例,如:label1.caption=time,4.日期、時間函數(shù)(time(),5.隨機(jī)函數(shù) (Rnd(),產(chǎn)生0,1)的隨機(jī)小數(shù) Rnd與Rnd(1)效果相同 生成某個范圍的隨機(jī)整數(shù)的公式: Int(Upper-Lower+1)*Rnd+Lower) (3) 使每次產(chǎn)生的隨機(jī)數(shù)不同,需利用Randomize語句 例子:隨機(jī)產(chǎn)生學(xué)號,隨機(jī)產(chǎn)生隨機(jī)數(shù)1-6。,如:y=isnumeric(“12b34”) 則 y的結(jié)果為false. If Isnumeric(val(text1.text) then 含義?,判斷函數(shù) (IsNumeric(),補(bǔ)充:,Shell()函數(shù),調(diào)用Windows下的任何可執(zhí)行程序 舉例: 調(diào)用計算器i=shell(“c:windowscalc.exe”) 調(diào)用 Word程序 并把指定文件打開,3.6 Visual Basic語句,VB源代碼不區(qū)分字母的大小寫 語句書寫自由 例:a=3: b=4 多條語句寫在一行上 ,用“:”分隔 例:dim a as integer,b as integer, _ c as integer 一條語句寫在多行上,用 _ (空格下劃線) 適當(dāng)添加注釋有利用程序的維護(hù)和測試 Rem (注釋語句不執(zhí)行) 保留行號與標(biāo)號 如: a: end,3.6.1 Visual Basic語句書寫規(guī)則,3.6.2 Visual Basic的基本語句,格式:目標(biāo)操作符源操作符 注意: (1)目標(biāo)操作符為:變量和對象名.屬性 (2)區(qū)別等號 如: b2:c3 a=b=c 第一個是賦值號、第二個是等號 同理: C=b=a=8 第一個是賦值號、其它是等號。 為什么?,1. 賦值語句,說明: Basic提供的對某些數(shù)據(jù)類型的自動轉(zhuǎn)換機(jī)制,可強(qiáng)制變量轉(zhuǎn)換為適當(dāng)?shù)臄?shù)據(jù)類型。 如: private sub Form_click() dim intA% intA=3.5 print intA 窗體上打印的是? end sub,2. 注釋語句 格式: 注釋內(nèi)容 / Rem 注釋內(nèi)容 說明:注釋語句是非執(zhí)行語句。,3. 暫停語句 格式:Stop 說明:程序調(diào)試時使用。,4. 結(jié)束語句 格式:End 功能:通常用來結(jié)束一個程序的執(zhí)行。,常 見 錯 誤,1. 邏輯表達(dá)式書寫錯,在VB沒有造成語法錯而形成邏輯錯 例如,數(shù)學(xué)表達(dá)式 3x10 VB表達(dá)式寫為 3=x10。 2. 同時給多個變量賦值,在VB沒有造成語法錯而形成邏輯錯 例如:Dim x%,y%,z% x=y=z=1 3. 標(biāo)準(zhǔn)函數(shù)名寫錯 4. 變量名寫錯 檢查方法:在通用聲明段加Option Explicit 5. 語句書寫位置錯 在通用聲明段只能有Dim語句,不能有賦值等其他語句,1.常量和變量的三要素(命名、數(shù)據(jù)類型、作用范圍) 2.運(yùn)算符的優(yōu)先級 3.常用內(nèi)部函數(shù)的靈活使用,小 結(jié),前三章知識回顧,第一章 VB集成開發(fā)環(huán)境(各個窗口的作用、打開和關(guān)閉) 例題:歡迎使用VB 第二章 VB采用的是面向?qū)ο蟪绦蛟O(shè)計,編程四部曲中難點(diǎn)在于第三步,在事件過程中編寫代碼: Private sub 對象名_事件名() (1) 對象名.屬性名屬性值 Or (2) 對象名.方法 參數(shù)列表】 or (3) 語句。如, end 、 load form End sub 例題:標(biāo)簽交換問題 文本框密碼問題 命令按鈕簡單計算器(加減乘除),前三章知識回顧,第三章 VB程序設(shè)計基礎(chǔ) 作用:擴(kuò)充代碼(3) 如:private sub form_click() Const PI#=3.1415926 dim r%,s% r=val(text1.text) s=PI*r2 print “面積”;s end sub 例題: 常量求圓面積 變量交換兩個變量的值 運(yùn)算符和表達(dá)式 升級計算器,課后習(xí)題,1. len(str(1.3) mod 2= 2. 執(zhí)行以下程序段后,變量C$的值為_ A$=Visual Basic Programing B$=Quick C$=B$&UCase(Mid$(A$,7,6)&right$(A$,11)

溫馨提示

  • 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

提交評論