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

Оператор – это символ, который сообщает компилятору о необходимости выполнения некоторых математических или логических действий.

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

Приоритет выполнения арифметических операций следующий:

высший +(унарный плюс) – (унарный минус) ++  * / %

низший +  (бинарные операторы)

Операторы, обладающие одним приоритетом, вычисляются компилятором слева направо. Круглые скобки в С устанавливают наивысший приоритет операций.

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

Ключевой концепцией операторов отношения и логических операторов является понятие истины и лжи. В С истине соответствует любое значение кроме 0, лжи – 0. Выражение, использующее операторы отношения или логические операторы, возвращает 0 для лжи и 1 для истины.

Операция

Значение

Пример

!

Логическое НЕ

!EOF

= =

Равно

value==0

!=

Не равно

value!=0

<

Меньше

i<count

>

Больше

i>count

> =

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

i>=count

< =

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

i<=count

||

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

!a || b

&&

Логическое И

a>8 && c<5

Таблица истинности для логических операторов образована с использованием на входах 1 и 0:

P

q

p&&q

p||q

!p

0

0

0

0

1

0

1

0

1

1

1

0

0

1

0

1

1

1

1

0

Как операторы отношения, так и логические операторы имеют более низкий приоритет по сравнению с арифметическими операторами.

Ниже показаны приоритеты выполнения операторов отношения и логических операторов

высший !

> >= < <=

== !=

&&

низший ||

Битовые операторы

С поддерживает все существующие битовые операторы. Битовые операции – это считывание, установка или сдвиг битов в байте или слове, которые соответствуют стандартным типам языка С char и int. Битовые операции не могут использоваться с float, double, long double, void и другими сложными типами.

Оператор

Действие

&

И

|

ИЛИ

^

Исключающее ИЛИ

~

Дополнение

>>

Сдвиг вправо

<<

Сдвиг влево

Битовые операторы И, ИЛИ, НЕ используют ту же таблицу истинности, что и их логические эквиваленты, за тем исключением, что они работают побитно. Исключающее ИЛИ имеет следующую таблицу истинности:

p q p^q

0 0 0

0 1 1

1 0 1

  1. 1 0

Битовое И чаще всего используется для обнуления битов. То есть любой бит установленный в 0, вызывает установку соответствующего бита в другом операнде в также в 0. Например, следующая функция читает символы из порта модема, используя функцию read_modem(), и сбрасывает бит чётности в 0.

char get_char_from_modem(void)

{

char ch;

ch = read_modem();

return (ch & 127);

}

Чётность отображается старшим битом, который устанавливается в 0 с помощью битового И, поскольку 7 младших бит равны 1.