Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Basic 6.0 學習範本 第三章 基本資料型態.

Similar presentations


Presentation on theme: "Visual Basic 6.0 學習範本 第三章 基本資料型態."— Presentation transcript:

1 Visual Basic 6.0 學習範本 第三章 基本資料型態

2 儲存單位 電腦記憶體上的最小儲存單位:Bit (位元) 電腦記憶體內用來定址的最小單位:Byte (位元組) 8 Bits = 1 Byte
1 KBytes (KB)=210 Bytes=1024 Bytes (約1千) 1 MBytes (MB)=220 Bytes=1,048,576 Bytes (約100萬) 1 GBytes (GB)=230 Bytes=1,073,741,824 Bytes (約10億) 1 TBytes (TB)=240 Bytes=1,099,511,627,776 Bytes (約1兆)

3 變數 Variable 在設計程式時,將每個資料給予一個變數名稱,再對該變數給予初值,程式用到該資料的地方,以對應的變數名稱取代該資料即可。當程式編譯成可執行檔時,電腦便自動在主記憶體保留一個空位置來存放該變數。

4 變數的命名規則 1. 一個變數名稱不能超過255個字元。
1. 一個變數名稱不能超過255個字元。 2. 變數名稱第一個字元是字母(A-Z),大小寫均可或 _   或中文名稱。除第一個字元外,其它字元可以為A-   Z﹑a-z﹑0-9或 _ 等字元,建議少用中文名稱。 3. 變數名稱最後一個字元可用型態宣告字元:       4.  變數名稱不可以是VB的關鍵保留字。   關鍵保留字:VB.NET系統所提供的屬性(Property)﹑  事件(Event)﹑方法(Method)﹑運算子(Operator)﹑敘述  (Statement)﹑函數(Function)等所用的文字或運算符號

5 變數的種類 位元組變數 數值變數 短整數變數 整數變數 長整數變數 單精確度變數 倍精確度變數 貨幣型態變數 字元變數
           位元組變數      數值變數  短整數變數            整數變數            長整數變數            單精確度變數            倍精確度變數            貨幣型態變數      字元變數  變數  字串變數 固定長度字串變數 變動長度字串變數      布林變數      日期變數      物件變數      使用者定義變數

6 Varient的副型態,有效位數28位不能宣告變數為Decimal的型態須用Cdec函數來建立
型態名稱 Byte (位元組) Integer (整數) Long (長整數) Single (單精確度) Double (倍精確度) Currency (貨幣) Decimal String(固定長度字串) String(變動長度字串) Boolean (布林) Date (日期) Object(物件) Variant (自由型態) 儲存空間 1 Byte 2 Bytes 4 Bytes 8 Bytes 14 Bytes 一個字元1 Bytes 10 Bytes+字串長度 數值:16 Bytes 字串:22Bytes+字串的長度 0~約65,400個字元 有效範圍 0~255 -32,768~+32,767 -2,147,483,648~+2,147,483,647 E+38~ E-45 E-45~ E+38 E+308~ E-324 E-324~ E+308 Varient的副型態,有效位數28位不能宣告變數為Decimal的型態須用Cdec函數來建立 可變長度字串最多約 20 億 ( 2^31) 個字元,固定長度的字串 1~ 64K ( 2^16 ) 個字元。 0~2E32(在32位元系統上) True(非零)或False(零) 西元100年1月1日~西元9999年12月31日 任何引用的Object 任何數值,字串,物件,陣列,Null, Error

7 變數資型態的宣告 1. 使用Dim, Redim, Static, Public等敘述來宣告變數名稱。
說     明 Dim num As Integer 宣告num為整數變數,由於Integer已代表整數型態,所以num變數名稱後面不可再加「%」型態宣告字元。 Dim str1 As String  宣告str1為變動長度字串型態變數,其中String已代表字串型態,所以str1變數名稱後面不可再加$型態宣告字元。 2. 在變數名稱後面加上一個型態宣告字元: num% = 41 表示宣告整數變數名稱,其中num為變數名稱,%為整數型態宣告字元,41是指定給變數num%的值。 str1$="ABC" 表示宣告變動長度字串變數名稱,其中str1為變數名稱,$為字串型態宣告字元,"ABC"是指定給變數str1$的值。

8 常用資料型態介紹 數值變數: 範 例 型態名稱 Byte Integer Long Single Double Currency
範  例 型態名稱 Byte Integer Long Single Double Currency Decimal 位元組 整數 長整數 單精確度 倍精確度 貨幣 Dim num As Byte Dim num As Integer num% = -33 (建議少用) Dim num As Long num& = (建議少用) Dim num As Single num! = (建議少用) Dim num As Double num# = 4.8D + 12 (建議少用) Dim num As Currency = (建議少用) 不能宣告變數為Decimal型態只能為Variant的一個副型態

9 〔例1〕 位元組變數( Byte) 〔例2〕 整數變數(Integer) 敘述 說 明 Dim num1 As Byte
說     明 Dim num1 As Byte 宣告num1為位元組變數 num1=255 將255指定給num1位元組變數 Print num1 顯示225 num1=256 此行敘述會出現"溢位"錯誤訊息,因為超過位元組的有效範圍0~255 〔例2〕 整數變數(Integer) 敘述 說     明 Dim num1 As Integer 宣告num1為整數變數 num1=256 將256指定給num1整數變數 Print num1 顯示256 num1=23.51 先將23.51四捨五入,再指定給num1 顯示24

10 〔例3〕 長整數變數( Long ) 〔例4〕 單精確度變數(Single) 敘述 說 明 Dim num1 As Long
說     明 Dim num1 As Long 宣告num1為長整數變數名稱。 num1=123456 將123456指定給num1,因為在有效範圍內,故不會出現錯誤訊息。 Print num1 顯示123456。 〔例4〕 單精確度變數(Single) 敘述 說     明 Dim num1 As Single 宣告num1為單精確度數變數名稱。 num1=41.8 將41.8指定給num1。單精確度可以處理小數資料。 Print num1 顯示41.8。

11 [例 5] 貨幣型態變數 [例 6] Decimal 敘述 說 明 Dim num1 As Currency 宣告num1為貨幣變數
[例 5] 貨幣型態變數 敘述 說     明 Dim num1 As Currency 宣告num1為貨幣變數 將數值指定給num1貨幣變數 Print num1 顯示 [例 6] Decimal 敘述 說     明 Dim num1 As Variant 宣告num1為自由型態變數名稱,此敘述也可省略 將長整數 轉為Decimal資料型態,並以Variant的Dcimal副型態儲存 num2 = num1 * num1 若num2未特別宣告亦為自由型態 Print num2 顯示 。

12 字串變數(String) 型態名稱 宣告範例 String變動長度字串 Dim str1 As String Str1 = "DAVID" String*num固定長度字串 Dim str2 As String * 20 【說明】 1. 變動長度字串型態的變數有兩種宣告方式,而固定 長度字串型態的變數只有一種宣告方式,如上表的 範例所示。 2. 字串資料中,若有中文字,則一個中文字是佔2個英 文字元的大小(2 Bytes)。

13 〔例1〕 變動長度字串變數 〔例2〕 固定長度字串變數的使用情形 敘述 說 明 Dim str1 As String
〔例1〕 變動長度字串變數 敘述 說     明 Dim str1 As String 宣告str1為變動長度字串變數名稱。 str1="哈囉," 將 "哈囉," 字串資料指定給str1。 Print str1+ “您好! “ 顯示"哈囉,您好! " 〔例2〕 固定長度字串變數的使用情形 敘述 說     明 Dim str3 As String*10 宣告str3為固定長度字串變數名稱,其有效長度為10個字元。 str3="BASIC" 將BASIC加上空白字元湊足10個字元,再指定給str3。 Print str3 顯示"BASIC△△△△△",△表示空白字元。 str3="我非常愛Computer" 將 "我非常愛Computer"取前面10個字元指定給str3。 顯示"我非常愛Comput"。(雖然一個中文字元佔2Bytes、一個英文字母佔1Byte,但一個英文字母與一個中文字元皆視為一個字元長度)

14 日期變數(Date) 敘述 說 明 Dim date1 As Date Dim date2 As Date
說     明 Dim date1 As Date Dim date2 As Date 宣告date1,date2為日期變數,也可以寫成Dim date1 As Date, date2 As Date date1="1997/2/1" 將西元1997年2月1日指定給date1。 date2="1997/3/1" 將西元1997年3月1日指定給date2。 Print date1 顯示"1997/2/1"。 Print date2-date1 顯示"28"計算兩日期差數,然後顯示。 Print date1+28 顯示"1997/3/1",因為1997年2月有28日。

15 自由型態變數(Variant) 「自由型態」變數,可以放任意型態的資料到該變數中。自由型態變數的彈性很大,但是要彈性就要付出多佔用記憶體以及運算速度變慢的代價,所以宣告時宜三思。若宣告一個變數時,省略資料型態,則該變數預設為自由型態。 [例 ] 自由型態變數的使用情形: 敘述 Dim var1 As Variant var1 = 123 Print var1 var1 = "Hello" var2 = 13.5 Print var2 說     明 宣告Var1為自由變數,此敘述也可省略。 將整數資料123指定給自由型態變數var1,其副型態為整數。 顯示123。 將字串型態資料"Hello"指定給自由型態變數var1,其副型態為變動字串。 顯示"Hello"。 將單精確度型態資料13.5指定給自由型態變數var2 顯示13.5。

16 常數(Constant) 「常數」就是在程式執行前先給一個預設值, 在執行過程中其內容均不改變。 常數一般分成兩類: 1. 文數字常數
「常數」就是在程式執行前先給一個預設值,  在執行過程中其內容均不改變。  常數一般分成兩類:     1.   文數字常數     2.   符號常數

17 文數字常數 是由一連串的字元組合而成的,包括中文字﹑英文 字母﹑數字及特殊符號。 表示方式:使用雙引號括起來
  是由一連串的字元組合而成的,包括中文字﹑英文  字母﹑數字及特殊符號。   表示方式:使用雙引號括起來 [例] 下面的字串常數是正確的。 " hello "   " 25,000 "   " = ? "   " Trust me, You can make it ! "   " Always in my heart. 常在我心中 !" [例] 下面的字串常數是不正確的。 “How are you (右邊缺少雙引號)   ”   (左邊缺少雙引號)

18 符號常數(Symbolic Constant)
優點: 1. 增加程式的可讀性 2. 修改容易

19 文字資料表示法 ASCII碼 中文內碼 目的:使各類型電腦能透過此種編碼系統彼此間能夠 互通訊息。
目的:使各類型電腦能透過此種編碼系統彼此間能夠    互通訊息。 ASCII碼是由128個字符組成的,其中有95個字符為可 列印的字符,其它為特殊符號。 中文內碼 中文系統有不同的內碼,早期普遍使用的內碼是大五碼(BIG-5),此種中文資訊交換碼是由資策會所制定的,它提供了5,401個常用字,7,652個次常用字,還有499特殊符號,就構成13,502個中文字內碼。因此一個中文字須由兩個bytes構成。

20 數字系統 電腦在處理數字時,最常採用的數字系統有: 二進制及十六進制。
電腦在處理數字時,最常採用的數字系統有:  二進制及十六進制。 由於電腦本身的特性,在內部作運算時是以二進制為主,但二進制對程式設計人員易造成程式上的不易閱讀與維護,因而有八進制和十六進制的產生。 此外我們人類日常生活中都以十進制來做計數的工作,若能以十進制來和電腦交談必能方便不少,所以電腦便有以上的四種數字系統。

21 十進制系統 1. 所能接受的數字符號:0,1,2,3,4,5,6,7,8,9。 2. 每一位數是根據其位置的加權值而定,其底數為10。
1. 所能接受的數字符號:0,1,2,3,4,5,6,7,8,9。 2. 每一位數是根據其位置的加權值而定,其底數為10。 3. 整數部份是由小數點的左邊以10的正冪次方往左遞增。 4. 小數部份是由小數點的右邊以10的負冪次方遞增。 5. 每一個位數在做運算時,滿10便向左進位,不夠時向左借10。

22 【例】十進制123.45位置值及表示法如下: 10^2 10^1 10^0 10^-1 10^-2
10^ ^ ^ ^ ^-2 最高有效位元 最低有效位元 小數點 123.45=1 ×10^2+2 ×10^1+3 ×10^0+4 ×10^-1 +5 ×10^-2

23 二進制 1. 利用電子特性只有開和關,電腦內部均採用此種方式。
2. 只接受0和1兩種數字符號,所以十進制的數值改用   二進制表示所佔的位數會較多。 3. 亦是一個位置值的加權系統,其底數為2。 4. 運算時,若位數滿2便向左進位,不夠時亦向左借2。 【例】二進制 之位置值及表示法,如下:  2^ ^ ^ ^ ^ ^-2 最高有效位元 小數點 最低有效位元 = 1 ×2^3 +1 ×2^2 +0 ×2^1 +0 ×2^0 +1 ×2^-1 +1 ×2^-2     = 8+4+0+0+1/2+1/4      =

24 十六進制 1. 所能接受的數字符號:0,1,2,3,4,5,6,7,8, 9,A,B,C,D,E,F其中10到15分別以A到F取代。
2. 亦是一個位置值加權數字系統,底數為16。 3. 十六進制運算,當滿16時便向左進位,不夠時亦向左  借16。 【例】十六進制2AB16位置值及表示法,如下: 16^2 16^1 16^0 2AB =2×16^2+10×16^1+11×16^0=683 10 16

25 數字系統的轉換 數系轉換步驟 將整數部份以該數字底數來除,所得的餘數當 作整數部份的最低位數;所得之商再用底數來 除,以此類推直到不夠除為止。若有小數時, 則該小數部份以該數字的底數來乘,所得的整 數部份當作小數點後的第一位數;所得小數部 份再用底數來乘,以此類推,直到所指定的位 數或其值為0時便停止。

26 十進制與二進制互換 123.25 =(    ) 10 2 1 ─ ─ ─ ─ ─ ─ ─1 0.5 ×2 = 1.0 0.25 ×2 = 0.5 結果: = 2 10

27 十進制轉成十六進制   試求 =( ) 0.25 ×16=4.00 B 所以 =7B.4 10 16 ── 11 0 ── 7 10 16

28 二進制與十六進制間的互換 十進制 十六進制 二進制 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100
 0000  0001  0010  0011  0100  0101  0110  0111  1000  1001 A  1010 B  1011 C  1100 D  1101 E  1110 F  1111 十進制 十六進制 二進制

29 由上表可知,二進位的四個Bits相當於十六進制的一個位數
例如: = =7B.416 Case 1. 由二進制轉成十六進制 7    B ‧ 111 1011.01→01111011.0100 Case 2. 要由十六進制改成二進制 B ‧ 0111  1011. 01002

30 補充1:負數的表示法 1補數 最高位元用來表示正負 正的數直接以2進位表示 負的數先以2進位表示,然後1變0,0變1
10進位 2進位 7 0111 6 0110 5 0101 4 0100 3 0011 2 0010 1 0001 0000 -0 1111 -1 1110 -2 1101 -3 1100 -4 1011 -5 1010 -6 1001 -7 1000 1補數 最高位元用來表示正負 如一個4位元的數 ,0XXX表示正,1XXX表示負 正的數直接以2進位表示 如0010表示2 負的數先以2進位表示,然後1變0,0變1 如1010表示-5 缺點(1)0有時為0000,有時為1111 會有不確定性 (2) 加減運算不正確

31 補充1:負數的表示法 改進:2補數 最高位元仍用來表示正負 直接將負數1補數的值加1成為2補數
10進位 2進位 1補數 2補數 7 0111 6 0110 5 0101 4 0100 3 0011 2 0010 1 0001 0000 -0 1111 -1 1110 -2 1101 -3 1100 -4 1011 -5 1010 -6 1001 -7 1000 -8 改進:2補數 最高位元仍用來表示正負 如一個4位元的數 ,0XXX表示正,1XXX表示負 直接將負數1補數的值加1成為2補數

32 補充2:浮點數的表示法 以1個8位元浮點數為例 表示指數2 XX(二進位) 最大負值 10001 011 表示數值0.XXXX(二進位)
最小負值 因此 最小負值 最大負值 最小正值 最大正值


Download ppt "Visual Basic 6.0 學習範本 第三章 基本資料型態."

Similar presentations


Ads by Google