Трактовка истинности
В C++ применяется расширенное толкование истинности. Оно заключается в том, что в условиях можно использовать не только логические, но и числовые выражения. При определении истинности числовых выражений (то есть, при преобразовании числовых значений в логические) ноль преобразуется в значение false, любое ненулевое числовое значение – в значение true.
Логические выражения, в свою очередь, могут использоваться в числовых выражениях. В таких случаях значение false преобразуется в числовое значение 0, а значение true – в числовое значение 1.
3.5. Операция ?
C++ имеет очень мощную тернарную операцию ?, которую можно использовать вместо конструкции if-else все с той же целью – сокращения записи программ. Операция ? имеет следующий вид:
операнд_1 ? операнд_2 : операнд_3
где операнд_1, операнд_2 и операнд_3 – это выражения.
Результатом выполнения операции ? является значение второго или третьего операнда в зависимости от истинности первого. Если логическим значением первого операнда является true, результатом операции является значение второго операнда, если false – третьего. Пример:
y = x >= 9 ? 100 : 200;
3.6. Операция «запятая»
Знак “запятая” часто используется для разделения элементов каких-либо последовательностей (например, при пречислении объявляемых переменных или параметров функции).
Кроме того, в языке определена операция “запятая”, которая связывает (группирует) два или более действий (выражений) и обеспечивает их последовательное выполнение (вычисление). Приоритет операции "запятая" ниже, чем у всех остальных операций C++.
Если операция "запятая" связывает два выражения, первым вычисляется значение ее левого операнда. Значением же операции "запятая" является значение выражения, находящегося справа от нее. Операций "запятая" в выражении может быть несколько, в этом случае они выполняются слева направо, а значением всего выражения будет значение самого правого операнда.
Операция sizeof
Операция sizeof позволяет определить, сколько памяти занимает то или иное значение. Например,
sizeof (int)
определяет число байтов, отводимое под переменные типа int, а
sizeof b
– число байтов, занимаемое переменной b.
Операндом унарной операции sizeof является имя типа или выражение. Операнд заключается в скобки (если операнд – выражение, скобки не обязательны). Результат операции – целое число, равное количеству байтов, необходимых для хранения в памяти заданной величины.
4. Язык C++: функции
Подпрограммы в C/C++ называются функциями. Функции могут возвращать результат своего выполнения. Такие функции в языке C++ имеют практически тот же смысл, что и функции в математике. Функция вызывается с определенными аргументами (фактическими параметрами), выполняет необходимые действия и возвращает результат в точку вызова. Результаты выполнения таких функций могут являться составными частями выражений.
Функции могут не иметь параметров, они выполняют одни и те же действия при всех вызовах, однако возвращаемый ими результат может быть разным, например, если он зависит от вводимых или получаемых извне значений.
Программа на языке C++ состоит, по крайней мере, из одной функции – функции main. Программа может содержать и другие функции. Выполнение программы всегда начинается с функции main, других особенностей у функции main нет.
В C++ нет вложенных функций, то есть невозможно определить функцию внутри другой функции.
Каждая функция в C++ – это обособленный фрагмент программы, блок. Доступ к операторам функции нельзя получить с помощью какого-либо оператора перехода (например, невозможно, используя goto, перейти в середину другой функции). Единственный возможный способ выполнения операторов функции – ее вызов.
Дата добавления: 2015-11-10; просмотров: 594;