Оператор — это символ, который указывает компилятору выполнять определенные математические или логические функции. Язык C богат встроенными операторами и предоставляет следующие типы операторов:
- Арифметические Операторы
- Операторы сравнения
- Булевы операторы
- Битовые операторы
- Составные операторы
Арифметические Операторы
Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —
| Имя оператора | Оператор простой | Описание | пример |
|---|---|---|---|
| оператор присваивания | знак равно | Сохраняет значение справа от знака равенства в переменной слева от знака равенства. | A = B |
| прибавление | + | Добавляет два операнда | А + Б даст 30 |
| вычитание | — | Вычитает второй операнд из первого | A — B даст -10 |
| умножение | * | Умножьте оба операнда | А * Б даст 200 |
| деление | / | Разделите числитель на знаменатель | Б / у даст 2 |
| по модулю | % | Оператор модуля и остаток от целочисленного деления | B% A даст 0 |
Операторы сравнения
Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —
| Имя оператора | Оператор простой | Описание | пример |
|---|---|---|---|
| равно | == | Проверяет, равно ли значение двух операндов или нет, если да, тогда условие становится истинным. | (A == B) не соответствует действительности |
| не равно | знак равно | Проверяет, является ли значение двух операндов равным или нет, если значения не равны, тогда условие становится истинным. | (A! = B) верно |
| меньше, чем | < | Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. | (A <B) верно |
| лучше чем | > | Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. | (A> B) не соответствует действительности |
| меньше или равно | <= | Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. | (A <= B) верно |
| больше или равно | > = | Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. | (A> = B) не соответствует действительности |
Булевы операторы
Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —
| Имя оператора | Оператор простой | Описание | пример |
|---|---|---|---|
| а также | && | Называется логический оператор И. Если оба операнда отличны от нуля, тогда условие становится истинным. | (A && B) верно |
| или же | || | Вызывается логическим оператором ИЛИ. Если любой из двух операндов не равен нулю, тогда условие становится истинным. | (A || B) верно |
| не | ! | Вызывается логическим оператором НЕ. Используйте для изменения логического состояния своего операнда. Если условие истинно, то оператор Логический НЕ будет делать ложь. | ! (A && B) неверно |
Битовые операторы
Предположим, что переменная A содержит 60, а переменная B содержит 13, тогда —
| Имя оператора | Оператор простой | Описание | пример |
|---|---|---|---|
| а также | & | Двоичный оператор AND немного копирует результат, если он существует в обоих операндах. | (A & B) даст 12, что 0000 1100 |
| или же | | | Двоичный оператор ИЛИ копирует немного, если он существует в любом из операндов | (A | B) даст 61, что составляет 0011 1101 |
| исключающее | ^ | Двоичный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих. | (A ^ B) даст 49, который является 0011 0001 |
| не | ~ | Оператор дополнения двоичных единиц является унарным и имеет эффект «переворачивания» битов. | (~ A) даст -60, что составляет 1100 0011 |
| сдвиг влево | << | Двоичный оператор левого сдвига. Значение левого операнда перемещается влево на количество битов, указанное правым операндом. | << 2 даст 240, что составляет 1111 0000 |
| сдвиг вправо | >> | Оператор двоичного правого сдвига. Значение левого операнда перемещается вправо на количество битов, указанное правым операндом. | A >> 2 даст 15, что 0000 1111 |
Составные операторы
Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —