Visual,Basic程序設計教程第3章.ppt_第1頁
Visual,Basic程序設計教程第3章.ppt_第2頁
Visual,Basic程序設計教程第3章.ppt_第3頁
Visual,Basic程序設計教程第3章.ppt_第4頁
Visual,Basic程序設計教程第3章.ppt_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

評論

0/150

提交評論