- •Основы записи программ
- •Комментарии
- •Переменные и константы, объявления и присваивания
- •Основные конструкции: операторы, выражения, операции, операнды
- •Операторы объявления
- •“Линейные” операторы
- •Операторы управления программой
- •Условный оператор if(if-else)
- •Оператор выбораswitch
- •Оператор цикла while
- •Оператор цикла do–while
- •Оператор цикла for
- •Операторы перехода break,continueиgoto
- •Операция присваивания
- •Объединение действий с присваиванием
- •Операции увеличения и уменьшения на 1
- •Трактовка истинности
- •Операция ?
- •Операция «запятая»
- •Операция sizeof
- •Объявление, определение, параметры и вызов функции
- •Выход из функции
- •Организация памяти при выполнении программы
- •Правила видимости имен для функций
- •Одинаковое именование нескольких функций (перегрузка функций)
- •Параметры функций по умолчанию
- •Передача параметров функции по адресу
- •Библиотека стандартных функций
- •Целые числа
- •Вещественные числа
- •Логические значения
- •Символы
- •Преобразование типов
- •Вычисление значения выражения
- •Массивы
- •Одномерные массивы
- •Многомерные массивы
- •Массивы с неопределенным размером (безразмерные массивы)
- •Перечисления
“Линейные” операторы
Следом за “линейным” оператором всегда выполняется следующий (расположенный непосредственно за ним) оператор. К “линейным” операторам относятся, например, операторы присваивания и ввода-вывода, а также “пустой” оператор.
Пустой оператор в программе представляется отдельной точкой с запятой, которая в данном случае завершает “пустое” (отсутствующее) действие. Наличие в языке такого, на первый взгляд, ненужного оператора, в действительности является весьма полезной и востребованной (особенно на этапе обучения) возможностью.
Операторы управления программой
Операторы управления программой (управляющие операторы) влияют на последовательность выполнения операторов программы.
Условный оператор if(if-else)
Условный оператор ifпозволяет выбрать один из двух возможных вариантов выполнения действий в зависимости от выполнения определенногоусловия. Условие – это логическое выражение, то есть выражение, результатом которого является логическое значение (true(“истина”) илиfalse(“ложь”)).
Оператор ifимеет две формы – полную (сelse)
if ( условие )
оператор_1
else
оператор_2
и сокращенную (без него):
if ( условие )
оператор_1
Полная форма оператора if означает, что еслиусловиеистинно, выполняется оператороператор_1, если ложно – оператороператор_2.
Сокращенная форма записи оператора if означает, что оператор_1 выполняется, еслиусловие истинно. Она эквивалентна полной форме с пустым оператором послеelse:
if ( условие )
оператор_1
else ;
Если в случае истинности или ложности условия необходимо выполнить несколько операторов, их следует заключить в фигурные скобки:
if (x < 0)
{
x = -x;
cout << "Changing a sign of x";
}
a = x;
В качестве операторов оператор_1 и оператор_2 в операторахif (if-else)могут применяться любые операторы, в том числе и другие операторыif (if-else), то есть операторыif (if-else)могут быть “вложенными”.
Истинность условия определяется вычислением его логическогозначения (trueилиfalse). Помимо операций сравнения ( > , >= , < , <= , = = , !=), логическое значение выдают такжелогические операции. Стандартные логические операции – это бинарные операции “логическое И” (&&) и “логическое ИЛИ” (||) и унарная операция “логическое НЕ” (!). Операндами логических операций являются логические выражения. Использование логических операций позволяет объединять несколько простых условий в более сложное, например,
if ((a>=c) && (b>=c))
cout << c;
Операция &&дает результат “истина” (true), если оба ее операнда истинны, и “ложь” (false)во всех других случаях. Операция||дает результат “ложь”, если оба ее операнда ложны, и “истина” во всех других случаях. Результат операции!противоположен значению ее операнда.
Операции сравнения и логические операции имеют более низкий приоритет по сравнению с арифметическими операциями. Это означает, что в выражении, содержащем и логические и арифметические операции, арифметические операции будут выполняться раньше логических, например, p>s+tвычисляется какp>(s+t).
Ниже показаны сравнительные приоритеты операций сравнения и логических операций:
-
Высший
!
> >= < <=
= = !=
&&
Низший
||
В соответствии с этой таблицей, например, составное условие предыдущего примера
(a>=c) && (b>=c)
можно записать без двух пар скобок:
a>=c && b>=c
поскольку приоритет операции сравнения “больше или равно” выше, чем приоритет логического И.