




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章常量與變量第3章常量與變量第3章常量與變量
1.理解變量與常量的概念、掌握其定義和使用;2.掌握各種常用數據類型的數據定義和使用3.掌握各種運算符、表達式的使用方法4.掌握常用內部函數的使用
教學目的和要求:第3章常量與變量1.理解變量與常量的概念、掌握其定義和3.1
數據類型3.1.1標準數據類型類型名稱存儲空間表數范圍整型Integer2B-32768~32767長整型Long4B小數部分四舍五入單精度浮點型Single4B雙精度浮點型Double8B字節型Byte1B0~255貨幣型Currency8B3.1數據類型3.1.1標準數據類型類型名3.1數據類型類型名稱存儲空間表數范圍變長字符串String字符串長度0~約20億定長字符串String*sizesize1~65535B布爾型Boolean2BTrueFalse日期型Data8B1001.1.1~9999.12.31對象型Object4B可變類型Variant16B3.1數據類型類型名稱存儲空間表數范圍變長字符串S3.1.2自定義類型在模塊級別中使用,用于定義包含一個或多個元素的用戶自定義的數據類型。使用形式:
Type自定義類型名 元素名[([下標])]As類型名 元素名[([下標])]As類型名...EndType說明:放到文件一章講3.1
數據類型3.1.2自定義類型在模塊級別中使用,TypeStudent XhAsString XmAsString XbAsString NlAsInteger ScoreAsSingleEndType例如:對于一個學生的“學號”、“姓名”、“性別”、“年齡”、“入學成績”等數據,為了處理數據的方便,常常需要把這些數據定義成一個新的數據類型(如Student類型)。
3.1
數據類型TypeStudent例如:對3.2常量在程序運行過程中,其值不能被改變的量稱為常量。在VB中有三類常量:
普通常量符號常量系統常量。3.2.1普通常量
1.
整型常量
(1)整型(Integer):表示-32768至32767之間的整數例如:10110%20(2)長整型(Long):表示-2,147,483,648至2,147,483,647之間的整數例如:長整型常數的書寫:23&3.2常量在程序運行過程中,其值不能被改變整型常數有如下三種形式:
1)十進制整數。如125,0,-89,202)八進制整數。以&或&O(字母O)開頭如&O25(25)8,等于十進制數21。3)十六進制。以&H開頭,如&H25,即(25)16,等于十進制數37。VB中的顏色數據常常用十六進制整數表示。3.2常量下列屬于VisualBasic的合法常量的是()(A)-&Haabb&(B)&O-577(C)&h-9AF(D)-&O973&A整型常數有如下三種形式:1)十進制2.實數1)單精度實型(Single):有效數為7位2)雙精度實型(Double):有效數為15位常量的表示:1)十進制小數形式。它是由正負號(+,-)、數字(0~9)和小數點(.)或類型符號(!、#)組成,即±n.n,±n!或±n#,其中n是0~9的數字。例如0.123、.123、123.0、123!、123#等2)指數形式?!纍E±m或±n.nE±m,±nD±m或±n.nD±m例:1.25E+3和1.25D+3相當于1250.0或者1.25×103。3.2常量下列不屬于VisualBasic的合法常量的是()(A)1234&(B)98!(C)34@(D)11.12%D下列屬于VisualBasic的合法常量的是()(A)10E-2(B)E-2(C)10e(D)10*E-2A2.實數3.2常量下列不屬于VisualBasic的3.字符串常量在VB中字符串常量是用雙引號“"”括起的一串字符,可以是所有西文字符和漢字、標點符號等;例如"ABC","abcdefg","123","0","VB程序設計"等。說明:(1)""表示空字符串,而""表示有一個空格的字符串;(2)若字符串中有雙引號,例如ABD"XYZ,則用連續兩個雙引號表示,即:"ABD""XYZ"4.邏輯(Boolean)數據類型只有兩個值True,或False。將邏輯數據轉換成整型時:True為-1,False為0;其它數據轉換成邏輯數據時:非0為True,0為False。3.2常量3.字符串常量3.2常量5.日期常量日期(Date)型數據按8字節的浮點數來存儲,表示日期范圍從公元100年1月1日~9999年12月31日,而時間范圍從0:00:00~23:59:59。一種在字面上可被認作日期和時間的字符,只要用號碼符“#”括起來,都可以作為日期型數值常量。例:#09/02/99#、#January4,1989#,#2002-5-414:30:00PM#都是合法的日期型常量。
3.2常量5.日期常量3.2常量3.2.2符號常量在程序中,某個常量多次被使用,則可以使用一個符號來代替該常量,這樣不僅在書寫上方便,而且有效地改進了程序的可讀性和可維護性。VB中使用關鍵字Const聲明符號常量。其格式如下:
Const常量名[As類型]=常數表達式
或:Const[類型符號]=常數表達式例如:ConstPIAsDouble=3.1415926535等價于:ConstPI#=32常量3.2.2符號常量3.2常量例如,要將文本框Text1的前景顏色設置為紅色,可以使用下面的語句:Text1.ForeColor=vbRed這里的vbRed就是系統常量。這比直接使用16進制數來設置要直觀得多。3.2.3系統常量
VB系統提供的應用程序和控件的系統定義常數。它們存放于系統的對象庫中,在“對象瀏覽器”中的VisualBasic(VB)和VisualBasicforapplications(VBA)對象庫中列舉了VisualBasic的常數3.2常量例如,要將文本框Text1的前景顏色設置為紅3.3.1變量的命名規則
1.以字母或漢字開頭,后可跟字母、數字或下劃線組成.2.變量名最長為255個字符;3.VB中不區分變量名的大小寫,不能使用VB的關鍵字;4.字符之間必須并排書寫,不能出現上下標以下標識符是合法的變量名:
a,x,x3,BOOK_1,sum5以下標識符是非法的:
3s以數字開頭s*T出現非法字符*-3x以減號開頭bowy-1出現非法字符-(減號)if使用了VB的關鍵字3.3變量
下列符號中能作為VisualBasic變量名的是()(A)姓名Name1(B)123_Abc(C)Dept_Name(D)Stu.ClassC3.3.1變量的命名規則3.3變量下列符號中能作3.3.2變量聲明
1.用Dim語句顯式聲明變量形式:Dim變量名[AS類型] Dim變量名[類型符]例: DimabAsinteger,sumAssingle等價于Dimab%,sum!3.3變量設有語句Dimx,yAsSingle,z%則變量x,y和z的數據類型分別為:、、變體類型單精度類型整型3.3.2變量聲明3.3變量設有語句Dimx,例3.1下面是一個很簡單的程序,其使用的變量a,b,Total都沒有事先定義。PrivateSubForm_Click()Total=0a=10:b=20Total=a+bPrint"Total=";TotalEndSub2.隱式聲明VisualBasic允許用戶在編寫應用程序時,不聲明變量而直接使用,系統臨時為新變量分配存儲空間并使用,這就是隱式聲明。所有隱式聲明的變量都是Variant數據類型。VisualBasic根據程序中賦予變量的值來自動調整變量的類型。例如:3.3變量例3.1下面是一個很簡單的程序,其使用的變量a,b,T3.強制顯式聲明——OptionExplicit語句良好的編程習慣都應該是“先聲明變量,后使用變量”,這樣做可以提高程序的效率,同時也使程序易于調試。VisualBasic中可以強制顯式聲明,可以在窗體模塊、標準模塊和類模塊的通用聲明段中加入語句:OptionExplicit3.3變量3.強制顯式聲明——OptionExplicit語句4.變量的默認值當執行變量的聲明語句后,VisualBasic系統就給變量賦值一個默認值,在變量首次賦值之前,一直保持這個默認值。對于不同類型的變量3.3變量設有語句DimaAsDouble,bAsBoolean,dAsDate,s1AsString,s2AsString*3則未給這些變量賦值前,它們的值分別是:、、、、0False0:00:00""""
4.變量的默認值當執行變量的聲明語句后,V3.4運算符和表達式3.4.1算術運算符與算術表達式樣例:5+10mod10\9/3+2^2結果:103.4運算符和表達式3.4.1算術運算符與算術表達式3.4運算符和表達式例:輸入一個3位整數,分別輸出其百位數字,十位數字,個位數字。(bct3-1)PrivateSubCommand1_Click()DimxAsInteger,one%,ten%,hundread%x=Val(Text1)one=xMod10'個位數ten=(x\10)Mod10'十位數hundread=x\100'百位數Print"百位數:"&hundread&"十位數:"&ten&"個位數:"&oneEndSub3.4運算符和表達式例:輸入一個3位整數,分別輸出其百位數3.4.2字符串運算符與字符串表達式
字符串運算符有:&、+。功能是字符串連接例如:"ABCD"+"EFGHI"'結果為:ABCDEFGHI“VB”&“程序設計教程”'結果為:VB程序設計教程說明:當連接符兩旁的操作量都為字符串時,上述兩個連接符等價。它們區別是:
+(連接運算):兩個操作數均應為字符串類型;
&(連接運算):兩個操作數既可為字符型也可為數值型,當是數值型時,系統自動先將其轉換為數字字符,然后進行連接操作。3.4運算符和表達式3.4.2字符串運算符與字符串表達式3.4運算符和表達例:“100”+123'結果為223“100”+“123”'結果為100123"Abc"+123'出錯"100"&123'結果為100123100&123'結果為100123"Abc"&"123"'結果為Abc123"Abc“&123'結果為Abc123注意:使用運算符“&”時,變量與運算符“&”之間應加一個空格。這是因為符號“&”還是長整型的類型定義符,如果變量與符號“&”接在一起,VB系統先把它作為類型定義符處理,因而就會出現語法錯誤。3.4運算符和表達式例:注意:使用運算符“&”時,變量與運算符3.4.3關系運算符與關系表達式
比較兩個運算量之間的關系,關系表達式的運算結果為邏輯量。若關系成立,結果為True,若關系不成立,結果為False。VB中的關系運算符如下表所示。運算符含義優先級實例結果<小于所有關系運算優先級相同。低于算術運算的加“+”,減“-”運算,高于邏輯非“Not”運算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"TrueIs對象比較
3.4運算符和表達式3.4.3關系運算符與關系表達式比較兩個運算量之間的關系運算的規則如下:(1)當兩個操作式均為數值型,按數值大小比較。(2)字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現不同的字符為止.。例:"ABCDE">"ABRA" 結果為False(3)數值型與可轉換為數值型的數據比較,如:29>"189",按數值比較,結果為False。(4)數值型與不能轉換成數值型的字符型比較,如:77>"sdcd",不能比較,系統出錯。3.4運算符和表達式常見的字符值的大小比較關系:“空格”<“0”<……<“9”<“A”<……<“Z”<“a”<……<“z”<“所有漢字”關系運算的規則如下:(3)數值型與可轉換為數值型的數據比較,3.4.4邏輯運算符與邏輯表達式
邏輯運算符:Not,And,OrXorEqvImp
3.4運算符和表達式3.4.4邏輯運算符與邏輯表達式3.4運算符和表達說明:
(1)Not,And,OrXorEqvImp優先級從高到低,且都低于關系運算符(2)VB中常用的邏輯運算符是Not、And和Or。它們用于將多個關系表達式進行邏輯判斷。例如:數學上表示某個數在某個區域時用表達式:10≤X<20用VB程序中應寫成:X>=10AndX<20
如果寫成如下形式將是錯誤的:10<=x<20或10<=xOrx<20
3.4運算符和表達式說明:3.4運算符和表達式例:用人單位招聘秘書:年齡小于40歲,女性,學歷專科或本科寫成條件VB的表達式:年齡<=39性別=“女”學歷=“??啤睂W歷=“本科”
3.4運算符和表達式AndOrAnd()例:用人單位招聘秘書:年齡小于40歲,女性,學歷專科或本科3.4.5日期型表達式日期型數據是一種特殊的數值型數據,只能有下面3種情況:1.一個日期型數據可以相減:DateB-DateA結果是一個數值型整數(兩個日期相差的天數)。例如:#05/08/2002#-#05/01/2002#其結果為數值:72.一個日期型數據(DateA)與一數值數據(N)可作加法運算:DateA+N其結果仍是一個日期型數據。3.一個日期型數據(DateA)與一數值數據(N)可作減法運算:DateA-N其結果仍是一個日期型數據。例如:#05/08/2002#-73.4運算符和表達式3.4.5日期型表達式3.4運算符和表達式3.4.6運算符的執行順序
表達式中出現了多種不同類型的運算符時,其運算符優先級如下:
算術運算符>=字符運算符>關系運算符>邏輯運算
說明:1.當一個表達式中出現多種運算符時,首先進行算術運算符,接著處理字符串連接運算符,然后處理比較運算符,最后處理邏輯運算符.2.可以用括號改變優先順序,強令表達式的某些部分優先運行。括號內的運算總是優先于括號外的運算。對于多重括號,總是由內到外。3.4運算符和表達式3.4.6運算符的執行順序表達式中
3.表達式組成
變量、常量、函數、運算符和圓括號4.表達式書寫規則(1)乘號不能省略。例x乘以y應寫成:x*y(2)括號必須成對出現,均使用圓括號。(3)表達式從左到右在同一基準上書寫,無高低、大小。例如:3x+5x2+1π/2((x+5)^3+1/(x-1)-13.4運算符和表達式3.表達式組成3x+5x2+1
5.不同數據類型的轉換運算結果的數據類型向精度高的數據類型靠.Integer<Long<Single<Double<Currency
例如:25+3.14*2+3.5#結果為雙精度實型6.優先級
算術運算符>字符運算符>關系運算符>邏輯運算
例:設a=1,b=3,c=3.5,求:1+b>cAndb\2=ab&5-a-c<(a>b)-4OrTrue>=aAndTrueTrue"34"False3.4運算符和表達式5.不同數據類型的轉換Sqr(x*x-y*y)+Cos(3.14/180*30)/(2*3.14)(x^2+5*x+26)/(x+6)^3例子:3.4運算符和表達式Sqr(x*x-y*y)+Cos(3.14/180*30)/條件“x能被m整除、但不能被n整除”寫作VB的表達式為
。A、xModm=0&xModn<>0.B、x\m*m=xAndx\n*n<>xC、(x\m)*m=xAnd(x\n)*n<>xD、xModm=0AndxModn!=0√3.4運算符和表達式例:條件“x能被m整除、但不能被n整除”寫作
例:表示算術表達式:3≤x≤7正確的VB表達式:3<=xAndx<=7錯誤的VB表達式:3<=x<=7或3<=xOrx<=7
比a小,比b大用Ora小數b大數a小數b大數比a大,比b小用And3.4運算符和表達式例:表示算術表達式:3≤x≤7比a小,比b大用Orab3.4.7常用內部函數
VB提供了上百種內部函數(庫函數),要求掌握這些常用函數的功能及使用。調用方法:
函數名(參數列表)有參函數函數名無參函數說明:
(1)使用內容函數要注意參數的個數及其參數的數據類型(2)要注意函數的定義域(自變量或參數的取值范圍)例如:sqr(x)要求:x>=0(3)要注意函數的值域。如:exp(23773)的值就超出實數在計算機中的表示范圍。3.4運算符和表達式3.4.7常用內部函數3.4運算符和表達式
1.數學函數
Abs(N)Cos(N)Sin(N)Exp(N)Log(N)Sqr(N)Rnd[(N)]Sgn(N)(1)在三角函數中的自變量是以弧度為單位。如:sin30°sin(3.14159/180*30)(2)Rnd函數返回0~1之間的雙精度隨機數。若要產生1-100的隨機整數:Int(Rnd*100)+1
提問:怎樣產生[N,M]區間的隨機整數?
每次運行時,要產生不同序列的隨機數,執行Randomize語句。使用形式:Randomize[number]number是隨機數生成器的種子值,如果省略,系統將計時器返回的值作為新的種子值。3.4運算符和表達式1.數學函數3.4運算符和表達式2.轉換函數(1)要區別兩個取整函數int()和fix()Fix(N)為截斷取整,即去掉小數后的數。Int(N)不大于N的最大整數。N>0與int(N)相同,當N<0時,int(N)與fix(N)-1相等。例如:Fix(9.59)=9, Fix(-9.59)=-9Int(9.59)=9, Int(-9.59)=-10思考:如何實現四舍五入取整?(2)Asc(“Abcd”)值為:65(只取首字母的Ascii值)(3)Val(“abc123”)值為:0,Val(“1.2sa10”)值為1.2(4)Chr(65)值為:“A”Chr(13)回車符(5)Str(65)值為:“65”Str(-256.65000)值為"-256.65"3.4運算符和表達式2.轉換函數3.4運算符和表達式例:點擊窗體,隨機輸出大寫英文字母(bct3-2)PrivateSubForm_Click()DimchAsStringRandomize'隨機種子Form1.CurrentX=Form1.ScaleWidth*Rnd'隨機確定當前x坐標Form1.CurrentY=Form1.ScaleHeight*Rnd'隨機確定當前y坐標ch=Chr(65+Int(26*Rnd))'隨機產生一個大寫字母PrintchEndSub3.4運算符和表達式例:點擊窗體,隨機輸出大寫英文字母(bct3-2)Priva3.日期、時間函數
常用的日期時間函數見附表
掌握:Time()Date()NowYear()Month()Day()4.格式輸出函數
使用格式:
Format$(表達式[,“格式字符串”])
功能:按用戶指定格式返回表達式,常常用在print方法中。使用形式:print
Format$(表達式[,“格式字符串”])表達式:可以是數值、日期型表達式。格式字符串:表示輸出表達式時采用的輸出格式。不同數據類型所采用的格式字符串是不同的。3.4運算符和表達式3.日期、時間函數4.格式輸出函數3.4運算符和表達式(1)數值型數據格式化注意:對于符號:0與#,當數值的實際位數比格式控制給定的位數多時,系統將按四舍五入返回給定的位數。如:Format(3.14159,“###.###”),其值為3.142Format(3.14159,“000.000”),其值為003.142
(2)日期和時間型數據格式化缺省日期格式為:“mm/dd/yy”,缺省時間格式:“hh:mm:ss”
3.4運算符和表達式(1)數值型數據格式化3.4運算符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 窩工補償協議書
- 用水糾紛協議書
- 道路修護協議書
- 母親出車禍調解協議書
- 委托加工面膜廠協議書
- 股權咨詢協議書
- 紅酒贊助協議書
- 苗木嫁接協議書
- 用電負荷協議書
- 船員委培協議書
- 門窗合同模板范文
- 上海市居住房屋租賃合同2014版
- 鋅錠購銷協議
- 靜脈炎的預防及處理-李媛
- 云南省公路工程試驗檢測費用指導價
- 3.1 歌曲《大海啊故鄉》課件(17張)
- 古詩詞誦讀《客至》課件+2023-2024學年統編版高中語文選擇性必修下冊
- 上海市地方標準《辦公樓物業管理服務規范》
- 物理-陜西省2025屆高三金太陽9月聯考(金太陽25-37C)試題和答案
- 八年級歷史下冊 第五單元 第15課《鋼鐵長城》教案 新人教版
- DB12T 1339-2024 城鎮社區公共服務設施規劃設計指南
評論
0/150
提交評論