Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

С - Операторы

Оператор — это символ, который указывает компилятору выполнять определенные математические или логические функции. Язык C богат встроенными операторами и предоставляет следующие типы операторов —

В этой главе мы рассмотрим, как работает каждый оператор.

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

В следующей таблице показаны все арифметические операторы, поддерживаемые языком C. Предположим, переменная A содержит 10 и переменную B содержит 20, то −

Показать примеры

Оператор Описание Пример
+ Добавляет два операнда. A + В =30
Вычитает второй операнд из первого. A − B =-10
* Умножает оба операнда. A * B =200
/ Делит числитель на знаменатель. В/А =2
% Оператор модуля и остаток после целочисленного деления. B % A =0
++ Оператор приращения увеличивает целочисленное значение на единицу. А++ =11
-- Операция декремента уменьшает целочисленное значение на единицу. A-- =9

Операторы отношения

В следующей таблице показаны все реляционные операторы, поддерживаемые C. Предположим, что переменная A содержит 10 и переменную B содержит 20, то −

Показать примеры

Оператор Описание Пример
== Проверяет, равны ли значения двух операндов. Если да, то условие становится истинным. (A ==B) неверно.
!= Проверяет, равны ли значения двух операндов. Если значения не равны, то условие становится истинным. (A !=B) верно.
> Проверяет, больше ли значение левого операнда, чем значение правого операнда. Если да, то условие становится истинным. (A> B) неверно.
< Проверяет, меньше ли значение левого операнда значения правого операнда. Если да, то условие становится истинным. (A
>= Проверяет, больше ли значение левого операнда или равно значению правого операнда. Если да, то условие становится истинным. (A>=B) неверно.
<= Проверяет, меньше ли значение левого операнда или равно значению правого операнда. Если да, то условие становится истинным. (A <=B) верно.

Логические операторы

В следующей таблице показаны все логические операторы, поддерживаемые языком C. Предположим, переменная A содержит 1 и переменную B содержит 0, то −

Показать примеры

Оператор Описание Пример
&& Вызывается оператор логического И. Если оба операнда отличны от нуля, условие становится истинным. (A &&B) ложно.
|| Вызывается оператор логического ИЛИ. Если любой из двух операндов отличен от нуля, условие становится истинным. (A || B) верно.
! Вызывается оператор логического НЕ. Он используется для изменения логического состояния своего операнда. Если условие истинно, то логический оператор НЕ сделает его ложным. !(A &&B) верно.

Побитовые операторы

Побитовый оператор работает с битами и выполняет побитовые операции. Таблицы истинности для &, | и ^ следующие:

<тд>0 <тд>0 <тд>0 <тд>0 <тд>1 <тд>0 <тд>1 <тд>1 <тд>1 <тд>1 <тд>1 <тд>0 <тд>0 <тд>0 <тд>1 <тд>1
p q p &q p | д p ^ q
0
0
1
1

Предположим, что A =60 и B =13 в двоичном формате, они будут следующими —

А =0011 1100

Б =0000 1101

------------------

А&В =0000 1100

А|В =0011 1101

А^В =0011 0001

~А =1100 0011

В следующей таблице перечислены побитовые операторы, поддерживаемые C. Предположим, что переменная «A» содержит 60, а переменная «B» содержит 13, тогда -

Показать примеры

Оператор Описание Пример
& Двоичный оператор AND копирует бит в результат, если он существует в обоих операндах. (A и B) =12, т. е. 0000 1100
| Двоичный оператор ИЛИ копирует бит, если он существует в любом из операндов. (A | B) =61, т. е. 0011 1101
^ Двоичный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих. (A ^ B) =49, т. е. 0011 0001
~ Двоичный оператор дополнения до единицы является унарным и имеет эффект "переворачивания" битов. (~A ) =~(60), т. е. -0111101
< Двоичный оператор сдвига влево. Значение левого операнда сдвигается влево на количество битов, указанное правым операндом. A <<2 =240, т. е. 1111 0000
>> Двоичный оператор сдвига вправо. Значение левого операнда сдвигается вправо на количество битов, указанное правым операндом. A>> 2 =15, т. е. 0000 1111

Операторы присваивания

В следующей таблице перечислены операторы присваивания, поддерживаемые языком C —

Показать примеры

Оператор Описание Пример
= Простой оператор присваивания. Присваивает значения правых операндов левому операнду C =A + B присвоит C значение A + B
+= Добавить оператор присваивания И. Он добавляет правый операнд к левому операнду и присваивает результат левому операнду. C +=A эквивалентно C =C + A
-= Оператор присваивания и вычитания. Он вычитает правый операнд из левого операнда и присваивает результат левому операнду. C -=A эквивалентно C =C - A
*= Умножение И оператор присваивания. Он умножает правый операнд на левый операнд и присваивает результат левому операнду. C *=A эквивалентно C =C * A
/= Оператор деления и присваивания. Он делит левый операнд на правый операнд и присваивает результат левому операнду. C /=A эквивалентно C =C / A
%= Модуль И оператор присваивания. Он принимает модуль, используя два операнда, и присваивает результат левому операнду. C %=A эквивалентно C =C % A
<<= Сдвиг влево И оператор присваивания. C <<=2 совпадает с C =C <<2
>>= Сдвиг вправо И оператор присваивания. C>>=2 совпадает с C =C>> 2
&= Побитовый оператор присваивания И. C &=2 совпадает с C =C &2
^= Побитовое исключающее ИЛИ и оператор присваивания. C ^=2 совпадает с C =C ^ 2
|= Побитовое ИЛИ и оператор присваивания. C |=2 совпадает с C =C | 2

Разные операторы ↦ sizeof и тройной

Помимо операторов, описанных выше, есть несколько других важных операторов, включая sizeof. и ? : поддерживается языком C.

Показать примеры

<тд>&а; возвращает фактический адрес переменной. <тд>*а;
Оператор Описание Пример
sizeof() Возвращает размер переменной. sizeof(a), где a — целое число, вернет 4.
& Возвращает адрес переменной.
* Указатель на переменную.
? : Условное выражение. Если условие верно? затем значение X :иначе значение Y

Приоритет операторов в C

Приоритет оператора определяет группировку терминов в выражении и определяет способ оценки выражения. Некоторые операторы имеют более высокий приоритет, чем другие; например, оператор умножения имеет более высокий приоритет, чем оператор сложения.

Например, х =7 + 3 * 2; здесь x присваивается 13, а не 20, потому что оператор * имеет более высокий приоритет, чем +, поэтому он сначала умножается на 3*2, а затем добавляется к 7.

Здесь операторы с наивысшим приоритетом отображаются в верхней части таблицы, а с наименьшим — в нижней. Внутри выражения операторы с более высоким приоритетом будут оцениваться первыми.

Показать примеры

<тд>+- <тд><<>> <тд>& <тд>^ <тд>| <тд>&& <тд>|| <тд>?: <тд>,
Категория Оператор Ассоциативность
Постфикс () [] -> . ++ - - Слева направо
Унарный +- ! ~ ++ - - (тип)* &sizeof Справа налево
Множественный * / % Слева направо
Добавка Слева направо
Сдвиг Слева направо
Относительный <<=>>= Слева направо
Равенство ==!= Слева направо
Побитовое И Слева направо
Побитовое исключающее ИЛИ Слева направо
Побитовое ИЛИ Слева направо
Логическое И Слева направо
Логическое ИЛИ Слева направо
Условное Справа налево
Назначение =+=-=*=/=%=>>=<<=&=^=|= Справа налево
Запятая Слева направо

Язык C

  1. Операторы С#
  2. Побитовые операторы C# и операторы сдвига битов
  3. Операторы С++
  4. Операторы программирования на C
  5. Операторы Python
  6. Операторы Java
  7. Побитовые операторы в C:AND, OR, XOR, Shift и дополнение
  8. Верилог-операторы
  9. Java — основные операторы
  10. Операторы в С++