Базовий курс програмування на С++. Урок 5. Оператори порівняння. Логічні операції об'єднання. Аспекти використання декременту і інкременту. |
Написав Joker | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Понеділок, 10 листопада 2014 00:19 Переглядів: 7372
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Будь-який дурень може написати код, зрозумілий комп'ютеру. Хороший програміст пише код, який зрозумілий людині. Сьогодні ми вивчимо:
Різниця між префіксною та суфіксною формою у декременті/інкременті. На перший погляд все дуже просто, декремент зменшує змінну на 1, а інкремент – збільшує. Також варто підкреслити те, що вони не застосовуються до літералів. Погодьтесь вираз 5++; дещо дивний і зовсім не зрозумілий. А ось так a++; все просто і зрозуміло, навіть якщо змінна a = 5;. Також ми визначили, що синтаксис цих операторів може бути різним ( --a; a--;), яка ж між ними різниця? А різниця все таки є. Префіксна форма: --a; ++a; Суфіксна форма: a--; a++; Давайте розглянемо все на прикладі Приклад 1:
У даному випадку нічого несподіваного не відбулося і на перший погляд нічим ці дві форми не відрізняються. Але давайте розглянемо ще один приклад.
Якщо крім суфіксної форми інкремента чи декремента є інші оператори, то спершу виконається інша команда (в залежності від оператора) і тільки після цього буде виконане додавання/віднімання 1. cout << a++; Спершу буде виконано операцію виводу і на екран виведеться число і тільки після того буде виконана операція декремента.
Оператори рівності
Оператори порівняння
Логічні операції об’єднання і негативна інверсія В більшості випадків важко обмежитися тільки однією умовою. Для прикладу, щоб перевірити чи число A знаходиться у діапазоні від 5 до 10, нам знадобляться 2 умови. А>=5 і A<=10. Але компілятор не знає літери і, замість цього існують спеціальні символи.
Тепер ми можемо записати нашу умову як A>=5 && A<=10.
Логічне І (&&) Ця операція об’єднує 2 вирази у одне, і як і інші повертає значення true (правда) або false (брехня). Давайте визначимо коли результатом буде true, а коли false
Простіше кажучи ця операція поверне true тільки у тому випадку, коли обидва вирази дорівнюють true. true можна замінити будь-яким числом крім нуля, компілятор сприйме його як істину (true). False можна замінити тільки 0, тобто -1і інші від’ємні числа - true. Давайте розглянемо приклад програми яка визначає чи число належить діапазону 5-10
Логічне АБО (||) Об’єднує 2 умови і повертає істину (true) тільки у тому випадку, коли хоча б одна з умов поверне істину. Результатом буде false, коли обидві умови дадуть false. Крім цього АБО працює за скороченою системою, якщо перша умова повертає true, то інша (друга умова) – взагалі не перевіряється.
Давайте знову напишемо програму яка перевіряє чи число a належить діапазону від 5 до 10. Але тепер будемо використовувати АБО.
Логічне НЕ (!) Логічне НЕ є унарним оператором, тому він не може об’єднувати два критерії (як АБО чи І ). Він використовується у тому випадку коли потрібно змінити результат перевірки на протилежній.
Цей оператор змінює результат перевірки з true на false і з false – true.
Дякую за приділений час! Чекайте продовження цього уроку. ( 17 Проголосувало ) Новіші матеріали:
Старіші матеріали:
3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved." |