- •Основы записи программ
- •Комментарии
- •Переменные и константы, объявления и присваивания
- •Основные конструкции: операторы, выражения, операции, операнды
- •Операторы объявления
- •“Линейные” операторы
- •Операторы управления программой
- •Условный оператор if(if-else)
- •Оператор выбораswitch
- •Оператор цикла while
- •Оператор цикла do–while
- •Оператор цикла for
- •Операторы перехода break,continueиgoto
- •Операция присваивания
- •Объединение действий с присваиванием
- •Операции увеличения и уменьшения на 1
- •Трактовка истинности
- •Операция ?
- •Операция «запятая»
- •Операция sizeof
- •Объявление, определение, параметры и вызов функции
- •Выход из функции
- •Организация памяти при выполнении программы
- •Правила видимости имен для функций
- •Одинаковое именование нескольких функций (перегрузка функций)
- •Параметры функций по умолчанию
- •Передача параметров функции по адресу
- •Библиотека стандартных функций
- •Целые числа
- •Вещественные числа
- •Логические значения
- •Символы
- •Преобразование типов
- •Вычисление значения выражения
- •Массивы
- •Одномерные массивы
- •Многомерные массивы
- •Массивы с неопределенным размером (безразмерные массивы)
- •Перечисления
Операции увеличения и уменьшения на 1
Очень часто в программе приходится увеличивать или уменьшать значение переменной на единицу. Чтобы сделать эти действия наиболее эффективными и удобными для использования, в C++ имеются специальные знаки операций: ++ (увеличить на единицу) и -- (уменьшить на единицу):
i++;// или++i;
j--; // или --j;
Эти операции часто называют операциями, соответственно, инкрементированияидекрементирования. Имеются две формы этих операций:префиксная(знаки операции располагаются слева от операнда) ипостфиксная(знаки операции располагаются справа от него).
Различие в действии двух форм операций ++ и -- сказывается, если эти операции используются в более сложном выражении. Тогда префиксная операция означает изменение значения операнда до его использования в выражении, а постфиксная – после.
Трактовка истинности
В C++ применяется расширенное толкование истинности. Оно заключается в том, что в условиях можно использовать не только логические, но и числовые выражения. При определении истинности числовых выражений (то есть, при преобразовании числовых значений в логические) ноль преобразуется в значениеfalse, любое ненулевое числовое значение – в значениеtrue.
Логические выражения, в свою очередь, могут использоваться в числовых выражениях. В таких случаях значение falseпреобразуется в числовое значение 0, а значениеtrue– в числовое значение 1.
Операция ?
C++ имеет очень мощную тернарную операцию?, которую можно использовать вместо конструкцииif-elseвсе с той же целью – сокращения записи программ. Операция? имеет следующий вид:
операнд_1 ? операнд_2 : операнд_3
где операнд_1,операнд_2иоперанд_3– это выражения.
Результатом выполнения операции ?является значение второго или третьего операнда в зависимости от истинности первого. Если логическим значением первого операнда являетсяtrue, результатом операции является значение второго операнда, еслиfalse– третьего. Пример:
y = x >= 9 ? 100 : 200;
Операция «запятая»
Знак “запятая” часто используется для разделения элементов каких-либо последовательностей (например, при пречислении объявляемых переменных или параметров функции).
Кроме того, в языке определена операция “запятая”, которая связывает (группирует) два или более действий (выражений) и обеспечивает их последовательное выполнение (вычисление). Приоритет операции "запятая" ниже, чем у всех остальных операций C++.
Если операция "запятая" связывает два выражения, первым вычисляется значение ее левого операнда. Значением же операции "запятая" является значение выражения, находящегося справа от нее. Операций "запятая" в выражении может быть несколько, в этом случае они выполняются слева направо, а значением всего выражения будет значение самого правого операнда.
Операция sizeof
Операция sizeofпозволяет определить, сколько памяти занимает то или иное значение. Например,
sizeof (int)
определяет число байтов, отводимое под переменные типа int, а
sizeof b
– число байтов, занимаемое переменной b.
Операндом унарной операции sizeofявляется имя типа или выражение. Операнд заключается в скобки (если операнд – выражение, скобки не обязательны). Результат операции – целое число, равное количеству байтов, необходимых для хранения в памяти заданной величины.
ЯзыкC++: функции
Подпрограммы в C/C++ называютсяфункциями. Функции могут возвращать результат своего выполнения. Такие функции в языке C++ имеют практически тот же смысл, что и функции в математике. Функция вызывается с определенными аргументами (фактическими параметрами), выполняет необходимые действия и возвращает результат в точку вызова. Результаты выполнения таких функций могут являться составными частями выражений.
Функции могут не иметь параметров, они выполняют одни и те же действия при всех вызовах, однако возвращаемый ими результат может быть разным, например, если он зависит от вводимых или получаемых извне значений.
Программа на языке C++ состоит, по крайней мере, из одной функции – функции main. Программа может содержать и другие функции. Выполнение программы всегда начинается с функцииmain, других особенностей у функцииmainнет.
В C++ нет вложенных функций, то есть невозможно определить функцию внутри другой функции.
Каждая функция в C++ – это обособленный фрагмент программы, блок. Доступ к операторам функции нельзя получить с помощью какого-либо оператора перехода (например, невозможно, используяgoto, перейти в середину другой функции). Единственный возможный способ выполнения операторов функции – ее вызов.