Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по киту.doc
Скачиваний:
9
Добавлен:
15.04.2019
Размер:
292.86 Кб
Скачать

14.Операции инкремента и декремента

Операции инкремента (++) и декремента (- -) наз. Также операциями увеличения и уменьшения. На 1 имеются 2 формы записи: префиксная, когда знак опер. записывается перед операндом и постфиксную -после операнда, в префиксной форме сначала изменяется операнд, а потом его знач.становится результирующим знач.выражения, а в постфиксной форме знач.выражения явл. исходное знач.операнда, после чего он изменяется. Операции инкремента и декремента можно применять только к операндам, к-е хранят свои знач.в оперативной памяти.

Int a=b=2, c, d;

C=++a;

D=b++;

C=a+b;

D=a - -*- -c;

A=10++;

A=(- - b+5)++;

Унарный + и унарный – . Унарный + перед опер. можно не писать, т.к. он подразумевает по умолчанию. Унарный – меняет знак операнда на противоположенный.

15. Операции явного преобразования типа и определения размера в языке с

Эта операция используется для явного преобразования величины из одного типа в другой, к-ый указывается в ( ). При преобразовании из более длинного типа в более короткий возможна потеря инф., если исходное знач.выходит за пределы диапазона результирующего им типа.

Int a=2, b=10;

Float x;

X=a/b;

X=(float) a/b;

X=a/(float)b;

X=(float) (a/b);

Int a=9, b=10;

Float x;

X=256, b=a, b=(char) a,

Операции определения размера (size of). Этa операция предназначена для изменения размера операнда или типа в байтах и имеют 2 формы: 1) sizeof выражение; 2)sizeof (выражение), sizeof (тип).

Примеры: shar a, b=5;

Int c;

Float x=10;

A=sizeof (char);

A=sizeof b;

A=sizeof (b+1);

A=sizeof (x+1);

A=sizeof (x+10);

Деление и остаток от деления. Операция деления ( / ) применима ко всем простым типам данных, если оба операнда целочисленные. Результат операции округляется до целого числа путём отбрасывания дробной части. Если хотя бы один из операндов вещественный, то дробная часть не отбрасывается и результат операции будет иметь вещественный тип. Операция остаток от деления ( % ) применяется только к целочисленным операндам.

Int a=11, b=4, c;

Float x;

X=a/b;

X=(float) a/b;

C=a%b;

X=a%b;

16.Операции сдвига в языке С(<< , >>)

Они применяются к целочисленным операндам и сдвигают двоичное представление первого операнда влево или вправо на кол-во разряда заданное вторым операндом. При сдвиге влево (<<) освободившиеся разряды обнуляются. При сдвиге вправо (>>) освободившиеся разряды заполняются нулями, если 1 операнд без знакового типа и знаковым разрядом в противном случае.

Int a=3, b=9, c;

C=a<<1;

C=a<<2;

C=a<<3;

C=a<< 4;

C=b>>1;

C= b>>2;

C= b>>3;

C=b>>4;

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

17.Поразрядные (побитовые) логические операции в языке С (~, &, |, ^)

Они применяются только к целочисленным операндам и работают о их двоичным представлением. Унарная операция поразрядного отрицания (тильда ~) наз. также поразрядным НЕ инвентирует каждый разряд в двоичном представлении целочисленного операнда, т.е.превращает един.биты в нулевые и наоборот. При поразрядном И (амперанд ) наз.также поразрядной коньюкцией бит результата=1, только тогда , когда соответствующие биты операнда =1.

Пример: int a=;

A=6&5;

При поразрядном или ( | ) наз.также поразрядной дизъюнкцией, бит результата=1, когда соответствующий бит хотя бы одного из операндов =1.

Int a;

A=6/5;

При поразрядном исключающем ИЛИ (^) бит результата =1, только тогда, когда соответствует бит ,только одного операнда =1.

Int a;

A=6^5;

Пример: int flag =0;

Flag=flag/16;

……

A=flag & 16;

Flag=flag & ~ 16;

Операции присваивания (<, <=, >, >=, ==, !=). Операции присваивания так же наз.операциями отношения. Сравнивают первый со вторым. Результаты операции явл. знач. логического типа истина или ложь. В языке С знач.ложь представляется нулём, а знач.истина- любым числом не равным 0. Обычно 1.

Пример: int a=5биж

b=a <=10;

b=a%2==0;