Блок-схема тернарного (условного) оператора.

Пример: Переменной max присваивается максимальное значение из двух переменных а и b.

max = a<=b ? b : a;

 

Согласно общим правилам языка Си сначала будет выполняться выражение справа от знака присваивания, то есть тернарный оператор a<=b ? b : a Результатом этого оператора будет максимальное значение из b, a, которое и будет занесено в переменную max.

 

Если в условной операции выражение2 и выражение 3 являются адресными выражениями, то тернарная операция может стоять слева от знака присваивания:

 

Пример:

a< b? a:b = c*x+d;

 

В данном примере значение выражения c*x+d присваивается меньшей из переменных a , b, если a<b, то вычисляется выражение a = c*x+d, иначе b = c*x+d

 

В заключении приведем таблицу приоритетов операций языка С. Операции расположены по убыванию их приоритетов, таким образом, самый высокий приоритет имеют операции ( ) [ ] -> . , а самый низкий – операция «запятая»


 

Вид операции Знак операции Ассоциативность
Первичные ( ) [ ] -> . слева направо
Унарные ! ~ - + ++ -- (type) * & sizeof справа налево
Мультипликативные * / % слева направо
Аддитивные + - слева направо
Сдвиги << >> слева направо
Отношения < <= > >= == != слева направо
Побитовые & ^ | слева направо
Логические && || слева направо
Тернарная (условная) ? : справа налево
Присваивание = справа налево
Запятая , слева направо







Дата добавления: 2015-02-23; просмотров: 2074;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.