《計算機應用基礎》(二)-Visual Basic程序設計課件2.VB語言基礎_第1頁
《計算機應用基礎》(二)-Visual Basic程序設計課件2.VB語言基礎_第2頁
《計算機應用基礎》(二)-Visual Basic程序設計課件2.VB語言基礎_第3頁
《計算機應用基礎》(二)-Visual Basic程序設計課件2.VB語言基礎_第4頁
《計算機應用基礎》(二)-Visual Basic程序設計課件2.VB語言基礎_第5頁
已閱讀5頁,還剩44頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

本章目錄VB語言基礎教學目標掌握VisualBasic程序設計語言的基礎知識,包括數據類型(標準數據類型和自定義類型)。熟練掌握變量和常量、變量名與變量類型、變量說明語句;符號常量及其定義、系統定義常量。熟練掌握運算符及表達式:算術運算、字符串運算、關系運算及邏輯運算;各種運算符的優先級。掌握常用系統內部函數:算術函數、字符串函數、日期和時間函數、轉換函數、數據輸出格式函數Format。初步理解數組。

我們將計算機能夠處理的數值、文字、聲音、圖形、圖像等各類信息統稱為數據,根據數據所描述信息的含義,又將數據分為不同的種類,即為數據類型。數據類型

數據類型不同的數據,在內存中的存儲結構不同,占用的空間也不同。對于不同的程序設計語言,數據類型的規定和處理方法也不相同。數據類型

數值型

含字節型,整型,長整型,單精度浮點,雙精度浮點型,貨幣型,日期型

字符型邏輯型變體型

對象型數據類型關鍵字類型符前綴所占字節數范

圍字節型Byte無byt10~255邏輯型Boolean無bln2True與False整型Integer%int2-32768~32767長整型Long&lng4-2147483648~2147483647單精度型Single!sng4負數:-3.402823E38~-1.401298E-45正數:1.401298E-45~3.402823E38雙精度型Double#dbl8負數:-1.79769313486232D308~-4.94065645841247D-324正數:4.94065645841247D-324~1.79769313486232D308VisualBasic的標準數據類型貨幣型Currency@cur8-922337203685477.5808~922337203685477.5907日期型Date(time)無dtm801,01,100~12,31,9999字符型String$str與字符串長度有關0~65535個字符對象型Objiect無obj4任何對象引用變體型Variant無vnt根據分配確定★數值型(Numeric)

整型(Integer%)長整型(Long&)

單精度浮點型(Single!)

雙精度浮點型(Double#)

整數(表示的范圍不同)

帶小數點的數(表示的范圍不同)類型符

★字符串(String$)

:字符序列,由放在一對雙引號中的所有西文字符、漢字組成。用于表示各種文字或符號。例:"abc""ABC""2+3""200"

"##**"

"$25,000"

""

"中國""Wearestudents"

在字符串中,字母的大小寫是有區別的。★邏輯型(Boolean)

True

和False

變量與常量10…………10001002r內存內存單元地址變量值10變量名被命名的內存單元稱為變量或常量。變量(Variable

)程序運行的過程中值會變化

變量存儲在內存單元中,用變量名作為標識變量的命名規則變量名以字母或漢字開頭,由字母、下劃線、漢字、或數字組成,變量名不區分大小寫不能用VisualBasic關鍵字作變量名不提倡用漢字作變量名例:a,abs_2,print_1,m&f,h[3],#g,5y,abc合法的非法的變量類型的定義(變量聲明)Dim變量名

As類型Dim

變量名類型符例

Dim

iCount

As

Integer,

sassingle

‘定義整型變量iCount,單精度變量sDim

iCount%,

s!沒有聲明類型的變量是可變型VariantDim

a,b,c

asIntegera,b,c的類型是一樣的嗎?注意:變量的隱式聲明

VB允許不加聲明直接使用變量,不聲明的變量是可變型(不建議初學者用)變量的默認初值變量類型默認初值所有數值類型0邏輯型False字符型""

(空)常量程序運行過程中值保持不變用戶聲明常量(符號常量)例:ConstPI=3.1416系統常量例:Form1.ForeColor=vbBlue定長數組及其聲明定長數組:在聲明時確定了大小的數組聲明形式:

Dim數組名(下標)As[類型]數組的大小為:上界-下界+1命名規則與變量名的相同,遵循標識符命名規則[下界To]上界必須用圓括號括起來;不能包含變量或表達式函數格式:函數名(參數)注意每個函數的:函數名及功能參數個數每個參數的類型和定義域函數值類型

Sqr(4)String(5,”AB”)

顯示5個”A”取整函數Int:取小于或等于其本身的最大整數。

如:Int(35.6)=35Int(-35.6)=-36Fix:取整。

如:Fix(35.6)=35Fix(-35.6)=-35Round:四舍五入函數。

如:Round(35.6)=36Round(3.14159,3)=3.142Rnd

函數格式:

Rnd()Rnd

Rnd(N)說明:0≤Rnd

<1產生0~1之間的隨機數產生[L,U]區間內的隨機整數

Int((U-L+1)*Rnd

+L)例:產生[30~50]的隨機整數Int(Rnd*21)+30

為保證每次產生不同的隨機數列,可在事件過程中使用語句

Randomize

例:字體的放大、縮小將文本框中的字體隨機放大1~3整數倍;任意比例縮小;“還原”按扭將字體恢復成原始大小。隨機放大1~3整數倍:Text1.FontSize=Text1.FontSize*Int(Rnd()*3+1)縮小的比例為任意Text1.FontSize=Text1.FontSize

*Rnd()

轉換函數Asc:字符轉換成Ascii碼值。

如:Asc("a")97Asc("A")65

Chr:字符Ascii碼值轉換成字符。

如:Chr(97)"a"Chr(98)"

b"Val:數字字符串轉換成數值。

如:Val("97")97

Val("abc")0Val("12ab")12Val("12ab34")

12Str:數值轉換成字符串。

如:Str(97)"97"

思考:隨機產生“C”到“L”范圍內的一個大寫字母

常用字符函數函數名說明實例結果Left(C,N)取字符串左邊N個字符Left(“ABCDEFG”,3)ABCRight(C,N)取字符串右邊N個字符Right(“ABCDEFG”,3)EFGMid(C,N1[,N2])在C中取從N1開始長度為N2的子字符串(不寫N2時取到最后)Mid(“ABCDEFG”,2,3)BCDLen(C)字符串長度Len(“AB計算機”)5Instr([N1,]C1,C2)在C1中從N1開始找C2開始的位置,省略N1從頭開始找,找不到為0Instr(”EFABCDEFG”,”EF”)Instr(2,”EFABCDEFG”,”EF”)17出生在哪年:

Mid(Text1.Text,7,4)代表性別的數字:

Val(Mid(Text1.Text,17,1))例:身份證數據輸入函數

InputBoxInputBox(提示[,標題][,默認值][,x坐標][,y坐標])提示:必須指定,輸入對話框中顯示的字符串標題:輸入對話框的標題默認值:沒有其他輸入時框中自動顯示的信息

X坐標、Y坐標:設置輸入框最初出現的位置。函數的返回值單擊確定按鈕:返回輸入框中的內容(字符串型);

單擊取消按鈕:返回空在默認情況下,InputBox的返回值是一個字符串(不是變體類型).也就是說,如果沒有事先聲明返回值變量的類型(或聲明為變體類型),則當把該函數的返回值賦給這個變量時,VisualBasic總是把它作為字符串來處理.因此,當需要用InputBox函數輸入數值,并且需要輸入的數值參加運算時,必須在進行運算前用Val函數(或其他轉換函數)把它轉換為相應類型的數值,否則有可能會得到不正確的結果.如果正確地聲明了返回值的變量類型(或者加了類型說明符),則可不必進行類型轉換消息對話框MsgBox過程變量=MsgBox(提示[,按鈕圖標樣式][,標題])

提示字符串:必須指定,消息對話框中顯示的字符串按鈕圖標樣式:利用VB給定的符號常量指定消息框中顯示的按鈕樣式和圖標樣式(見下頁)標題字符串:消息對話框的標題上顯示的文字用于指定按鈕數目及樣式的VB常數常數值說明vbOKOnly0只顯示“確定”按鈕(缺省值)vbOKCancel1顯示“確定”和“取消”按鈕vbAbortRetryIgnore2顯示“終止”、“重試”和“忽略”按鈕vbYesNoCancel3顯示“是”、“否”和“取消”按鈕vbYesNo4顯示“是”和“否”按鈕vbRetryCancel5顯示“重試”和“取消”按鈕用于指定圖標樣式的VB常數常數值說明VbCritical16顯示“嚴重錯誤”圖標VbQuestion32顯示“警告詢問”圖標VbExclamation48顯示“警告錯誤”圖標VbInformation64顯示“信息”圖標用于指定默認按鈕的VB常數(補充)常數值說明vbDefaultButton10第一個按鈕是默認的(默認值)vbDefaultButton2256第二個按鈕是默認的vbDefaultButton3512第三個按鈕是默認的MsgBox

函數的返回值常數值說明vbOK1按下

"確定"

按鈕vbCancel2按下

"取消"

按鈕vbAbort3按下

"終止"

按鈕vbRetry4按下

"重試"

按鈕vbIgnore5按下

"忽略"

按鈕vbYes6按下

"是"

按鈕vbNo7按下

"否"

按鈕MsgBox語句MsgBox

提示[,按鈕圖標樣式][,標題]例:消息對話框的使用PrivateSubCommand1_Click()

If

NotIsNumeric(Text1)Then

i%=MsgBox("你輸入的不是數字!",5+vbQuestion,"警告")Ifi=4ThenText1.SetFocusElseEnd‘SetFocus,該函數對指定的窗口設置鍵盤焦點。該窗口必須與調用線程的消息隊列相關。

Else

MsgBox"你好",,"歡迎"

EndIfEndSub窗體輸入不是數字時的消息框輸入數字時的消息框判斷是否數字Print方法

[對象名.]Print表達式[,|;[表達式…]];(分號):光標定位在上一個顯示的字符后,(逗號):光標定位在下一個打印區(每隔14列一個打印區)無"

;"或"

,"

:輸出后換行例:Form1.Print"面積為:";20*5

‘其中的Form1可以省略數值:先計算,后輸出字符串:引號中的內容原樣輸出表達式Print使用注意定位函數:

Tab(n):定位于輸出對象最左端算起的n列

Spc(n):插入n個空格可以在窗體或圖形框(Picture框)中輸出,省略對象則在窗體輸出Print方法在Form_Load事件中無效,將窗體的AutoRedraw設為True時才有效例:

a=100:b=200Print"a+b=",Printa+bPrintPrint"ABCDEFG"x=5:y=10:z=15Printx,y,z;"ABCD"Print

Print"&";Tab(8);"*****";Spc(5);"###"

格式轉換函數Format(1)Format函數的功能將表達式的值轉換為指定格式的字符串.(2)Format函數的一般格式Format(表達式,"格式字符串")例如:PrintFormat(125.637,"0.00")(3)常用的數值格式化符號符號作用示例及結果0按指定位數轉換,數據的實際位數不足時補0Format(123.46,"00.000")結果為:123.460#按指定位數轉換,數據的實際位數不足時不補0Format(123.46,"##.###")結果為:123.46,按照千分位格式輸出%數值乘以100,后加%$在數字前加$E+用指數格式輸出Format(123.46,"0.0E+00")結果為:1.2E+02判斷:能正確運行出結果嗎?為什么?PrivateSubForm_Click()DimaAsInteger,bAsIntegera=32767b=32768PrintaPrintbEndSubDima,bAsSinglec=c+10變量a,b,c是什么類型的?變量的隱式聲明和強制顯式聲明(OptionExplicit)

改為:DimaAsInteger,bAsLong或

Dima%,b&判斷:能輸出結果嗎?為什么?

PrivateSubForm_Load()PrintFori=1To5

PrintTab(i);String(6-i,"★");Spc(6);String(i,"▲")NextIEndSubForm_Load事件中,Print方法無效果。修改方案:1:將窗體的AutoRedraw屬性修改為True.2:在程序的第一個Print之前加語句:Me.Show運算符(Operator)數值運算優先級^乘方*乘/除\整除Mod取模(余數)+加-減例:5+10mod10\9/3+2^2

結果:?思考:對于一個任意3位數字,如何能把個位、十位和百位的數字提取出來字符運算"abcdef12345"出錯"123456"579

"123"+"456"結果"123456""123"&"456"結果"123456"

區別:+兩邊必須是字符串,&不一定+&

兩個字符串首尾連接例如:

"abcdef"&12345

"

abcdef"+12345

"123"&456

"123"+456結果關系運算符關系運算符用于比較兩個數值或兩個字符串參之間的關系,運算結果為True

或False

=<>><>=<=運算符例結果="ABCDE"="ABCR"False<>"ABCDE"<>"ABCR"

溫馨提示

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

評論

0/150

提交評論