Visual+Basic+程序設(shè)計(jì)(34章)_第1頁
Visual+Basic+程序設(shè)計(jì)(34章)_第2頁
Visual+Basic+程序設(shè)計(jì)(34章)_第3頁
Visual+Basic+程序設(shè)計(jì)(34章)_第4頁
Visual+Basic+程序設(shè)計(jì)(34章)_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Visual Basic 程序設(shè)計(jì) 南京工業(yè)大學(xué) 基礎(chǔ)部 第3章 Visual Basic語言基礎(chǔ) n3.1 Visual Basic程序代碼的組織方式 n3.2 編碼規(guī)則 n3.3 數(shù)據(jù)類型 n3.4 運(yùn)算符與表達(dá)式 n3.5 VB常用內(nèi)部函數(shù) 3.1 Visual Basic程序代碼的組織方式 n3.1.1 過程 n3.1.2 模塊 應(yīng)用程序(.vbp文件) 一個(gè)或多個(gè)窗體模塊 文件(.frm文件) 一個(gè)或多個(gè)標(biāo)準(zhǔn)模塊 文件(.bas文件) 類模塊文件 (.Cls文件) 事件過程 通用過程 通用過程 圖3-1 VB應(yīng)用程序組成 3.1.1 過程 n所謂過程,就是具有特定格式、包含若干可 被

2、作為一個(gè)整體執(zhí)行的代碼行的組合。 n每個(gè)過程用來完成一個(gè)特定的功能,通過使 用過程,可以使得程序結(jié)構(gòu)更加清晰。 n兩類過程: n事件過程 n通用過程 3.1.2 模塊 n1.窗體模塊 n2.標(biāo)準(zhǔn)模塊 n3.類模塊 3.2編碼規(guī)則 nVB代碼不區(qū)分字母的大小寫代碼不區(qū)分字母的大小寫。 n對(duì)于VB中的保留字,首字母總被轉(zhuǎn)換成大寫,其 余字母被轉(zhuǎn)換為小寫 n對(duì)于用戶自定義的變量名、過程名,VB以第一次 定義的為準(zhǔn),以后輸入的自動(dòng)向首次定義的轉(zhuǎn)換 n一行可以書寫多條語句,中間用冒號(hào)一行可以書寫多條語句,中間用冒號(hào)“:”隔開隔開 。 n一條語句也可以書寫在多行上,需要在行的末尾一條語句也可以書寫在多行上

3、,需要在行的末尾 加上續(xù)行標(biāo)志加上續(xù)行標(biāo)志“ _”(一個(gè)空格加上一個(gè)下劃線) 。 n適當(dāng)?shù)淖⑨尶梢蕴岣叱绦虻目勺x性 3.3數(shù)據(jù)類型 n3.3.1標(biāo)準(zhǔn)數(shù)據(jù)類型 n3.3.2常量 n3.3.3變量 n3.3.4變量的作用域 3.3.1標(biāo)準(zhǔn)數(shù)據(jù)類型 數(shù)據(jù)類型數(shù)據(jù)類型關(guān)鍵字關(guān)鍵字類型符類型符占字節(jié)數(shù)占字節(jié)數(shù)取值范圍取值范圍 整型整型Integer%2-32768 32767 長整型長整型Long 4.94065645841247D-324 1.79769313486232D308 字節(jié)型Byte無10 255 邏輯型邏輯型Boolean無2True或False 字符串型(變長)字符串型(變長)Stri

4、ng$10+串長度0 約20億個(gè)字符 字符串型(定長)字符串型(定長)String$串長度1 約65400個(gè)字符 日期型Date無8100年1月1日 9999年12月31日 貨幣型Currency8-922337203685447.5808 922337203685447.5807 對(duì)象型Object無4任何對(duì)象引用 變體型變體型Variant無=16數(shù)值型可達(dá)Double型范圍; 字符型可達(dá)變長字符串型的串長度 1數(shù)值數(shù)據(jù)類型 n數(shù)值類型有:Integer、Long、Single、Double、 Currency和Byte。 nInteger(整型)和Long(長整型)用于保存整數(shù)。 整型用

5、2個(gè)字節(jié)存放,取值范圍較小,從負(fù)32768到 正32767。 nSingle(單精度型)和Double(雙精度型)用于保 存浮點(diǎn)實(shí)數(shù)。 n在VB程序中,很大或很小的數(shù)通常采用指數(shù)形式表 示。具體形式如下: nmmmEeee 或 mmmDeee n1E-6表示單精度型數(shù)值0.000001 n1.23D6表示雙精度型數(shù)值1230000 n注意:字母E或字母D前后的尾數(shù)部分和指數(shù)部分均不能 省略,并且指數(shù)部分要為整數(shù)。 2日期數(shù)據(jù)類型 nDate型按8個(gè)字節(jié)的浮點(diǎn)數(shù)來存儲(chǔ),表示的日 期范圍是從公元100年1月1日到9999年12月 31日,而時(shí)間范圍從00:00:00到23:59:59。 n任何字面

6、上可以被認(rèn)作日期和時(shí)間的字符任何字面上可以被認(rèn)作日期和時(shí)間的字符( 漢字除外),只要用一對(duì)符號(hào)只要用一對(duì)符號(hào)“#”括起來,括起來, 都可以作為日期型數(shù)值都可以作為日期型數(shù)值。 n例如:#August 8,2008#、#8 Aug,2008#、 #08/24/2008#、#2008-08-24 12:30:00 PM#都是合法的日期型數(shù)據(jù)。 3.邏輯(Boolean)數(shù)據(jù)類型 nBoolean數(shù)據(jù)類型用于邏輯判斷,只有True和 False兩個(gè)值。 4.字符(String)數(shù)據(jù)類型 nString類型存放字符型數(shù)據(jù),所謂字符型數(shù)據(jù)所謂字符型數(shù)據(jù) 就是用一對(duì)雙引號(hào)括起來的字符串就是用一對(duì)雙引號(hào)括起

7、來的字符串。 例:“abcd”,”計(jì)算機(jī)”,” ”,” n字符串可分為兩類:變長字符串和定長字符 串。 5.變體(Variant)數(shù)據(jù)類型 nVariant類型是特殊的數(shù)據(jù)類型,它是VB的缺 省數(shù)據(jù)類型,可以存儲(chǔ)各種類型的數(shù)據(jù)。 3.3.2常量 n在程序運(yùn)行時(shí)保持不變的數(shù)據(jù)稱為常量。 n例如圓周率的值為3.1415926,在進(jìn)行相關(guān)運(yùn)算 時(shí)總是保持不變。 n常量有三類:直接常量、用戶聲明的符號(hào)常 量、系統(tǒng)提供的常量。 直接常量 各種類型的常數(shù),其取值直接反映了其類型。 如:123,123.45,1.2345E2,true 用戶聲明常量 nPublic | Private Const As Ty

8、pe = nConst PI As Single = 3.14159 n聲明常量PI,代表3.1415926 nConst MAX As Integer = y 程序 End Sub 4.3.2 If-Then-Else語句(雙分支結(jié)構(gòu)) n雙分支結(jié)構(gòu)一般形式如下: IF Then Else End If FalseTrue 表達(dá)式 A組語句B組語句 圖4-9雙分支結(jié)構(gòu) 例4-6計(jì)算分段函數(shù) If x = 0 Then y = Sin(x) + Sqr(x * x + 1) Else y = Cos(x) + Exp(x) - 1 End If 0, 1cos 0, 1sin 2 xex xx

9、x y x n例4-7編寫程序,輸入三角形三條邊的長度 ,計(jì)算三角形面積。如果輸入的三條邊不能 構(gòu)成三角形,給出錯(cuò)誤信息。 程序 4.3.3 If-Then-ElseIf-End If語句(多 分支結(jié)構(gòu)) n語句形式如下: If Then ElseIf Then Else End If 例4-8 n例4-8輸入學(xué)生成績,按確定后給出相應(yīng)的 等級(jí)。成績?cè)?5到100為“優(yōu)秀”,70到84 為“良好”,60到69為“及格”,0到59為 “不及格”。如果成績輸入錯(cuò)誤,比如大于 100或小于0,則給出“成績輸入錯(cuò)誤”提示 信息。 例4-8 n 判斷成績等級(jí) If score 100 Or score

10、= 85 Then 也可寫成score = 85 And score= 70 Then strGrade = 良好 ElseIf score = 60 Then strGrade = 及格 Else strGrade = 不及格 End If 程序 4.3.4 Select-Case - End-Select結(jié)構(gòu)語 句 Select Case測(cè)試表達(dá)式 Case測(cè)試項(xiàng)1 A組語句 Case測(cè)試項(xiàng)2 B組語句 Case Else N組語句 End Select 4.3.4 Select-Case - End-Select結(jié)構(gòu)語 句 n測(cè)試項(xiàng)可以是以下幾種形式之一: n具體取值。例如3,5,7,8

11、等(用逗號(hào)隔開) n連續(xù)的數(shù)據(jù)范圍。例如1 To 10,”A” To “Z”等。 n滿足某個(gè)判決條件。 nCase 2, 4, 8 測(cè)試表達(dá)式的值為2或4或8,則匹配 nCase 60 To 100測(cè)試表達(dá)式的值在60到100之間,則匹 配 nCase “a” To “z”測(cè)試表達(dá)式的值為小寫字母,則匹配 nCase Is 10 測(cè)試表達(dá)式的值大于10,則匹配 例4-9用Case語句實(shí)現(xiàn)例4-6所要求 的成績等級(jí)判定。 Select Case score Case 0 To 59 strGrade = 不及格 Case 60 To 69 strGrade = 及格 Case 70 To 84

12、strGrade = 良好 Case 85 To 100 strGrade = 優(yōu)秀 Case Else strGrade = 成績輸入錯(cuò)誤 End Select 程序 例4-10 例4-10如圖所示,在左邊文本框txtInput中每 按下一個(gè)字符,右邊文本框txtOutput中就顯 示用戶按下了哪一類字符。字符分為字母、 數(shù)字、其它字符三類。 程序 補(bǔ)充例題 例:輸入一個(gè)三位數(shù)整數(shù),分別求出百、十、個(gè)位數(shù)各為多少? 1、轉(zhuǎn)換成字符型處理、轉(zhuǎn)換成字符型處理 n 將整型變量x轉(zhuǎn)換成字符型變量s。 s = CStr (x ) n將字符串中的字符一一取出。采用mid(s,n1,n2)函數(shù)完成 a=m

13、id(s,1,1) b=mid(s,2,1) c=mid(s,3,1) 2、數(shù)值法處理、數(shù)值法處理 (此處此處x為整型為整型) n即: a= x 100 b=(x-a*100)10 c=x mod 10 例:求一個(gè)三位整數(shù)的各位數(shù)之和 例:判斷一個(gè)數(shù)是否為水仙花數(shù) .例:153=13+53+33就是一個(gè) 水仙花數(shù) 4.4循環(huán)結(jié)構(gòu)與循環(huán)結(jié)構(gòu)語句 n4.4.1 Do-Loop循環(huán)結(jié)構(gòu)語句 n4.4.2 For-Next循環(huán)結(jié)構(gòu)語句 n4.4.3 循環(huán)嵌套 4.4.1 Do-Loop循環(huán)結(jié)構(gòu)語句 n1Do-Loop“當(dāng)”型循環(huán)結(jié)構(gòu) n2Do-Loop“直到”型循環(huán)結(jié)構(gòu) n3Exit Do語句 1Do

14、-Loop“當(dāng)”型循環(huán)結(jié)構(gòu) Do While Exit Do Loop Do Exit Do Loop While 2Do-Loop“直到”型循環(huán)結(jié)構(gòu) Do Until Exit Do Loop Do Exit Do Loop Until 3Exit Do語句 n在循環(huán)體中,可以包含一條或多條Exit Do語 句,如果程序執(zhí)行到Exit Do,就會(huì)直接退出 循環(huán)體,執(zhí)行Loop下面的語句。 nExit Do語句一般與If-Then語句結(jié)合使用,常 見形式為: nIf Then Exit Do n當(dāng)條件表達(dá)式結(jié)果為True,則執(zhí)行Exit Do語 句,直接退出循環(huán)體。 n例4-11計(jì)算1到100

15、的和。 程序 n例4-12求出兩個(gè)自然數(shù)的最大公約數(shù)。 程序 n例4-13設(shè)計(jì)一個(gè)程序,求出滿足以下條件 的最小的n值和s值。 ns=1+2+3+n,且s600 程序 4.4.2 For-Next循環(huán)結(jié)構(gòu)語句 n如果循環(huán)次數(shù)已知,則可以使用For-Next循環(huán)結(jié)構(gòu)語 句。 例:求例:求1+2+3+.+100的和的和 該語句一般形式如下: For 循環(huán)控制變量初值循環(huán)控制變量初值 To 終值終值 Step步長步長 Exit For Next 循環(huán)控制變量循環(huán)控制變量 n其中,循環(huán)控制變量必須為數(shù)值型,用來控制循環(huán)執(zhí) 行次數(shù)?!癝tep步長”省略時(shí),步長缺省值為1。For 語句和Next語句之間的

16、語句稱為循環(huán)體。 For-Next循環(huán)執(zhí)行流程 n(1)將初值賦給循環(huán) 控制變量 n(2)判斷循環(huán)控制變 量是否超出終值范圍 ,若沒有,則執(zhí)行循環(huán) 體;否則就退出循環(huán) n(3)執(zhí)行到Next語句 時(shí),將循環(huán)控制變量 增加一個(gè)步長,轉(zhuǎn)到 第(2)步,繼續(xù)循環(huán) True False 開始 Next后面的語句 循環(huán)變量=初值 循環(huán)變量超過終值? 執(zhí)行循環(huán)體 循環(huán)變量=循環(huán)變量+步長 圖4-18 For-Next循環(huán)的邏輯流程 n例4-15使用For-Next循環(huán)計(jì)算100之內(nèi)的偶 數(shù)之和。 nfor 循環(huán)求循環(huán)求1+3+5+7+99的和的和 nfor 循環(huán)求循環(huán)求100+99+98+.+1的和的和

17、nfor 循環(huán)求循環(huán)求99+97+.+1的和的和 nfor 循環(huán)求循環(huán)求100+98+96+.+2的和的和 nfor 循環(huán)求循環(huán)求1*2*3*4*5+*10的積的積,即求即求 10!(注意注意s的初值的初值 ) 程序 Exit For n同Exit Do類似,Exit For的作用是退出For循 環(huán),其一般使用形式為: nIf Then Exit For n例4-16輸入一個(gè)整數(shù),判斷該數(shù)是否為素 數(shù)。 素?cái)?shù)定義:自然數(shù)中只能被1及自身所整除的數(shù)為素 數(shù)。最小素?cái)?shù):最小素?cái)?shù):2。 對(duì)給定的自然數(shù)n,用2n-1做除數(shù),依次試除n,如 果有某個(gè)k(2kn-1)使得k整除n,則n是合數(shù);否 則n為素

18、數(shù) 程序 例:判回文數(shù)例:判回文數(shù) 從左往右和從右往左讀內(nèi)容是一樣的,如從左往右和從右往左讀內(nèi)容是一樣的,如 “12321”,“abccba”都是回文串。都是回文串。 1)若字符串長度為)若字符串長度為L,則只需比較,則只需比較L2次次 2)若比較過程中出現(xiàn)不相等的字符,則無需)若比較過程中出現(xiàn)不相等的字符,則無需 比較剩余字符,應(yīng)跳出循環(huán)。比較剩余字符,應(yīng)跳出循環(huán)。 3)循環(huán)結(jié)束后判斷循環(huán)控制變量的值,若是)循環(huán)結(jié)束后判斷循環(huán)控制變量的值,若是 大于循環(huán)終值則說明每個(gè)字符都比較過了且大于循環(huán)終值則說明每個(gè)字符都比較過了且 沒有不相等的沒有不相等的 n例:實(shí)驗(yàn)4-3-4.求一個(gè)整數(shù)的逆序數(shù)。例如:452的逆序數(shù) 為254。 設(shè)輸入的數(shù)為X,輸出為

溫馨提示

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

評(píng)論

0/150

提交評(píng)論