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

Сокращенная запись операции присваивания

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

a) вместо записи v = v # e;

где # - арифметическая операция (операция над битовым представлением операндов), рекомендуется использовать запись v #= e; например, i = i + 2; ↔ i += 2; (знаки операций без пробелов);

б) вместо записи x = x # 1;

где # - символы, обозначающие операцию инкремента (+), либо декремента (-), x - целочисленная переменная (переменная-указатель), рекомендуется использовать запись:

##x; - префиксную

или

X##; - постфиксную.

Если эти операции используются в чистом виде, то различий между постфиксной и префиксной формами нет. Если же они используются в выражении, то в префиксной форме (##x) сначала значение x изменится на 1, а затем будет использовано в выражении; в постфиксной форме (x##) сначала значение используется в выражении, а затем изменяется на 1.

  1. Операции отношений (сравнения) и логические операции. Операции сравнения

== - равно или эквивалентно;

!= - не равно;

< - меньше;

<= - меньше либо равно;

> - больше;

>= - больше либо равно.

Пары символов соответствующих операций разделять нельзя.

Общий вид операций отношений:

<выражение 1> <знак операции> <выражение 2>

Общие правила:

- операндами могут быть любые базовые (скалярные) типы;

- значения выражений перед сравнением преобразуются к одному типу;

- результат операции отношения - значение 1, если отношение истинно, или 0 в противном случае (ложно). Следовательно, операция отношения может использоваться в любых арифметических выражениях.

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

Логические операции (в порядке убывания относительного приоритета) и их обозначения:

! - отрицание (логическое НЕТ);

&& - конъюнкция (логическое И);

|| - дизъюнкция (логическое ИЛИ).

Общий вид операции отрицания:

!<выражение>

Общий вид операций конъюнкции и дизъюнкции

<выражение 1> <операция> <выражение 2>

Например:

y>0 && x=7→ истина, если 1-е и 2-е выражения истинны;

e>0 || x=7 → истина, если хотя бы одно выражение истинно.

Ненулевое значение операнда - истина, а нулевое - ложь, например:

!0 → 1

!5 → 0

x=10;

!((x=y)>0) → 0

Особенность операций конъюнкции и дизъюнкции – экономное последовательное вычисление выражений-операндов:

<выражение 1> <операция> <выражение 2>

- если выражение 1 операции конъюнкция ложно, то результат операции ноль и выражение 2 не вычисляется;

- если выражение 1 операции дизъюнкция истинно, то результат операции единица и выражение 2 не вычисляется.

Пример правильной записи двойного неравенства:

0<x<100 ↔ (0<x) && (x<100)

Побитовые логические операции, операции над битами

В Си предусмотрен набор операций для работы с отдельными битами. Эти операции нельзя применять к переменным вещественного типа. Операции над битами и их обозначения:

~ - дополнение (унарная операция); инвертирование (одноместная операция);

& - побитовое И - конъюнкция;

| - побитовое включающее ИЛИ - дизъюнкция;

^ - побитовое исключающее ИЛИ - сложение по модулю 2;

>> - сдвиг вправо;

<< - сдвиг влево.

Общий вид операции инвертирования:

~ <выражение>

Остальные операции над битами имеют вид

<выражение 1> <знак операции> <выражение 2>

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