КАТЕГОРИИ: Архитектура-(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) |
Логические операции. Операции отношения Операции Описание = = Равно > Больше < Меньше >= Больше или равно
Последовательность Операции отношения
Замечание 1. Знак = никогда не используется как знак сравнения! Это знак присвоить значение. Замечание 2. В C++ нет логического типа. Поэтому, если выражение принимает ненулевое значение, то оно считается истинным, а если не нулевое - ложным. Операции инкремента (++) и декремента (--) В языке C++ предусмотрены две уникальные операции, которые увеличивают или уменьшают значение переменной на 1.
Префиксный и постфиксные операции различаются приоритетом. Префиксные операции имеют самый большой приоритет и выполняются до любой другой операции. Постфиксные операции имею самый маленький приоритет и выполняются после всех остальных операции. Пример. float a, b=2, c=1, d=1; a = b + c++; cout << " a=" << a <<" c= "<< c; /* Даст результат a=3 c=2. Используется постфиксный инкремент. Сначала произойдет сложение b и c, результат запишется в а, затем с будет увеличена на 1 */ a = ++d + b; cout << " a=" << a <<" d= "<< d; /* Даст результат a=4 d=2. Используется префиксный инкремент. Сначала d будет увеличена на 1 (и станет равной 2), затем произойдет сложение d и b, результат запишется в а */ Операция "запятая" Дополнительная операция (,) не работает непосредственно с данными, а приводит к вычислению выражения слева направо. Эта операция позволяет Вам использовать в одной строке несколько выражений, разделенных запятой. Пример 1. main() { int i = 10, j = 25; } Пример 2. i = 10; j=(i=12,i+8); Результат выполнения: j=20. Сначала i получает значение 10, затем использование операции "запятая" приведет к тому, что i получит значение 12, а затем значение i+8, т.е. 12+8=20. Результат будет присвоен j. Условный оператор?: (Условие)? (выражение1):(выражение2) Если условие истинно, то выполняется выражение1, а если ложно, то выражение2. Пример. (а>b)? (ans =10):(ans=25); или ans=(a>b)?(10):(25); Если а>b, то переменная ans получается значение 10, иначе - значение 0.25 Выполнить выражение до запятой, затем выражение после запятой. Пример: x = a+b, x+12; Среди логических операций следует выделить операции ‘и’ (‘and’), ‘или’ (‘or‘), отрицание ‘не’ (‘not’) и сложение по модулю 2 (‘xor’). В языке Си логические операции обозначаются следующим образом:
Таблицы истинности логических операций приведены в следующих таблицах:
Логические операции подчиняются правилу Де-Моргана: not (x and y) = (not x) or (not y) или то же самое !(x && y) =! x ||! y
Дата добавления: 2014-01-20; Просмотров: 429; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |