Константы и инициализация переменных
Константы в Tibbo BASIC
Числовые константы можно записывать в десятичной, двоичной (&b) или шестнадцатеричной (&h) системе.
В константах можно использовать и ASCII-коды. Для этого заключите символ в ``. Для 16- и 32-разрядных переменных между `` можно заключить до двух или четырёх символов.
Строковые константы могут включать escape-последовательности (\x00) для задания непечатаемых символов. Эта возможность заимствована из C. Есть также несколько предопределённых escape-последовательностей.
В BASIC есть специальный оператор const для определения имён констант. Можно также использовать директиву препроцессора #define.
В константах можно использовать выражения.
Механизма «групповой инициализации» элементов массива нет.
dim x as char=-100/5 'decimal notation + expression
dim i as word=&b1010111100000101 'binary notation
dim dw as dword=&hFFFFFFFF 'hex notation
dw=`0123` 'The result will be &h30313233
dim s as string="This is a test\x0A\x0D" 'string constant with LF/CR
Const TIMEOUT_PERIOD=5 'using the const statement
Const DOUBLE_PERIOD=TIMEOUT_PERIOD*2 'expression using another constant
Const DEVICE_NAME="Monitor 1"
x=TIMEOUT_PERIOD
s=DEVICE_NAME
#define TIME_GAP 10
dim arr(5) as word
arr(0)=10 'array members must be initialized one-by-one
arr(1)=25
Константы в Tibbo C
Числовые константы можно записывать в десятичной, шестнадцатеричной (0x5A3F), восьмеричной (0123) или двоичной (1101b) системе. Последняя заимствована из Tibbo BASIC.
Как и в ANSI C, ASCII-коды можно записывать с помощью ' '. Для 16- и 32-разрядных переменных между ' ' можно заключить до двух или четырёх символов.
Как и в ANSI C, строковые константы могут включать escape-последовательности (\x00) для задания непечатаемых символов. Есть также несколько предопределённых escape-последовательностей.
Оператора const или аналогичного нет (в ANSI C это сильно критикуют). Вместо него используйте директиву препроцессора #define.
В константах можно использовать выражения.
Все элементы массива можно инициализировать разом, используя синтаксис ={,,,}; или =" ".
В Tibbo C НЕЛЬЗЯ делать так: char *b="123" (потому что строковые константы устройств Tibbo хранятся во флеш-памяти).
char x=-100/5; //decimal notation + expression
unsigned char uc=11001010b; //binary notation
signed int si=0345; //octal notation
unsigned int ui=0x5A3F; //hex notation
unsigned long ul='0123'; //The result will be 0x30313233
string s="This is a test\x0A\x0D"; //string constant with LF/CR
#define TIME_GAP 10
x=TIME_GAP*2;
unsigned char arr[]={1,10,5,3}; //init an array
unsigned int arr2[2][2]={{1,2},{3,4}}; //init a two-dimensional array
char arr3[]="Test"; //NULL-character will be added
Предопределённые escape-последовательности (Tibbo BASIC и C)
- "\0" - ASCII-код 0
- "\a" - ASCII-код 7
- "\b" - ASCII-код 8 (символ BS)
- "\t" - ASCII-код 9
- "\n" - ASCII-код 10 (символ LF)
- "\v" - ASCII-код 11
- "\f" - ASCII-код 12
- "\r" - ASCII-код 13 (символ CR)
- "\e" - ASCII-код 27 (символ ESC)