Логические операции

Логические операции служат для построения сложных условий, подобных приведенному в предыдущем параграфе. В языке Си определены следующие логические операции:

 

! логическое отрицание (одноместная),

&& логическое "и" (двуместная),

|| логическое "или" (двуместная).

 

В отличие от битовых операций, логические операции выполняются не над битами, а над значениями операндов. Результаты логических операций определяются следующей таблицей:

 

Результаты логических операций

 

op1 op2 !op1 op1 && op2 op1 || op2
не 0 (1)
не 0 (1) не 0 (1) не 0 (1)
не 0 (1) не 0 (1)
не 0 (1) не 0 (1) не 0 (1) не 0 (1)

 

Логические операции выполняются слева направо, причем для двуместных операций второй операнд может не вычисляться, если значение первого операнда однозначно определяет значение операции. Это происходит в том случае, если первый операнд для && равен 0 (результат операции тоже 0) и если первый операнд для || не 0 (результат операции тоже не 0).

Операция определения размера данных

В некоторых случаях совершенно необходимо иметь возможность определять размеры данных, создаваемых пользователем. Это позволяет писать программы, независимые от компьютера, на котором они выполняются, а также упростить процедуру внесения корректировок в программы. Для определения размера данных в языке Си используется операция sizeof. Первая форма операции выглядит следующим образом:

 

"sizeof(" тип ")"

 

Результат этой формы операции - размер данного соответствующего типа в байтах, например, sizeof(float) даст в результате 4.

Вторая форма операции выглядит следующим образом:

 

"sizeof " имя_данного

 

Результат этой формы операции - размер памяти, отведенной под соответствующее данное в байтах, например, после описания массива символов char name[40];, операция sizeof name даст в результате 40.

Приоритеты операций

Приоритеты и направление рассмотренных выше операций сведены в следующую таблицу. Операции одинакового приоритета объединены в группы, чем выше положение группы в таблице, тем выше приоритет операций группы.

 

Таблица приоритетов рассмотренных выше операций

Операции одного приоритета Направление выполнения операции.
! ~ ++ -- (тип) sizeof
* / %
+ -
<< >>
< <= > >=
== !=
&
^
|
&&
||
= *= /= %= += -= <<= >>= &= ^= |=

 








Дата добавления: 2016-03-10; просмотров: 490;


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

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

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

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