Язык программирования Си для персонального компьютера | страница 9
В СП ТС разбор конструкций, представляющих байтовое значение, реализован не вполне корректно; так, запись "\1234" считается ошибочной, хотя она представляет восьмеричное значение 123 и символ '4'.
Специальные символы позволяют посылать неграфические управляющие последовательности на внешние устройства. Например, код \033 (символ ESC в коде ASCII) часто используется как первый символ команд управления терминалом и принтером.
Помимо специальных символов, обратный слэш (\) используется также в качестве признака продолжения символьных строк и препроцессорных макроопределений. Если символ новой строки непосредственно следует за обратным слэшем, то комбинация "обратный слэш—символ новой строки" игнорируется и следующая строка рассматривается как продолжение предыдущей строки.
Операции
Операции — это комбинации символов, специфицирующие действия по преобразованию значений. Компилятор языка Си интерпретирует каждую из этих комбинаций как самостоятельную лексему.
В таблице 1.3. представлен список операций. Операции должны использоваться точно так, как они представлены в таблице,' без пробельных символов между символами в тех операциях, которые представлены несколькими символами.
Операция sizeof не включена в эту таблицу, поскольку задается ключевым словом, а не символом.
Таблица 1.3.
Операция | Наименование | Операция | Наименование |
! | Логическое НЕ | ^ | Поразрядное исключающее ИЛИ |
~ | Обратный код | && | Логическое И |
+ | Сложение; унарный плюс | || | Логическое ИЛИ |
- | Вычитание; унарный минус | ?: | Условная операция |
* | Умножение; косвенная адресация | ++ | Инкремент |
/ | Деление | -- | Декремент |
% | Остаток от деления | = | Простое присваивание |
<< | Сдвиг влево | += | Присваивание со сложением |
>> | Сдвиг вправо | -= | Присваивание с вычитанием |
< | Меньше | *= | Присваивание с умножением |
<= | Меньше или равно | /= | Присваивание с делением |
> | Больше | %= | Присваивание с остатком от деления |
>= | Больше или равно | >>= | Присваивание со сдвигом вправо |
== | Равно | <<= | Присваивание со сдвигом влево |
!= | Не равно | &= | Присваивание с поразрядным И |
& | Поразрядное И; адресация | |= | Присваивание с поразрядным включающим ИЛИ |
| | Поразрядное включающее ИЛИ | ^= | Присваивание с поразрядным исключающим ИЛИ |
, | Последовательное выполнение (запятая) |
Примечание. Условная операция ?: является не двухсимвольной, а тернарной (трехоперандной) операцией. Она имеет следующий формат: <операнд1> ? <операнд2> : <операнд3>