Warning: session_start(): open(C:\Windows\temp\sess_d6iqnvqqpd565guff53te5shi7, O_RDWR) failed: No space left on device (28) in C:\www\lemma4.1php\login.php on line 15 Warning: session_commit(): open(C:\Windows\temp\sess_d6iqnvqqpd565guff53te5shi7, O_RDWR) failed: No space left on device (28) in C:\www\lemma4.1php\login.php on line 36 Warning: session_commit(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:\Windows\temp) in C:\www\lemma4.1php\login.php on line 36 Основы языка Си


По определению, константа представляет значение, которое не может быть изменено. Синтаксис языка определяет пять типов констант:

  • символы,
  • целые числа,
  • вещественные числа,
  • константы перечислимого типа и
  • нулевой указатель.


Символы. Символьные константы используются для изображения отдельных знаков и имеют индивидуальные внутренние коды. Символьная константа представляет собой лексему, состоящую из изображения символа и ограничивающих апострофов: ‘A’, ‘b’, ‘Z’, ‘)’, ‘2’ и т. д.

Внутри апострофов может содержаться любой символ, изображаемый на экране или принтере.


Однако в языке есть символьные константы, не имеющие графического представления. В тексте программ они представляются комбинациями нескольких символов, начинающимися с символа ‘\’ (обратная косая черта) и называющимися управляющими последовательностями. Ниже приводится их список:


Управляющая последовательность

Наименование

\a

Звонок

\b

Возврат на шаг

\t

Горизонтальная табуляция

\n

Переход на новую строку

\v

Вертикальная табуляция

\r

Возврат каретки

\f

Перевод формата

\"

Кавычки

\'

Апостроф

\0

Ноль-символ

\\

Обратная дробная черта

\ddd

Восьмеричное представление символьной константы

\xhhh

Шестнадцатеричном представление символьной константы


Целые константы. Синтаксисом языка определены десятичные, восьмеричные и шестнадцатеричные целые константы.


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


Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных цифр.

Шестнадцатеричная константа начинается с обязательной последовательности 0х или 0Х и содержит одну или несколько шестнадцатеричных цифр (цифры представляющие собой набор цифр шеснадцатеричной системы счисления: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)


Примеры целых констант:


Десятичная константа

Восьмеричная константа

Шестнадцатеричная константа

16

020

0x10

127

0117

0x2B

240

0360

0XF0


Для записи отрицательных целых констант используется знак "-" (унарный минус) перед записью константы. Например: -0x2A, -088, -16 .


Вещественные константы служат для представления вещественных чисел. В памяти компьютера они представляются в формате с плавающей точкой. Вещественная константа имеет вид:

[ цифры ].[ цифры ] [ Е|e [+|-] цифры ] .


Число с плавающей точкой состоит из целой и дробной части и (или) экспоненты. Например: 115.75, 1.5Е-2, -0.025, .075, -0.85Е2.


Константы перечислимого типа. Целочисленные именованные константы можно вводить с помощью перечисления, например:

enum {ONE=1, TWO, THREE};

enum BOOLEAN {NO, YES};


enum ­– это служебное слово, вводящее перечисление. Значения констант в списке начинаются с 0 и увеличиваются на 1 слева направо, если нет явного присваивания значения. Если же константе присваивается значение (ONE=1), то все следующие за ней константы получают значения, на 1 больше предыдущих.


Нулевой указатель (Null-указатель) в конкретных реализациях может быть представлен как 0 или как именованная константа NULL.


Строки. Формально строки не относятся к константам языка Си, а представляют собой отдельный тип его лексем. Строковая константа определяется как последовательность символов, заключенная в двойные кавычки:

“Пример строки”


Все символы одной строки размещаются в памяти компьютера подряд, и каждый символ занимает 1 байт. В конце записи строковой константы компилятор размещает символ ‘\0’.Таким образом, строка занимает в памяти ровно на 1 байт больше, чем число входящих в нее символов.