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

Понимание приоритета и ассоциативности операторов C:четкое руководство

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

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

Давайте рассмотрим пример:

int x = 5 - 17* 6;

В C приоритет * больше, чем - и = . Следовательно, 17 * 6 оценивается в первую очередь. Тогда выражение, включающее - оценивается как приоритет - выше, чем у = .

Вот таблица приоритета операторов от высшего к низшему. Свойство ассоциативности будет обсуждаться в ближайшее время.

Таблица приоритета и ассоциативности операторов

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

Ассоциативность операторов

Ассоциативность операторов определяет направление вычисления выражения. Например,

b = a;

Здесь значение a присваивается b, а не наоборот. Это потому, что ассоциативность = оператор справа налево.

Кроме того, если присутствуют два оператора с одинаковым приоритетом (приоритетом), ассоциативность определяет направление их выполнения.

Давайте рассмотрим пример:

1 == 2 != 3

Здесь операторы == и != имеют одинаковый приоритет. Причем их ассоциативность слева направо. Следовательно, 1 == 2 выполняется первым.

Выражение выше эквивалентно:

(1 == 2) != 3

Примечание: Если в операторе несколько операторов, вы можете использовать круглые скобки () чтобы сделать код более читабельным.

Содержание


Язык C

  1. Строки программирования C
  2. Перегрузка оператора C++
  3. C - Тип литья
  4. С - Операторы
  5. std::list в C++ с примером
  6. Конструкторы C++:использование аргументов по умолчанию для гибкого создания объектов
  7. Типы модификаторов C++
  8. Перегрузка метода C#
  9. C# статическое ключевое слово
  10. Строки С++