06.常數、變數及資料型態(Constants, Variables and Data Types)

 
     常數是一個固定值,它不會因為程式的執行而改變,宣告時須以關鍵字CONST宣告,其型式如下:

        CONST Constname As Type = value

以下是宣告常數的例子:
 

Const DaysofMay As Byte = 31
Const JAN As String *7 = "January"
Const Scores(4) As Byte = {70,75,80,85,90}


 
   
 
 
 
 
 
 
    常數值需符合所給的型態。常數隱含有可被整個程式擷取的意義,所以它必須以全域宣告。常數亦可宣告為陣列,但其資料型態不可以是其它常數字串或陣列。

    相對於常數而言,變數所代表的值則可能在程式執行中被改變。所有的變數均須以關鍵字DIM來宣告,例如:

        DIM Variablename As Type [= value]
 
    任何變數在被程式使用前,系統必須先被告知它的存在,以及它的型態、大小等。變數須先設定初始值,系統預設的初始值是0或空的字串。慣例上,變數的原始資料型態為Boolean、Byte、Short、Word、Integer、DWord、Long及Float 等,且均會實際佔用記憶體的位置。innoBASIC™另外一種特殊的變數型態是使用在EEPROM記憶體的持久性變數。如果DIM被宣告在程序裡,那麼這變數就屬於區域性變數,只能給所在位置的程序使用;如果是宣告在程序外面,那麼就屬於全域變數,就可以全部的程序使用。請注意固定型態的變數須在程式一開始的地方宣告,而且必須宣告在所有的副程式外面。
    另外需注意如果變數宣告成全域變數,那麼它的初始值不可以在宣告時設定,而必須是在程式中設定。但如果是區域變數則不在此限。
  

變數型態

 大小

 內容

 BOOLEAN  1 Byte 或 1Bit  通常作為旗標狀態或布林結果的變數。當宣告為區域變數時,使用1 Byte;當宣告為全域變數時,使用1 Bit。
 BYTE  1 Byte  無符號變數,值域為0~255。
 SHORT  1 Byte  有符號變數,值域為-128~+127。
 WORD  2 Byte  無符號變數,值域為0~65535。
 INTEGER  2 Byte  有符號變數,值域為-32768~+32767。
 DWORD  4 Byte  無符號變數,值域為0~4294967295。
 LONG  4 Byte  有符號變數,值域為-2147483648~+2147483647。
 FLOAT  4 Byte  浮點數變數,值域為-3.4E+38~+3.4E+38。
 STRING  N Byte  字串變數,將ASCII字元用雙引號” ”括起來表示,字元長度由使用者指定,但必須限制在變數記憶體大小的範圍內。如果字串裡有雙引號字元,則該字元要寫二次雙引號。
 PERSISTENTBYTE
PERSISTENTSHORT
 1 Byte  儲存在非揮發性記憶體EEPROM裡的變數。由於操作的限制,二種資料型態實際上是相同的。
 PERSISTENTWORD
PERSISTENTINTEGER
 2 Byte  儲存在非揮發性記憶體EEPROM裡的變數。由於操作的限制,二種資料型態實際上是相同的。
 PERSISTENTDWORD
PERSISTENTLONG
 4 Byte  儲存在非揮發性記憶體EEPROM裡的變數。由於操作的限制,二種資料型態實際上是相同的。
 PERSISTENTFLOAT  4 Byte  儲存在非揮發性記憶體EEPROM裡的浮點數變數,值域為-3.4E+38~+3.4E+38。
 
 
        用來表示變數數值的文字稱為文字值( L i t e r a l ),需要更詳細說明,可進一步參考文字值相關敘述。