Как распространить инструкцию на несколько строк?
cout << “Hello \
World” << endl; // Разделение строки на две вполне допустимо
cout << “Hello “
“World” << endl; // Два строковых литерала подряд вполне допустимы
Оператор это
Операторы (operator) в C++ представляют собой инструменты, предоставляемые языком для работы с данными, их преобразования, обработки и принятия решений на их основе.
Оператор присваивания (=)
Оператор присваивания (assignment operator) вполне интуитивно понятен:
int daysInYear = 365;
Приведенное выше выражение использует оператор присваивания для инициализации целочисленной переменной значением 365. Оператор присваивания заменяет значение, содержащееся в операнде слева от оператора присваивания (называемого l-значением (l-value)), значением операнда справа (называемого г-значением (r-value)).
Понятие I- и г-значений
365 = daysInYear;
Оператор деления по модулю
Оператор деления по модулю (%) возвращает остаток от деления и применим только к целочисленным значениям.
Операторы инкремента (++) и декремента (- -)
Пример кода демонстрирует два разных способа применения операторов инкремента и декремента: до и после операнда. Операторы, которые располагаются перед операндом, называются префиксными (prefix) операторами инкремента или декремента, а те, которые располагаются после, — постфиксными (postfix).
Результат выполнения постфиксных операторов заключается в том, что сначала l-значению присваивается r-значение, а потом r-значение увеличивается или уменьшается. Это значит, что во всех случаях использования постфиксного оператора значением переменной num2 будет прежнее значение переменной num1 (т.е. то значение, которое она имела до операции инкремента или декремента).
Действие префиксных операторов прямо противоположно: сначала изменяется r-значение, а затем оно присваивается l-значению. В этих случаях переменные num2 и num1 имеют одинаковые значения.
Операторы равенства (==) и неравенства (!=)
Зачастую необходимо проверить выполнение или не выполнение определенного условия прежде, чем предпринять некое действие. Операторы равенства == (операнды равны) и неравенства ! = (операнды не равны) позволяют сделать именно это.
Результат проверки равенства имеет логический тип bool, т.е. true (истина) или false (ложь).
Операторы сравнения
Логические операции НЕ, И, ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ
Побитовые операторы &, | и ^
Побитовые операторы сдвига вправо (>>) и влево (<<)
Составные операторы присваивания
Использование оператора sizeof для определения объема памяти, занимаемого переменной
Условное программирование с использованием конструкции if…else
Условная обработка с использованием конструкции switch-case
}
Тернарный условный оператор ( ? : )
int max = (numl > num2) ? numl : num2; // Максимум из numl и num2
Рудиментарный цикл с использованием инструкции goto
Цикл while, цикл do…while
Синтаксис цикла while:
Синтаксис цикла do … while:
Цикл for
for (Выражение инициализации, выполняемое только раз;
Условие выхода, проверяемое в начале каждой итерации;
Выражение цикла, выполняемое в конце каждой итерации)
{
Блок инструкций;
}
Цикл for для диапазона
Пример:
Изменение поведения цикла с использованием операторов continue и break
Бесконечные циклы, которые никогда не заканчиваются, и управление ими
Эквивалентны ли пустой цикл while и цикл for ( ; ; ) ?
Нет, цикл while всегда нуждается в наличии условия выхода.