Константы и инициализация переменных

Константы в 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)
Исходный материал Tibbo обновлён 12 июля 2022Оригинал на docs.tibbo.com · Сообщить об ошибке