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

Операции отношения и логические операции

Операции сравнения: = (равно), != (не равно), <, >, <=, >= используются при сравнении двух выражений. Результатом такого сравнения могут быть значения true (истина) или false (ложь). Однако результатом логического вы­ражения может являться и целочисленное арифметическое значение. При этом значение 0 расценивается как false, а любое ненулевое значение - как true. Рас­смотрим пример:

int tr, ftl;

tr = (101<=105);

fal=(101>105);

В результате выполнения этих операторов переменная tr получит значение 1, а переменная fal станет равной 0.

Не следует путать операторы типа

if(A = =2)...; И

if (А =2)...;

Оба эти оператора верны, так как в С любое выражение, имеющее некоторое значение, может использоваться в условных операторах. Но если в первом слу­чае значение логического выражения может быть как истинным, так и ложным, в зависимости от значения переменной А, то во втором случае значение логиче­ского выражения всегда истинно, так как в результате присваивания значение А равно двум и не является нулевым.

В С имеется три логические операции: && — логическое И (AND) || - логическое ИЛИ (OR) ! - логическое НЕ (NOT)

Логические операции в языке С соответствуют классическим логическим операциям, а их результат - соответствующим таблицам истинности.

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

В С определен ряд операций присваивания

Обозначение

Операции

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

Пример

=

присваивание

любые

X = Y

+=

присваивание со сложением

арифметические, указатели, структуры, объединения

X+=Y

— =

присваивание с вычитанием

арифметические, указатели, структуры, объединения

X- = Y

*=

Присваивание с умножением

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

X*=Y

/=

присваивание

с делением

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

X/=Y

%=

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

целые

X%=Y

<~

присваивание со сдвигом влево

целые

X<=Y

>=

присваивание со сдвигом вправо

целые

X>=Y

&=

присваивание с пораз­рядной операцией И

целые

X&=Y

^=

присваивание с пораз­рядной операцией исключающее ИЛИ

целые

X^=Y

|=

присваивание с пораз­рядной операцией ИЛИ

целые

X|=Y

Особенностью обычного оператора присваивания является то, что он мо­жет использоваться в выражениях, например:

if((f=x-y)>0)...; и допускает многократное использование, например:

а=Ь=с=х*у;

Выполняются операции присваивания справа налево, т. е. сначала вычисляется значение выражения х*у, затем это значение присваивается с, потом b и лишь затем а.

Кроме обычного присваивания, все прочие являются составными опера­циями. Они присваивают переменной, стоящей слева, результат применения простой операции, указанной перед символом «=», к обоим операндам.

Например, выражение X+=Y эквивалентно выражению X=X+Y, но запи­сывается компактнее и выполняется быстрее.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]