Читать «Полный справочник по С++» онлайн - страница 27
Герберт Шилдт
Управляющие символьные константы
Практически все символы можно вывести на печать, заключив их в одиночные кавычки. Однако некоторые символы, например, символ перехода на новую строку, невозможно ввести в строку с клавиатуры. Для этого в языке C/C++ предусмотрены специальные управляющие символьные константы (backslash character constants), указанные в табл. 2.2. Они называются эскейп-последовательностями (escape sequences). Для того чтобы гарантировать машинонезависимость, необходимо использовать не ASCII-коды, эквивалентные управляющим символьным константам, а именно эскейп-последовательности.
Таблица 2.2. Управляющие символьные константы | |
---|---|
Код | Значение |
\Ь | Пробел |
\f | Прогон бумаги |
\п | Новая строка |
\г | Возврат каретки |
\t | Горизонтальная табуляция |
\" | Двойная кавычка |
V | Одинарная кавычка |
\0 | Нуль |
\\ | Обратная косая черта |
\v | Вертикальная табуляция |
\а | Звуковой сигнал |
\7 | Знак вопроса |
\N | Восьмеричная константа N |
\xN | Шестнадцатеричная константа N |
Программа, приведенная ниже, выполняет переход на новую строку, выводит символ табуляции, а затем печатает строку “Проверка вывода”.
#include <stdio.h> int main(void)
{
printf(*\n\tnpoBepKa вывода.");
return 0;
}
В языке C/C++ предусмотрено большое количество операторов. В этих языках операторам уделяется гораздо больше внимания, чем в большинстве других языков. Операторы разделяются на четыре основные группы: арифметические (arithmetic), сравнения (relational), логические (logical) и побитовые (bitwise). Кроме того, для конкретных целей предусмотрено еще несколько специальных операторов.
Оператор присваивания
Оператор присваивания можно использовать в любом корректном выражении. В языке C/C++ (в отличие от многих языков программирования, включая Pascal, BASIC и FORTRAN) оператор присваивания не считается особенным. Общий вид оператора присваивания выглядит следующим образом. имя_переменной = выражение;
Здесь выражение может состоять как из отдельной константы, так и комбинации сложных операторов. В качестве оператора присваивания в языке C/C++ используется знак равенства (отличие от языков Pascal и Modula-2, в которых оператор присваивания обозначается символами : =). Цель (target), или левая часть оператора присваивания, должна быть либо переменной, либо указателем, но не функцией или константой.
Часто в книгах о языке C/C++ и в сообщениях компилятора встречаются два термина: lvalue и rvalue. Термин lvalue означает любой объект, который может стоять в левой части оператора присваивания. С практической точки зрения термин lvalue относится к переменным. Термином rvalue называют выражение, стоящее в правой части оператора присваивания, точнее говоря, значение этого выражения.
Преобразования типов в операторе присваивания
Когда в выражении смешиваются переменные разных типов, необходимо выполнить преобразование типов (type conversion). Для оператора присваивания правило преобразования типов формулируется просто: значение правой части (rvalue) преобразовывается к типу левой части (lvalue). Рассмотрим конкретный пример.