"Денис Гаев. Ксерион: язык и технология программирования" - читать интересную книгу автора

$o45; !! то же, что и выше
$x25; !! то же, что и выше
3.14159; !! 3.14159 (float)
3.14159d; !! 3.14159 (double)
true; !! истина (bool)
false; !! ложь (bool)
'@'; !! символ С@' (char)
"Это строка"; !! строка (char [])
"Это -- еще один пример строки,
которая займет несколько строк
при выводе" !! еще одна строка (char [])

Примитивные типы и операции над ними

Примитивные типы данных играют фундаментальную роль в системе типов
языка, поскольку они являются теми простейшими "кирпичиками", из которых
строится все остальное. Их можно разделить на числовые, символьные,
логический и пустой. В свою очередь, числовые типы представлены восемью
целочисленными и тремя "плавающими" типами. Целочисленные типы данных -- это
четыре вида значений, имеющих знак (tiny, short, int, long) и их беззнаковые
аналоги (u_tiny, u_short, u_int, u_long). "Знаковые" значения представляют
целые числа в дополнительном коде и различаются разрядностью: тип tiny
обеспечивает только 8 двоичных разрядов, short -- 16, int -- 32 и long --
64. Соответствующие им типы без знака имеют ту же разрядность, но
представляют только неотрицательные числа. Три типа представляют значения с
плавающей точкой (в соответствии со стандартом IEEE-754): float -- плавающее
со стандартной точностью, double -- с двойной точностью и quad
(зарезервирован на будущее, в настоящее время с точки зрения реализации
неотличим от double). Два простых типа предназначены для работы с символами:
тип char представляет 8-битовые символы набора ASCII/ISO, а тип w_char --
16-битовые набора Unicode. Логический (булевский) тип bool представляет лишь
два логических значения: истину (true) и ложь (false). В завершение упомянем
тип void (пустой), вообще не имеющий значений и предназначенный, в основном,
для описания функций-процедур, не возвращающих какого-либо результата.

Любая переменная в языке должна быть описана (декларирована) перед
использованием. Для простейших типов синтаксис деклараций прост (и, в
основном, C-подобен):

!! I, J, K -- беззнаковые целые переменные
u_int I = 1, J = 2, K = 3;
!! X, Y, Z -- плавающие переменные стандартной точности
float X, Y, Z = 0.001;
!! DONE -- логическая переменная
bool DONE = false

Из этих примеров также видно, что описание переменной может
сопровождаться ее инициализацией (и это рекомендуемая практика). Если
переменная примитивного типа не инициализирована явно, она будет содержать
неопределенное значение (мусор).