Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочный материал к лаб1 и 2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
75.26 Кб
Скачать

Операции над простыми типами.

Арифметические операции:

+ (плюс, унарный и бинарный)

- (минус, унарный и бинарный)

* (умножение)

/ (деление)

% (остаток от деления)

Следует заметить, что целое деление дает целый результат: 7/2 есть 3. Над целыми может выполняться операция % получения остатка: 7%2 равно 1.

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

Логические операции

& (поразрядная операция И), && (логическое И)

| (поразрядная ИЛИ), || (логическое ИЛИ)

^ (исключающее ИЛИ)

<< (логический сдвиг влево)

>> (логический сдвиг вправо)

В языке C логические операции применяются к целым, так как в С нет отдельного логического типа данных. В языке C++ имеется тип данных bool.

Операции сравнения:

== (два подряд идущих знака равно – сравнение на равенство)

!= (не равно)

< (меньше)

> (больше)

<= (меньше или равно)

>= (больше или равно)

В C++ есть операция присваивания =, а не оператор присваивания, как в некоторых языках, например, Турбо Паскале. Операция не только присваивает значение справа левому аргументу, но и возвращает это значение. Таким образом, присваивание может встречаться в неожиданном контексте; например, x=3*(a=2*x); Это бывает полезно. a=b=c означает присвоение c объекту b, а затем объекту a.

Другим свойством операции присваивания является то, что она может совмещаться с большинством бинарных операций, таким образом появляются операции +=, -=, *=, /=, %= (например, x+=5; то же самое, что x=x+5; ). Например, x[i+3]*=4 означает x[i+3]=x[i+3]*4, за исключением того факта, что выражение x[i+3] вычисляется только один раз. Это дает привлекательную степень эффективности без необходимости обращения к оптимизирующим компиляторам. К тому же это более кратко.

Операция ‘,’ (запятая) – операция последовательного вычисления. Вычисляет значение левого и правого операнда, возвращает значение правого операнда. Например: x=2, b=3 – то же самое, что и x=2; b=3;

Допустимой в языке является такая конструкция

c=(a=8,9);

В a будет помешено значение 8, в c – значение 9. Заметьте, что если вы имели в виду число 8.9, но случайно поставили запятую вместо точки, то никакой ошибки не будет выведено.

Унарные операции.

Операция sizeof(объект) – возвращает размер в байтах того объекта, к которому применяется.

Операции -- и ++ - декремент и инкремент – уменьшают или увеличивают значение аргумента на 1. Могут быть записаны как перед операндом (префиксная форма), так и после операнда (постфиксная форма). Если знак операции записан перед операндом, то изменение операнда происходит до его использования в выражении. Например:

x=3;

a=++x; //a=4, x=4

Ещё пример:

x=3;

a=++x+ ++x; //a=10, x=5

В данном примере x увеличивается на единицу два раза, после чего вычисляется выражение.

В языке C++ имеется одна тернарная операция – условная операция, которая имеет следующий формат:

операнд1 ? операнд2 : операнд3

Если операнд1 не равен 0, то результатом операции будет являться значение операнда 2, иначе – операнда 3.

5.3. Операторы-выражения.

Оператор-выражение состоит из выражения, за которым следует точка с запятой. Например:

a = b*3+c;

b*8;

x++;

Пустой оператор.

Простейшей формой оператора является пустой оператор:

;

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