1 / 57

第三章

第三章. 組成敘述的要素. 3-1 識別字. 程式 (Program) 是由一行行的 敘述 所成的集合。 敘述( statement )是程式中可執行的最小單元。 敘述 基本是由 識別字、保留字、特殊符號、資料、 變數、常數、運算式 … 等所組合而成的。 在真實世界,為方便識別,對每個人、事和物都會 賦予一個名字。 同樣使用程式語言設計程式時,對程式中所用到的每個 變數、常數、結構、模組、函式、程序、類別、物件及 屬性等,使用前必須先命名,將這些在程式中被命名的 名字稱為「識別字」 (Identifier) 。 「識別字」就是指可自行定義或宣告的文數字。.

tracy
Download Presentation

第三章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第三章 組成敘述的要素

  2. 3-1 識別字 • 程式 (Program)是由一行行的 敘述 所成的集合。 • 敘述(statement)是程式中可執行的最小單元。 • 敘述 基本是由 識別字、保留字、特殊符號、資料、變數、常數、運算式…等所組合而成的。 • 在真實世界,為方便識別,對每個人、事和物都會賦予一個名字。 • 同樣使用程式語言設計程式時,對程式中所用到的每個變數、常數、結構、模組、函式、程序、類別、物件及屬性等,使用前必須先命名,將這些在程式中被命名的名字稱為「識別字」(Identifier)。 • 「識別字」就是指可自行定義或宣告的文數字。

  3. 識別字命名規則: 1. 識別字第一個字元必須是以大小寫字母或底線(_)開頭。 2. 第二字元以後方可由字母、數字及底線(_)組成。 3. 識別字中間不得有空白字元。 4. 中文也可當識別字,但建議少用。 5. 識別字不宜太長,否則不易記且徒增鍵入的時間。 6. 識別字命名用有意義單字,程式語言所保留的識別字禁用。 7. 識別字由多個單字組成,中間加上底線(_)或 每個單字 開頭用大寫其他用小寫區隔,增可讀性。

  4. 合法識別字: a、score、RndNum、id_no、Super5、_test • 不合法識別字:7_up ‘ 不能由數字開頭$money ‘ 不能由$號開頭+sum ‘ 不能由加號開頭stud no ‘ 中間不能有空白a-b ‘ 中間不能用減號Mary&Tom ‘ 不能含&字號Sub ‘ Sub為VB 2008保留字

  5. 3-2 保留字 • 關鍵字 (Keyword)。 • 程式語言中已被定義識別字,不可重複賦予不同用途。 • If 當選擇敘述,在程式設計時不可將 If 當變數用。 • 下表是 VB 2008保留字,用法有一定的規範,撰寫程式時,出現在程式敘述內時會以藍色標示,以提醒使用者不可誤用。

  6. 3-3 特殊符號 • VB 2008 程式敘述中,有些字元符號,如:( )、_、:、‘、“、& …,在敘述中有特別用途,無法當識別字。 • 字元特殊符號有下列 10 種: 1. ( ) :小括號在函式、方法或事件處理程序名稱的後面,利用小括號 ( ) 來放置傳遞的參數。如: Private Sub Button1_Click(ByVal ……… ) Handles Button1.Click

  7. 2. _ :行接續符號 當一行敘述需分成兩行時,第一行最後一個字元後面空一格再加底線「_」,便可將一個敘述分成兩行。程式執行時將這兩行敘述視為一行敘述處理。 Private Sub Button1_Click(ByVal sender As Object, ByVal e As System. _ EventArgs) Handles Button1.Click 3. 合併敘述符號若程式中有連續的多行敘述都很短時,可透過冒號將兩行合併成一行,敘述間彼此以冒號隔開,可讀性高而且可縮短程式的長度。如:

  8. 4. ‘ :註解符號 使用註解符號目的是為方便日後閱讀及助憶。VB 編譯器在編譯時會忽略註解符號後面的文字。單引符號只能作註解用途,較長註解通常置於要說明敘述前一行,較短註解置於該行敘述後面。

  9. 5. “ :字串符號文數字資料被兩個雙引號 ” ” 頭尾括起稱為 字串。下列三個資料都屬於字串: “我愛Visual Basic 2008” 、 “abc” 、 “123” 6. & :字串連接符號要將兩個字串或數值合併成一個字串,在兩個字串或數值間插入一個字串連接符號『&』如: 3 + 5  8  3 & 5  “35”  3 & “號”  “3號” "我愛 " & "VB 2008“ "我愛VB 2008"

  10. 7. :從屬符號每個物件都有屬性,程式中存取該物件屬性,在物件名稱和屬性名稱間插入一個從屬符號「.」即可。 格式 :物件名稱.屬性名稱 = 屬性值 如設定 Label1標籤控制項的 Text 屬性為 『我愛 VB 2008』 Label1.Text = "我愛 VB 2008" 8. # :日期時間符號 欲將日期或時間資料指定給日期資料型別變數時,前後要加「#」如 : Dim birthday As Date birthday = #9/1/2008 11:34:56 PM#

  11. 9. 算術運算子(符號)有 + (加)、- (減)、* (乘)、/ (除)、\ (整數除法)、^ (指數)、MOD (餘數)…等,如: sum = num1 + num2 10. 比較運算子(符號)有 = (等於)、<> (不等於)、< (小於)、> (大於)、<= (小於等於)、>= (大於等於)。比較結果:True 或 False

  12. [例] 設 num1 和 num2 為整數變數,初值分別 設為10、20。

  13. 3-4 常值 • 用來指定給變數當「變數值」 • 或 指定給物件屬性當「屬性值」。 • 程式執行時,敘述中的每個常值,都會分配到記憶體空間來存放。 • VB 2008 常值包括:數值常值、字串常值、日期常值、布林常值、物件常值。

  14. 2.4.1 數值常值 一. 整數常值 • 整數常值由數字、+ (正)、- (負)所組成。 • 表示方式:二進制、八進制、十進制、十六進制 • 整數常值依表示的範圍可分類出 Byte、SByte、Short、Integer、Long…等資料型別,如下表所示:

  15. 二. 浮點數常值 • 浮點數常值是整數常值後面跟著小數點。 • 浮點數常值依有效範圍:Single、Double、Decimal…

  16. 三. 科學記號表示法 • Single 單精確度與 Double 雙精確度的資料型別為浮點數。 • 可表小數點的數字。 • 當 Single 資料型別的整數位數超過七位數,Double 資料型別超過15位數,兩者以科學記號表之。 • 科學記號表示方式:aE±c a:表示含小數數值,其範圍為 1≦a<10 E:代表底數10 c:代表10的指數值。若指數為正,前加「+」; 若指數為負,前加「-」號。

  17. 例 516000000  5.16 × 1085.16E+8   0.0000000516  5.16 × 10-85.16E-8   -516000000  -5.16 × 108-5.16E+8   -0.0000000516  -5.16 × 10-8-5.16E-8 下面舉例說明一些數值常值的表示方式:  23445 ‘ 為Integer型別的整數常值  2340000000000 ‘ 共13位數,為Long型別的整數常值  12.56 ‘ 有小數,為Single型別的精確度常值  6.02E+23 ‘ 為Single型別常值,即為 6.021023  -5.34E+230 ‘ 為Double型別常值,即為-5.3410230

  18. 2.4.2 字串常值 • 字串常值由一連串字元組成。 • 包括中文字、英文字母、空格、數字、特殊符號。 • 程式中,字串常值需用「“ ”」雙引號頭尾括起來。 • 字串常值細分: Char字元資料型別 String字串資料型別

  19. 例1 合法字串常值 “q”、“hello”、“h2345”、“Hi, my friend.”、 “VB 2008中文版“ 例2 合法字串常值 “12.56”  ‘ 雙引號括起來屬字串常值,非數值 "12 + num" ‘ 雙引號括起來屬字串常值,非運算式

  20. 2.4.3 布林常值 • 日期常值可同時 指定日期和時間 僅指定日期或僅指定時間。 • 日期常值所佔的記憶體空間和可表示的範圍如下: #12:30:00 PM# ‘ 僅只指定時間 #12/3/2003# ‘ 僅只指定日期 #12/3/2003 12:45:00 PM# ‘ 同時指定日期及時間

  21. 2.4.5 物件常值 • 物件常值可包含任何型別的資料,屬不定型資料型別。 • 在變數使用上,物件資料型別的變數很好用。 • 它可存放任何型別的資料,因任何型別的資料都屬於物件型別。 • 物件常值所佔記憶體空間與可表示範圍:

  22. 3-5 變數(Variable) 2.5.1 變數 • 變數與常數都用來存放資料,而資料的內容就是常值。 • 變數用來暫時存放程式執行過程中所處理的中間結果。 • 程式執行時,可能需暫存其值,以方便程式做運算或比較。 • 大多數高階語言都使用變數來儲存這些值。 • 變數是為某個資料的運算而保留的記憶空間,以因應程式執行時,這個變數會在不同時間而擁有不同的值。

  23. VB 每個變數使用前  需事先宣告,宣告同時需給予一個名稱,稱為 變數名稱。 賦予該變數一個資料型別,電腦會在記憶體配置該資料 型別大小的記憶空間來存放該變數內容。 • VB 變數可存放:字串、數值、日期時間…等型別的常值。 • 一個變數只能存放一個常值資料,被存放的資料稱變數值。 • 當一個變數被宣告後,設計者或系統可立即指定一個變數值給該變數,即所謂預設值。此變數的變數值: 可隨時重新指定(設定) 可透過運算結果來更改

  24. 2.5.2 變數名稱的命名規則 第一個字元需以字母字元或底線 (_)開頭。  第二個字元(含)後只能包含字母字元、十進位數字和 底線,其它字元不允許使用。  如以底線開頭,必須至少含有一個字母順序字元或 進位數字。建議少用中文字為宜。  長度不可超過 1023個字元。變數名稱可英文字母、 中文字、數字、底線「_」任意組合。  變數名稱中的英文字母是大小寫不分如:Grade、GRADE、grade視為相同的變數名稱。建議變數名稱儘量以小寫表示。  變數名稱不可取與關鍵字相同名稱,關鍵字在程式中以藍色字標示。

  25. 例1 合法變數 x、F4、MathScore、N2K3、分數、id_no、_num、A牌 例2 不合法變數B&Q、Good Luck、7up [注意] 宣告不合法變數名稱,在錯誤字元下方出現藍色波浪底線來標示,如下圖747為不合法字元,需更改為合法字元藍色波浪底線才會消失:

  26. 2.5.3 變數的資料型別 • 變數分成: 數值變數 字串變數 (String)  日期變數 (Date) 物件變數(Object) • 變數宣告時未設初值,數值預設值『0』,字串預設值為空字串『“”』。 • 數值變數細分為: 位元組變數(Byte)  短整數變數(Short)  整數變數(Integer)  長整數變數(Long)  單精確度變數(Single)  倍精確度變數(Double)  貨幣型別變數(Decimal)

  27. 2.5.4 變數的宣告方式 • VB 使用 Dim、Redim、Static、Public 等關鍵字配合As來宣告變數的資料型別。 • 宣告變數敘述:

  28. 2.5.5 如何設定變數的初值 • 變數宣告時未給予初值,系統會自動給予預設值。 • 數值變數,則預設值為0。 • 字元或字串變數預設值為空字元。 • 布林變數預設為 False。 • 日期變數 日期預設為1/1/0001時間預設為 12:00:00AM。 • 物件變數預設值為「未設定」。 • VB 在宣告變數同時可設定初值,方式: Dim score As Integer =90 • 將宣告和初值設定分開 Dim score As Integer score = 90

  29. 當程式執行時按 [確定] 鈕,將各變數的初值設定,分別顯示在Label1~Label4 標籤控制項上面。

  30. Step1 建立輸出入介面 1. 新增專案並以 varTest 為新專案名稱。 2. 在表單內依輸出要求建立 Label1~Label4和 Button1 按鈕控制項:

  31. step2分析問題 1. 由輸出結果可知:- num1 需設為整數變數- num2 需設為單精確變數- str1 和 name 設為字串變數以便做字串合併;- birthday 設為日期變數 2.  分別宣告各變數的資料型別 再陸續設定各變數指定初值 最後將初值分別指定給 Label1~Label4 標籤控制項 的 Text 屬性即能分別顯示到表單的標籤控制項上面 step3 編寫程式碼

  32. FileName: varTest.sln 01 Public Class Form1 02 03 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System. _EventArgs) Handles Button1.Click 04 Dim num1 As Integer 05 num1 = 20 06 Label1.Text = num1 07 08 Dim num2 As Single 09 num2 = 123456789 10 Label2.Text = num2 11 12 Dim str1 As String 13 str1 = "哈囉!" 14 Dim name As String = "Mr. White" 15 Label3.Text = str1 & name 16 17 Dim birthday As Date 18 birthday = #9/11/2005 5:20:36 PM# 19 Label4.Text = birthday 20 End Sub 21 End Class

  33. 3-6 常數 (Constant) • 程式執行時,有些值在程式執行中,其值到程式結束前 都一直保持不變且重複出現。 • 可用一個有意義的常數名稱來取代這些不變的數字或 字串。 • 如:稅率、圓周率、…等、或常用的字串、日期。 • 常數與變數都有名稱,兩者性質不同。 • 在程式執行中,變數隨敘述指定常值而更改其變數值。 • 常數經過宣告,在整個程式中一直保有當初宣告所指定 的常數值。

  34. 常數名稱是用 Const 來宣告。 • 宣告同時即指定一個常值做為該常數的常數值。 • 使用常數可增加程式可讀性,閱讀程式時較能 體會出該常值的意義且維護程式時易修改。 Const PI 3.14 ‘ PI 表圓周率 Dim r As Integer ‘ r 表半徑 r = 10 Label.Text = “2 * PI * r = “& 2* PI *r ‘ 圓周長 = 2R

  35. Step1 建立輸出入介面 1. 新增專案並以「Const」為新專案名稱。 2. 依輸出要求在表單內建立- Label1 ~ Label4標籤控制項- Button1按鈕控制項3. 分別設定相關屬性值。

  36. Step2 分析問題  宣告 PI 為圓周率常數,並指定 3.14 為園周率常數值。  宣告radius為整數變數,並指定 100 為變數初值。  圓周長度 = 2 x PI x 半徑(radius) 將結果指定給Label3 的 Text 屬性,即顯示在 Label3 控制項上。  圓面積 = 圓周率 x 半徑(radius) x 半徑 結果指定給 Label4 的 Text 屬性,即顯示在 Label4控制項上。 Step3 編寫程式碼

  37. Filename : const.sln 01 Public Class Form1 02 03 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click 04 Const PI As Single = 3.14 ‘ 宣告PI為常數名稱 05 Dim radius As Integer 06 radius = 100 07 Label1.Text = "1. 圓周率: " & PI 08 Label2.Text = "2. 半 徑: " & radius & "公分" 09 Label3.Text = "3. 圓周長: " & 2 * PI * radius & "公分" 10 Label4.Text = "4. 圓面積: " & PI * radius * radius & _ "平方公分" 11 End Sub 12 End Class

  38. 3-7 運算式(Expression) • 運算式由 運算元(operand)和運算子(operator)組成的式子。  y、2、5屬於運算元 + (加號) 和 * (乘號)是運算子 x是一個變數名稱。 = (等號)是一個指定運算子,會將等號右邊運算式 的結果指定給等號左邊的變數。 語法: 變數 = 運算式

  39. 3.7.1 算術運算式 • 算術運算式即為一般的數學計算式 • 運算結果為數值資料。

  40. 3.7.2 字串運算式 • 字串運算式是將不同字串資料或將字串與非字串資料 合併成一個字串的式子。 • 字串運算式運算子有: +運算子 和 & 運算子。 1. + 運算子- 可將兩個字串頭尾相連做字串合併。- 若兩個數值資料, + 運算子視為加法運算。 - 若兩個字串資料, + 運算子視為字串合併。

  41. 2. & 運算子: - & 運算子可合併不同資料型別,合併結果為字串資料 - 如合併的資料一個是數值,另一個是日期,必須使用& 運算子合併,合併結果為字串資料型別。

  42. 3.7.3 複合指定運算式 • x = x + 3  x += 3 在等號兩邊都有相同變數名稱,可採複合指定運算式 x += 3 來表示。 • x = x * 4  x *= 4 • 程式碼較精簡且增快執行速度。

  43. 3-8 其他 3.8.1 如何辨識資料型別 • 當顯示出一個常值時,可用 TypeName() 函式來得知 資料型別。

  44. 3.8.2 電腦可辨識哪些數字系統 • 電腦在內部作運算是以二進制為主。 • 二進制易造成程式閱讀與維護的不易。 • 導致八進制和十六進制的產生。 • 人類日常生活,習慣以十進制來做計數的工作,若能 以十進制來和電腦交談必能方便不少。 • 電腦可辨識數字系統有以上四種數字系統: 二進制  八進制  十進制  十六進制

More Related