1 / 29

第三章 基本資料型態

Visual Basic 6.0 學習範本. 第三章 基本資料型態. 儲存單位. 電腦記憶體上的最小儲存單位: bit ( 位元 ) 電腦記憶體內用來定址的最小單位: Byte ( 位元組 ) 1 Byte = 8 bits. 1 K Bytes (KB) = 2 10 Bytes = 1024 Bytes ≒1000 = 10 3 ( 約 1 千 ) 1 M Bytes (MB) = 2 20 Bytes = 1,048,576 Bytes ≒ 10 6 ( 約 100 萬 )

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. Visual Basic 6.0 學習範本 第三章 基本資料型態

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

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

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

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

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

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

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

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

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

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

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

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

  14. 敘述 說     明 Dim date1 As DateDim 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日。 日期變數(Date)

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

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

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

  18. 優點: 符號常數(Symbolic Constant) 程式設計時,經常有一些常數值或文字重覆出現在程式中,如稅率﹑圓周率…等,我們可以使用Const敘述來宣告一個「符號常數」名稱來代替此常數值,如此在程式中所有這個常數值都可以此「符號常數」名稱來代替。 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。 3. 整數部份是由小數點的左邊以10的正冪次方往左遞增。 4. 小數部份是由小數點的右邊以10的負冪次方遞增。 5. 每一個位數在做運算時,滿10便向左進位,不夠時向左借10。

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

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

  24. A B 【例】十六進制2AB16位置值及表示法,如下: 16^2 16^1 16^0 2AB =2×16^2+10×16^1+11×16^0=683 10 16 十六進制 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。

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

  26. 1 1 1 1 0 1 1 ‧ 0 1 2 1232 61 ─1 2 30 ─1 2 15 ─0 2 7 ─1 2 3 ─1 2 1 ─1 0 ─1 0.25 ×2 = 0.5 0.5 ×2 = 1.0 十進制與二進制互換 123.25=( ) 10 2 結果:123.25 =1111011.01 2 10

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

  28. 十進制十六進制二進制 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111 二進制與十六進制間的互換

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

More Related