第04章VB簡單程序設計_第1頁
第04章VB簡單程序設計_第2頁
第04章VB簡單程序設計_第3頁
第04章VB簡單程序設計_第4頁
第04章VB簡單程序設計_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、v第一節(jié) 數據類型 v第二節(jié) 常量和變量 v第三節(jié) 變量的作用域 v第四節(jié) 常用內部函數 v第五節(jié) 字符處理與字符串函數 v第六節(jié) 運算符與表達式 v數據是程序處理的對象v數據類型體現(xiàn)了數據結構的特點第一節(jié)數據類型第一節(jié)數據類型 如:“hello” “visual basic 6.0” “”一一、基本數據類型基本數據類型2.數值 整型數和浮點數1.字符串(string)a.一個字符序列。 標準asc字符和擴展asc字符b.放在雙引號內的若干字符??兆址L度為0(1)整型數:不帶小數點和指數符號。整 數:2個字節(jié)(16位)二進制碼。長整型:帶有符號 4個字節(jié)(32位)。單精度浮點數(e) 12

2、3.45e3或123.45e+3 4個字節(jié)(32位)存儲(2)浮點數:實形數或實數。 由符號、指數及尾數組成。雙精度浮點數(d) 123.45678d3或123.45678d+3 8個字節(jié)(64位)存儲 5.其它數據類型4.變體(variant) 是一種可變的數據類型 數值、字符串、日期/時間等byte(字節(jié)型) 一個字節(jié)的無符號二進制數存儲boolean(布爾型) 邏輯值. true或false3.貨幣型(currency) 定點數據類型(小數點是固定的) 8個字節(jié)(64位)存儲date(日期時間型) 存儲為ieee 64位(8個字節(jié))浮點數值形式。 日期文字須以數字符號(#)括起來。 例如

3、:#january 1,2001#。object(對象型) 用來表示圖形或ole對象等。(ole插入或嵌入) 用4個字節(jié)存儲。例如:描述學生對象,包括學號、姓名、 性別、年齡、所在系、專業(yè)等。 將不同類型的變量組合起來形成新的數據類型,稱為“用戶自定義數據類型”(在c語言中稱為“結構”)。private|public type private|public type 自定義類型名自定義類型名 元素名元素名 as as 數據類型數據類型 end type end type在窗體模塊中,只能聲明為私有的。使用type語句,且type語句必須放在模塊的 通用聲明部分。在標準模塊中,可聲明為公有的或私

4、有的。private type student num as string 學號 name as string 姓名 age as integer 年齡 sex as string 性別 class as string 班級 end typestudent為自定義數據類型的類型名,num、 name等為student的成員。dim 變量名 as 自定義數據類型 例: dim stu as student 或 dim allstu(1 to 10) as student聲明語句:自定義類型變量名. 自定義類型成員名 例: stu.name = “peter” stu.age = 20 或 all

5、stu(1).num = “9812a00”引用方式: public | | privateenum類型名稱成員名=常數表達式成員名=常數表達式end enum 枚舉類型提供了一種方便的方法,用來處理有關的常數,或者使名稱與常數數值相關聯(lián)。 枚舉類型放在窗體模塊、標準模塊或公用類模塊中的聲明部分,通過enum語句來定義,格式如下: 第二節(jié)常量和第二節(jié)常量和變量 文字常量、符號常量。1.文字常量 分字符串和數值兩種(1)字符串常量 a.除雙引號和回車符之外的任何ascii字符 b.定長字符串;變長字符串。(2)數值常量 整型數、長整型數、貨幣型數和浮點數。 a.整型數和長整型數都有3種形式,即十

6、進制 十六進制和八進制。 b.貨幣型常數的小數點位置是固定的,因此 也稱定點數。 c.浮點數也稱實數,其小數點是“浮動”的, 分為單精度浮點數和雙精度浮點數。(3)類型說明符 整型 長整型! 單精度浮點數# 雙精度浮點數 貨幣型$ 字符串型字節(jié)、布爾、日期、對象及變體類型沒有類型說明符。2.符號常量用來代替數值或字符串格式:格式:const常量名=表達式,常量名=表達式 常量名:變量的構成規(guī)則命名表達式: 文字常量、運算符(算術、邏輯)。 不能用字符串連接運算符、變量以及用 戶定義的函數或內部函數。 注意:(1)可以在常量名后面加上類型說明符。(2)在程序中引用符號常量時,通常省略類型 說明符

7、。(3)類型說明符不是符號常量的組成部分,定 義符號常量后,在定義變量時要慎重。變量:一個有名稱的內存位置稱為變量。 應用程序在運行期間用變量來臨時存 儲數據。名字:在程序中標識變量變量的特性:數據類型:確定了變量中可以保存哪類數據在程序執(zhí)行的每個瞬間,變量的值是確定的、 已知的;但在程序執(zhí)行的整個過程中,它的 值是可變的。1.1.變量的命名規(guī)則變量的命名規(guī)則必須以字母開頭,其它字符可是字母、數字 或下劃線。最后一個字符可以是類型說明符不能用visual basic的保留字作變量名,但可 以把保留字嵌入變量名中。最后一個字符不 能是類型說明符保留字。有效字符255個。vb不區(qū)分變量名和其他名字

8、中字母的大小寫。2.2.變量的類型和定義變量的類型和定義基本數據類型和用戶定義的數據類型(1)用類型說明符來標識 把類型說明符放在變量名的尾部,可以標識不同的變量類型。其中表示整型,表示長整型,!表示單精度型,#表示雙精度型,表示貨幣型,$表示字符串型。total% amount# lname$(2)在定義變量時指定其類型 格式:declare 變量名 as 類型declare:可以是dim、static、redim、public; as:是關鍵字; 類型:可以是基本數據類型或用戶定義的類型。 dim 用于在標準模塊、窗體模塊或過程中定義 變量或數組(自動變量)。 例:dim varl as

9、integer dim myname as string*10注意:注意:在一個dim語句中定義多個變量時,用as子 句聲明其類型,否則被看作變體類型。 static在過程中定義靜態(tài)變量及數組變量(靜態(tài)變量)。例:dim var1,var2 as double例:dim var1 as integer,var2 as double用static定義的變量每次引用時其值會繼續(xù)保留。sub test() static var1 as integer var1 = var1 + 1 end subsub test() dim var1 as integer var1 = var1 + 1 end s

10、ub每調用一次test過程,靜態(tài)變量var1累加1。每次調用test過程時,自動變量就被置為0。(3)用deftype語句定義 用deftype語句可以在標準模塊、窗體模塊的 聲明部分定義變量。格式: deftype 字母范圍 字母范圍 用“字母-字母”形式 字母az中的任一個(大小寫均可) public在標準模塊中定義全局變量或數組。注意:如果一個變量未被顯式定義,末尾也沒有類型 說明符,則被隱含地說明為變體類型變量。類型說明符總是比deftype語句優(yōu)先起作用。 記錄類型變量的定義與基本數據類型變量的定義沒有什么區(qū)別,但必須用“變量.元素”的格式引用記錄中的各個成員。3.3.記錄類型變量記

11、錄類型變量在實際應用中,應根據需要設置變量的類型;盡 可能節(jié)省內存空間,以便提高處理速度。用類型說明符定義的變量,在使用時可以省略類 型說明符。dim astr$astr = this is a stringastr$ = this is a string第三節(jié)變量的作用域第三節(jié)變量的作用域 指的是變量的有效范圍。即變量的“可見性”vb應用程序.vbp 窗體模塊.frm 標準模塊.bas聲明部分通用過程事件過程聲明部分通用過程1.1.局部變量局部變量( (過程變量過程變量) )在過程(事件過程或通用過程)內定義的變量。 通常用來存放中間結果或用作臨時變量。在不同的的過程中可以定義相同名字的局

12、部變量。2.2.模塊變量模塊變量( (窗體變量和標準模塊變量窗體變量和標準模塊變量) ) v用于該模塊內的所有過程。 v同一模塊內的不同過程使用相同的變量時, 必須定義模塊變量。 v在使用窗體層變量前,必須先聲明。 v只含有程序代碼的應用程序文件。 .bas v工程添加模塊(對話框中選“新建”)。v用private 或dim來聲明,建議用private. 3.3.標準模塊變量標準模塊變量4.4.全局變量全局變量( (全程變量全程變量) )在工程的每個模塊、每個過程。 不能用dim語句聲明,更不能用private語句聲明。 不能在過程或窗體模塊中聲明只能在標準模塊中 聲明。 用public(或g

13、lobal)語句聲明。 變量的作用域變量的作用域名名 稱稱作用域作用域聲明的位置聲明的位置使用的語句使用的語句局部變量過程過程中dim或static模塊變量模塊變量窗體模塊和標窗體模塊和標準模塊準模塊模塊的聲明部分private 或dim全局變量全局變量整個應用程序標準模塊的聲明部分public或globalv一般只適用于局部變量。 v對于局部變量來說,可以不用dim(或static)定 義,而在需要時直接給出變量名。 v變量的類型可以用類型說明符(、&、!、#、$、 )來標識。 第四節(jié)常用內部函數第四節(jié)常用內部函數 1.1.內部函數可分為內部函數可分為5 5類類轉換函數數學函數字符串函數時間

14、日期函數隨機數函數等五類 詳見:p682.2.參數參數v“自變量”在高級語言中稱為參數。v內部函數仍稱為自變量。v用戶編寫的過程,一律稱為參數。3.3.說明說明三角函數的自變量x是一個數值表達式, 單位為弧度。 日期和時間函數的自變量now是一個內部變 量,不需要用戶定義。直接方式在立即窗口中執(zhí)行(可以通過命令 行直接顯示函數的執(zhí)行結果)。4.4.立即窗口立即窗口通過命令行在立即窗口中直接顯示函數執(zhí)行結果。 v視圖立即窗口。vctrl+g。例:x=2500 print x 2500 ? x+200 2700 print sqr(2) 1.4142135623731第五節(jié)字符處理與字符串函數第五

15、節(jié)字符處理與字符串函數 1.1.大字符編碼(大字符編碼(4.04.0版以上)版以上) 又稱:“unicode方式”(統(tǒng)一編碼方式) 把西文字符和中文字符作為一個整體進行統(tǒng)一編碼,每個字符均用兩個字符進行編碼,這種機制下,一個英文字符或一個漢字都看做是一個字符,所占用的存儲空間均為兩個字節(jié)。 2.2.字符串處理函數字符串處理函數 解決中西文混合字符串處理問題方案:新增加的函數與原有的字符串處理函數 相對應,在原函數名的后面增加了一個字母“b”。 如:lenb,leftb,rightb等。 print len(“basic程序設計”) 9 print lenb (“basic程序設計”) 13單字

16、節(jié)處理方式(ansi) 3.“3.“unicodeunicode”與與“ansi”ansi” 轉換函數(strconv)的格式:新字符串=strconv(待轉換字符串,轉換格式)v“待轉換字符串”可以是字符串常量,也可以是字符串變量 例4.1 編寫程序,測試strconv函數的功能 visual basic提供了處理字符串的函數,用這些函數可實現(xiàn)字符串的截取、長度測試、大小寫轉換、字符匹配等操作。 字符串函數一般以類型說明符$結尾, $可省略。用于處理ansi格式的函數,這類函數以字母“b”結尾。同一個字符串函數可能會有4種形式。 例:以left函數為例 left$(字符串,n) left(字

17、符串,n) leftb$(字符串,n) leftb(字符串,n) 其中有“b”的函數用于ansi格式的字符串。 1.1.刪除空白字符函數刪除空白字符函數 vltrim$(字符串):去掉“字符串”左邊的空白字符。vrtrim$(字符串):去掉“字符串”右邊的空白字符。vtrim$(字符串): 去掉“字符串”兩邊的空白字符。 空白字符包括空格、tab鍵例: a$= “ good morning ” b$= ltrim$(a$) c$= rtrim$(b$) print b$ ;c$; “abc” good morning good morningabc2.2.字符串截取函數字符串截取函數 左部、右

18、部和中部截取左部截取 格 式:left$(字符串,n) 字符串:可以是常量、變量、函數或字符串連 接表達式 例:a$= “abcdef” print left$(a$,4) abcd中部截取 格式:mid$(字符串,p,n) 3.3.字符串長度測試函數字符串長度測試函數 格式:len(字符串) len(變量名)v可以測量變量的存儲空間p73a$ = abcdefghijk print mid$(a$, 3, 4) 右部截取 格式:right$(字符串,n)cdef注:n省略,從p開始截取到字符串的末尾。例: a$ = abcdefghijk print len(a$) b = len(test

19、var1#) c = len(testvar2!) d = len(testvar3%) print b, c, d結果:11 8 4 24.string$4.string$函數函數 格式: string$(n,asc碼) string$(n,字符串)返回由n個指定字符組成的字符串為asc碼返回由該asc碼對應的n個字符為字符串,返回由該字符串第一字符組成的n個 字符的字符串。例: a$=string$(5,65) b$=string$(5, “-”) c$=string$(5, “abcde”) print a$; b$; c$ aaaaa-aaaaa5.5.空格函數空格函數 例: a$=

20、“a”+ space$(4) + “b” print a$ a b6.6.字符串匹配函數字符串匹配函數 格式:instr(首字符位置,字符串1,字符串2,n) 例: a$= “microsoft visual basic” x= instr(a$, “visual”) print x 11instr函數的返回值見p74格式: space$(n)說明:字符串2的長度小于65535。(216) instr返回一個長整型數。 首字符位置,從該位置開始查找。 n,取值0、1、2(0進行二進制比較, 區(qū)分大小寫;1比較時忽略大小寫;2基 于數據庫中包含的信息進行比較。7.7.字母大小寫轉換字母大小寫轉換

21、格式: ucase$(字符串) (小轉大) lcase$(字符串) (大轉小)8.8.插入字符串語句插入字符串語句格式: mid$(字符串,位置,l)=子字符串 含l自變量,替換的內容是“子字符串”左部的l個字符。1 1、運算符、運算符 運算是對數據進行加工的過程,描述各種不同運算的符號稱為運算符。 例:+、-、*、/、and、or等第六節(jié)第六節(jié) 運算符和表達式運算符和表達式2 2、表達式、表達式表達式用來表示某個求值規(guī)則,由運算符、 數字、常量、變量、函數、對象和配對的圓 括號以合理的形式組合而成。表達式用于執(zhí)行某種特定的運算、操作字符 或測試數據。每個表達式只產生一個結果。表達式的定義方法

22、: 1.常數、常量、變量是表達式 2.表達式、運算符及表達式的組合仍是表達式3 3、表達式的數據類型、表達式的數據類型常量、常數表達式的類型仍為常量的類型。包含運算符的表達式,將根據操作數的類型 決定結果的類型。 1.若表達式中的操作數類型相同,則結果的類 型不變。 2.若表達式中的操作數類型不同,則結果的類 型為占存儲單元多的數據類型。例:例:兩個長整型數據相加,其結果類型為: 長整型(long) 一個整型數與一個單精度浮點數相加,其結果類型為: 單精度浮點型(single)4 4、表達式賦值、表達式賦值在賦值語句中,表達式結果的類型應與變量 的類型相同。若不同,vb將表達式結果的類型轉換為

23、變量 的類型。二、算術運算符二、算術運算符1.1.算術運算符算術運算符 9個算術運算符,取負是單目運算符,其余均為雙目運算符。 冪;(-)取負;*;/浮點除;整數除; mod模運算;+;-;&連接(同“+”) 。例:53=1。 例:5 mod 3 = 2 例:102表示10的二次方, 103表示10的三次方, 250.5 表示25的平方根, 8(1/3) 表示8的立方根。v浮點數除法運算符(/)執(zhí)行標準除法操作, 與數學中的除法一樣,其結果為浮點數。v整數除法運算符()執(zhí)行整除運算,其結 果為整型值。2.2.浮點數除法與整數除法浮點數除法與整數除法3.3.取模運算取模運算v取模運算符 mod

24、用來求余數。v浮點數先進行四舍五入。4.4.算數運算符的優(yōu)先級算數運算符的優(yōu)先級冪;(-)取負;* 或 /浮點除;整數除; mod ;+ 或 -;&連接。含括號先算括號內的運算。5. 5. 算術運算表達式算術運算表達式 由算術運算符、常數、常量、變量構成的表達式。 例: 50*2+(70-6)/8 (x+y)*100*abs(z)/conpi x= 50*2+(70-6)/8 y= (x+y)*100*abs(z)/conpi三、三、關系運算符和關系表達式關系運算符和關系表達式visual basic提供了8個關系運算符,包括: =(相等)、或(不相等)、(小于)、 (大于)、=(小于或等于)

25、、=(大于或等于)、 like(比較樣式)、is(比較對象變量)。關系運算方式:關系運算方式:將運算符左右兩邊的表達式 進行比較,若比較式成立,則運算結果為true, 否則運算結果為false。關系表達式:關系表達式: 用關系(比較)運算符將兩個表 達式連接起來的表達式。結果是一個boolean類 型的值,即true和false。一般-1表示真,0表 示假。 四、四、邏輯運算符和邏輯表達式邏輯運算符和邏輯表達式邏輯運算也稱布爾運算。邏輯運算符連接兩個或多個關系式,組成一個 布爾表達式。visualbasic的邏輯運算符有以下6種: not(非)、and(與)、or(或)、xor(異或)、 eq

26、v(等價)、imp(蘊含)。邏輯運算表達式的結果:true 或 false。1.not1.not(非)(非)由真變?yōu)榧倩蛴杉僮優(yōu)檎?,進行“取反”運算。例:38 false ; not(38 ) true。2.and2.and(與)(與) 兩個關系表達式的值進行比較,如果兩個表達式的值為true,結果才為true ;否則為false.例:(38)and(58)or(53)xor(58)eqv(1020) 結果:true6.imp6.imp(蘊含)(蘊含) 當第一個表達為true,且第二個表達式為false時,結果為false. 例: 63 and 16 00000000 01111111 and 00000000 00010000 00000000 0001000063 and 1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論