Новосибирский Государственный Университет
Опубликован: 26.08.2005 | Доступ: свободный | Студентов: 19084 / 3475 | Оценка: 4.07 / 3.55 | Длительность: 13:11:00
ISBN: 978-5-9556-0057-4
Лекция 3:

Операции

Операции, уровень приоритета которых равен 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;
Иван Руднев
Иван Руднев
Фраза "Структурная переменная описывается с помощью переменной структурного типа" на мой Взгляд является тафтология. Из нее сложно понять суть утверждения. Хотелось бы полке понятного описания.
Руслан Поддубный
Руслан Поддубный

"

printf("Добро пожаловать!\n");  - на консоль выводится непонятный набор знаков вместо русского текста.