Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пр и Осн Алг(Спр).doc
Скачиваний:
6
Добавлен:
22.09.2019
Размер:
549.89 Кб
Скачать

4.Операции

4.1.Арифметические операции и присваивание

Обозна-чение

Операция

Тип операндов и результата

Примеры

+

сложение

арифметический, указатель

x + y

вычитание

арифметический, указатель

x - y

*

умножение

арифметический

x * y

/

деление

арифметический

x / y

%

остаток целочисленного деления

целый

x % y

++

инкремент (увеличение на 1) *

арифметический, указатель

++I; I++

--

декремент (уменьшение на 1) *

арифметический, указатель

--I; I--

* – в примере приведены префиксная и постфиксная формы операций соответственно. В префиксной форме сначала выполняется операция, а затем ее результат используется, в постфиксной сначала используется текущее значение переменной, а затем выполняется операция.

Операция присваивания (=) работает в соответствии с обычными математическими требованиями: значение справа присваивается переменной слева.

4.2.Операции отношения

Обозна-чение

Операция

Тип операндов и результата

Примеры

==

Равно

арифметический, указатели

X == Y

!=

Не равно

арифметический, указатели

X != Y

<

Меньше чем

арифметический, указатели

X < Y

>

Больше чем

арифметический, указатели

X > 0

<=

Меньше или равно

арифметический, указатели

X <= 1

>=

Больше или равно

арифметический, указатели

Y >= 1

Используются для сравнения операндов. Возвращают true (не NULL) – истина, если соотношение верно, и false (NULL) – ложь, если не верно. NULL – это двоичный 0, т.е. когда байт состоит из 0. Ближайший аналог – 0 в переменной целого типа.

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

Обозначение

Операция

Примеры

!

Отрицание

!A

&&

Логическое И

A && B

||

Логическое ИЛИ

A || B

Возвращают true (не NULL) – истина, или false (NULL) – ложь. А и В могут быть выражениями.

Операция «!» возвращает true, если операнд равен NULL.

Операция «&&» возвращает true, если оба операнда не равны NULL.

Операция «||» возвращает true, если хотя бы один операнд не равен NULL.

4.4.Операция запятая (,)

Соединяет два (или более, если задан список выражений через запятую) произвольных выражения, вычисляемых слева направо. Результат и его тип определяются последним выражением. Обычно используется в операторе цикла for для сокращения записи. Например:

for (i = 1, j = 10; i == j; i++, j--)

{buf = mas[i];

mas[i] = mas[j];

mas[j] = buf;

}

// Производит реверс массива mas

4.5.Условная операция ( ? : )

Общий вид условной операции

условие ? выражение_1 : выражение_2;

Если условие верно (не NULL), то выполняется выражение_1, иначе выполняется выражение_2. Например:

Y = X>0 ? X+7 : X * X;

//Если Х больше 0, то Y = Х+7, иначе Y = Х2.

4.6.Операция sizeof

Определяет размер своего операнда (переменной, объекта, типа) в байтах. Возвращает целое число.

Операция имеет две формы:

sizeof выражение;

sizeof (имя_типа);

Например:

sizeof a; //вернет размер переменной а

sizeof (int); // вернет размер типа int (4 байта)

4.7.Операция адресации (&) и косвенной адресации (*)

Операция * - позволяет получить значение, на которое указывает указатель (расположенное по заданному адресу).

Операция & - позволяет определить адрес операнда (например переменной).

4.8.Операции доступа к элементам: (.) и (–>)

Операции используются для доступа к полям структур, объединений, элементам классов. Если доступ осуществляется по имени самого объекта, то используется операция «.», если с помощью указателя на объект, то используется «–>». Например:

struct pb { double x, y;} d1;

//Объявляем переменную d1 типа структуры pb с двумя полями

struct pb *d_1;

//Объявляем указатель d_1 на структуру типа pb

d1.x = 6.264845;

//Присваиваем полю x структуры d1 значение

d_1 = &d1;

//Присваиваем указателю d_1 адрес структуры d1

d_1–>y = 56.325255;

/*Присваиваем полю y структуры d1 значение через указатель d_1*