Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Электронный конспект лекций_1.doc
Скачиваний:
5
Добавлен:
16.04.2019
Размер:
332.29 Кб
Скачать

3.3.Операции увеличения и уменьшения на 1

Очень часто в программе приходится увеличивать или уменьшать значение переменной на единицу. Чтобы сделать эти действия наиболее эффективными и удобными для использования, в C++ имеют­ся специальные знаки операций: ++ (увеличить на единицу) и -- (умень­шить на единицу):

i++; // или ++i;

j--; // или --j;

Эти операции часто называют операциями, соответственно, инкрементирования и декрементирования. Имеются две формы этих операций: пре­фиксная (знаки операции располагаются слева от операнда) и постфиксная (знаки операции располагаются справа от него).

Различие в действии двух форм операций ++ и -- сказывается, если эти операции используются в более сложном выражении. Тогда префиксная операция означает изменение значения операнда до его использования в выражении, а постфиксная – после.

3.4.Трактовка истинности

В 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++.

Если операция "запятая" связывает два выражения, первым вычисляется значение ее левого операнда. Значением же операции "запятая" является значение выражения, находящегося справа от нее. Операций "запятая" в выражении может быть несколько, в этом случае они выполняются слева направо, а значением всего выражения будет значение самого правого операнда.

3.7.Операция sizeof

Операция sizeof позволяет опреде­лить, сколько памяти занимает то или иное значение. Например,

sizeof (int)

определяет число байтов, отводимое под переменные типа int, а

sizeof b

– число байтов, занимаемое переменной b.

Операндом унарной операции sizeof является имя типа или выраже­ние. Операнд заключается в скобки (если операнд – выражение, скобки не обязательны). Результат операции – целое число, равное количеству байтов, необходимых для хранения в памяти заданной величины.

4.Язык C++: функции

Подпрограммы в C/C++ называются функциями. Функции могут возвращать результат своего выполнения. Такие функции в язы­ке C++ имеют практически тот же смысл, что и функции в математике. Функция вызывается с определенными аргументами (фактическими параметрами), выполняет необходимые действия и возвращает результат в точку вызова. Результаты выполнения таких функций могут являться составными частями выражений.

Функции могут не иметь параметров, они выполняют одни и те же действия при всех вызовах, однако возвращаемый ими результат может быть разным, например, если он зависит от вводимых или получаемых извне значений.

Программа на языке C++ состоит, по крайней мере, из одной функ­ции – функции main. Программа может содержать и другие функции. Выполнение программы всегда начинается с функции main, других особенностей у функции main нет.

В C++ нет вложенных функций, то есть невозможно определить функцию внутри другой функции.

Каждая функция в C++ – это обособленный фрагмент программы, блок. Доступ к операторам функции нельзя получить с помощью какого-либо оператора перехода (например, невозможно, используя goto, перейти в середину другой функции). Единственный возможный способ выполнения операторов функции – ее вызов.