Язык программирования Си для персонального компьютера | страница 9



при выводе на печать будет выглядеть как {ell, поскольку \х7В проинтерпретируется как код левой фигурной скобки. Строка \х07Ве11 будет правильным представлением кода звукового сигнала с последующим словом Bell.

В СП ТС разбор конструкций, представляющих байтовое значение, реализован не вполне корректно; так, запись "\1234" считается ошибочной, хотя она представляет восьмеричное значение 123 и символ '4'.

Специальные символы позволяют посылать неграфические управляющие последовательности на внешние устройства. Например, код \033 (символ ESC в коде ASCII) часто используется как первый символ команд управления терминалом и принтером.

Помимо специальных символов, обратный слэш (\) используется также в качестве признака продолжения символьных строк и препроцессорных макроопределений. Если символ новой строки непосредственно следует за обратным слэшем, то комбинация "обратный слэш—символ новой строки" игнорируется и следующая строка рассматривается как продолжение предыдущей строки.

Операции

Операции — это комбинации символов, специфицирующие действия по преобразованию значений. Компилятор языка Си интерпретирует каждую из этих комбинаций как самостоятельную лексему.

В таблице 1.3. представлен список операций. Операции должны использоваться точно так, как они представлены в таблице,' без пробельных символов между символами в тех операциях, которые представлены несколькими символами.

Операция sizeof не включена в эту таблицу, поскольку задается ключевым словом, а не символом.

Таблица 1.3.

ОперацияНаименованиеОперацияНаименование
!Логическое НЕ^Поразрядное исключающее ИЛИ
~Обратный код&&Логическое И
+Сложение; унарный плюс||Логическое ИЛИ
-Вычитание; унарный минус?:Условная операция
*Умножение; косвенная адресация++Инкремент
/Деление--Декремент
%Остаток от деления=Простое присваивание
<<Сдвиг влево+=Присваивание со сложением
>>Сдвиг вправо-=Присваивание с вычитанием
<Меньше*=Присваивание с умножением
<=Меньше или равно/=Присваивание с делением
>Больше%=Присваивание с остатком от деления
>=Больше или равно>>=Присваивание со сдвигом вправо
==Равно<<=Присваивание со сдвигом влево
!=Не равно&=Присваивание с поразрядным И
&Поразрядное И; адресация|=Присваивание с поразрядным включающим ИЛИ
|Поразрядное включающее ИЛИ^=Присваивание с поразрядным исключающим ИЛИ
,Последовательное выполнение (запятая)  

Примечание. Условная операция ?: является не двухсимвольной, а тернарной (трехоперандной) операцией. Она имеет следующий формат: <операнд1> ? <операнд2> : <операнд3>