Фраза "Структурная переменная описывается с помощью переменной структурного типа" на мой Взгляд является тафтология. Из нее сложно понять суть утверждения. Хотелось бы полке понятного описания. |
Операции
Операции, уровень приоритета которых равен 5
Уровень приоритета операций сдвига равен 5. Порядок выполнения операций - слева направо.
Операция сдвига влево: <<
Тип операнда - интегральный. Тип результата - такой же, как у левого операнда. Правый операнд преобразуется к типу int. Левый операнд сдвигается на число разрядов, равное значению правого операнда. Освобождающие разряды заполняются нулями.
Использование:
ie1<<ie2
Двоичное представление ie1 сдвигается влево на ie2 разрядов, освобождающие разряды заполняются нулями.
Пример:
four=x<<2;
Операция сдвига вправо: >>
Тип операнда - интегральный. Тип результата - такой же, как у левого операнда. Правый операнд преобразуется к типу int. Левый операнд сдвигается на число разрядов, равное значению правого операнда. Сдвиг будет логическим сдвигом, если левый операнд имеет тип unsigned.
Использование:
ie1>>ie2
Двоичное представление ie1 сдвигается вправо на ie2 разрядов. Сдвиг вправо может быть арифметическим (т. е. освобождающиеся слева разряды заполняются значениями знакового разряда) или логическим в зависимости от реализации, однако гарантируется, что сдвиг вправо целых чисел без знака будет логическим и освобождающиеся слева разряды будут заполняться нулями.
Пример:
x=x>>3;
Операции, уровень приоритета которых равен 6
Уровень приоритета операций отношения равен 6. Выполняются эти операции слева направо.
Операция меньше: <
Тип операндов - арифметический или указатель. Тип результата - int.
Использование:
ae1<ae2
Истина, если ae1 меньше, чем ae2.
Пример:
if(x<0) printf("negative");
Операция больше: >
Тип операндов - арифметический или указатель. Тип результата - int.
Использование:
ae1>ae2
Истина, если ae1 больше, чем ae2.
Пример:
if(x>0) printf("positive");
Операция меньше или равно: <=
Тип операндов - арифметический или указатель. Тип результата - int.
Использование:
ae1<=ae2
Истина, если ae1 меньше или равно ae2.
Операция больше или равно: >=
Тип операндов - арифметический или указатель. Тип результата - int.
Использование:
ae1>=ae2
Истина, если ae1 больше или равно ae2.
Операции, уровень приоритета которых равен 7
Уровень приоритетов операций равенства/неравенства равен 7, выполняются они слева направо.
Операция равенство ==
Тип операндов - арифметический или указатель. Тип результата - int.
Использование:
ie1==ie2
Истина, если ie1 равно ie2, иначе - ложь.
Операция неравенство: !=
Тип операндов - арифметический или указатель. Тип результата - int.
Единственным целым значением, с которым можно сравнивать указатели, является нулевое значение!
Использование:
ie1!=ie2
Истина, если ie1 не равно ie2.
Пример:
while (i!=0) i=func;