Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Сложные логические выражения

 

Логическая операция! (“ НЕ ”) меняет “ истину ” на “ ложь ”, а “ ложь ” на“ истину ”. Вычисление сложного логического выражения выполняется слева направо. Для управления приоритетом логических операций также используются круглые скобки.

// Пример 4.2.10

// Сложные логические выражения

#include <iostream>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста

int TestA, TestB, TestC;

int LogicResult; // результат вычисления логического выражения

cout << " Введите два числа чере пробел\n";

cin >> TestA >> TestB;

cout << "TestA=" << TestA << "\t\t" << "TestB=" << TestB << endl;

// сложное логическое выражение

if (!(TestA>= 1 && (TestB < 5 || TestA == TestB)))

TestC=10;

else

TestC=20;

cout << "TestC=" << TestC << endl;

cin.get();

// вычисление логического выражения и вывод по этапам

LogicResult=!((TestA>=1) && (TestB<5) || (TestA==TestB));

cout << "By step" << endl;

cout << "!(TestA>=1 && TestB<5 || TestA==TestB)" << endl;

cout << "TestA>=1: " << (TestA>=1) << endl;

cout << "TestB<5: " << (TestB<5) << endl;

cout << "TestA==TestB: " << (TestA==TestB) << endl;

cout << "После AND (&&): " << (TestA>=1 && TestB<5) << endl;

cout << "После OR (||): " << (TestA>=1 && TestB<5 || TestA==TestB) << endl;

cout << "После NOT (!): " <<!(TestA>=1 && TestB<5||TestA==TestB) << endl;

cout << "LogicResult: " << LogicResult << endl;

if (LogicResult) TestC=10;

else TestC=20;

cout << "TestC=" << TestC << endl;

cin.get();

return 0;

}

9. Особенности записи логических выражений в С++

В С++ следующие операторы эквивалентны:
if (x) x=0; и if (x!=0) x=0;

if (!x) x=1; и if (x = =0) x=1;

Рекомендуют на практике использовать подчеркнутые варианты операторов.

<== предыдущая лекция | следующая лекция ==>
Логические операторы И, ИЛИ, НЕ | Условная тройная операция
Поделиться с друзьями:


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


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



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




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