Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Бинарные операции

Унарные операции

Операция присваивания

Операции и выражения

Операции могут быть унарными - с одним операндом.

Бинарными — с двумя операндами.

Одна операция с тремя операндами — тернанрная.

 

Язык C++ - типизированный язык. Все операнды входящие в выражение имеют типы, по которым определяется тип результата вычисления выражения.

 

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

В остальных случаях будет происходить преобразование типов к одному, по некоторому правилу.

 

cont = x<2;

= операция присваивания.

Операция присваивания является частью выражения. Его значение совпадает со значением присваиваемой переменной.

 

При вычислении выражений часто используется две операции ++ –

++ - инкремент increase

– - декремент decrease

Они унарные.

Если перед операндом ++х префиксная запись

в префиксной записи выражения сначала изменяется значение операнда и это значение является значением выражения. Увеличение на 1

Если после х++ - постфиксная запись

в постфиксной записи выражение приобретает значение операнда, и после этого значение операнда увеличивается на 1

int main()

{ int x = 3, y = 3;

cout<<”Префикс:''<<++x<<endl;

cout<<”Постфикс:''<<y++<<endl;

cout<<”x=''<<x<<endl;

cout<<”y=''<<y<<endl;

return 0;

}

На экране

Префикс 4

Постфикс 3

х=4

у=4

 

++ инкремент
-- декремент
Sizeof размер
~ Поразрядное отрицание
! логическое отрицание
- Унарный минус
+ Унарный плюс
& Взятие адреса
* разадресация
new Выделение памяти
delete Освобождение памяти
(type) Преобразование типа

 

Sizeof операция предназначенная для вычисления размера памяти в байтах, выделенного объекту или типу.

Int main()

{ float x = 1.0;

cout<<”size of float”<<sizeof(float);

cout<<”size of x=”<<sizeof x;

return 0;

}

 

! и разрядное отрицание ~

!(отрицание) — дает в результате значение 0, если операнд принимает значение истина (не ноль) и значение 1 в противном случае.

Операнд может быть как целого так и вещественного типа, а также тип указатель.

 

~ выполняет инверсию в двоичном представлении целочисленного операнда.

 

В тех случаях, когда принудительно нужно изменить тип некоторого значения, перед ним указывает наименование типа (int)x+y.

* умножение
/ деление
% Остаток от целочисленного
+ сложение
- вычитание
<< Сдвиг влево
>> Сдвиг вправо
< меньше
<= Меньше или равно
> больше
>= Больше или равно
== равно
!= Не равно
& Поразрядная конъюнкция
^ Поразрядное исключение
| Поразрядное или
&& Логическое и
|| Логическое или
 

 

Операции сдвига применяются только к целочисленным операндам. Количество двоичных разрядов на которое сдвигается первый операнд задается вторым операндом.

 

Операция амперсент & Поразрядная конъюнкция

a & b

| Поразрядное или

 

&&- и

|| - или

Операндами могут быть арифметические значения или указатели, при чем они могут иметь разные типы, при этом преобразование типов не происходит. Каждый операнд проверияется на эквивалентность 0. 0 — false не 0 – true

 

 

+=

-=

*=

/=

первый операнд должен быть переменной, а второй выражением

 

перем *= выражение перемен = переме * выраж

 

тернарная операция

операнд1? Операнд 2: операнд3

арифм

указат

 

Если операнд 1 == true, то значение операнд 2

false операнд 3

значение выражения зависит от первого опернада.

 

#include <iostream>

int main()

{ int a = 11, b =4, max;

max= (b> a)? b:a;

cout<<max;

return o;

}

 

Если в одном выражении участвуют операции одного ранга, то унарные операции, тернарная операция и операция присваивания выполняются справа налево. Остальные слева на право.

 

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

Если операнды разных типов, то перед вычислением выполняется преобразование типов в сторону более длинных по размеру памяти. Для обеспечивания сохранности информации.

 

<== предыдущая лекция | следующая лекция ==>
Переменные и выражения | Указатели
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 843; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.