ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 3) онлайн
Операции отношения
Операция отношения сравнивает между собой два значения. Значения могут быть как стандартных типов языка C++, например char, int или float, так и типов, определяемых пользователем, как мы позже убедимся. Сравнение устанавливает одно из трех возможных отношений между переменными: равенство, больше или меньше. Результатом сравнения является значение истина или ложь. Например, две величины могут быть равны (истина) или не равны (ложь).
Наш первый пример RELAT демонстрирует использование операций сравне- ния применительно к целым переменным и константам.
// relat.cpp
// применение операций отношения #include <iostream> using namespace std;
int main() {
int numb;
cout << "Введите число: "; cin >> numb;
cout << "numb<10 равно " << (numb <10) << endl; cout << "numb>10 равно " << (numb >10) << endl; cout << "numb==10 равно " << (numb ==10) << endl; return 0;
}
Эта программа использует три вида сравнения числа 10 с числом, вводимым пользователем. Если пользователь введет значение, равное 20, то результат ра- боты программы будет выглядеть так:
Введите число: 20 numb<10 равно 0 numb>10 равно 1 numb==10 равно 0
Первое выражение истинно в том случае, если значение numb меньше, чем 10; второе — тогда, когда numb больше, чем 10; и наконец, третье — когда numb рав- но 10. Как можно видеть из результата работы программы, компилятор C++ присваивает истинному выражению значение 1, а ложному — значение 0.
Как мы упоминали в предыдущей главе, стандартный C++ включает в себя тип bool, переменные которого имеют всего два значения: true и false. Возможно, вы подумали о том, что результаты сравнения выражений должны иметь тип bool, и, следовательно, программа должна выводить false вместо 0 и true вместо 1, но C++ интерпретирует true и false именно как 1 и 0. Это отчасти объясняется историческими причинами, поскольку в языке C не было типа bool, и наиболее приемлемым способом представить ложь и истину представлялись именно числа 0 и 1. С введением типа bool два способа интерпретации истинности и ложности объединились, и их можно представлять как значениями true и false, так и зна- чениями 1 и 0. В большинстве случаев не важно, каким из способов пользовать- ся, поскольку нам чаще приходится использовать сравнения для организации циклов и ветвлений, чем выводить их результаты на экран.
Полный список операций отношения в C++ приводится ниже.
Операция Название
> больше
< меньше
== равно
!= не равно
>= больше или равно
<= меньше или равно
Теперь рассмотрим выражения, использующие операции сравнения, и значе- ния, получающиеся в результате вычисления таких выражений. В первых двух строках примера, приведенного ниже, присваиваются значения переменным harry и jane. Далее вы можете, закрыв комментарии справа, проверить свое умение определять истинность выражений.
jane = 44; // оператор присваивания
harry = 12; // оператор присваивания
(jane == harry) // ложь
(harry <= 12) // истина
(jane > harry) // истина
(jane >= 44) // истина
(harry != 12) // ложь
(7 < harry) // истина
(0) // ложь (по определению)
(44) // истина (поскольку не ноль)
Обратите внимание на то, что операция равенства, в отличие от операции присваивания, обозначается с помощью двойного знака равенства. Распростра- ненной ошибкой является употребление одного знака равенства вместо двух. Подобную ошибку трудно распознать, поскольку компилятор не увидит ничего неправильного в использовании операции присваивания. Разумеется, эффект от работы такой программы, скорее всего, будет отличаться от желаемого.
Несмотря на то, что C++ использует 1 для представления истинного значе- ния, любое отличное от нуля число будет воспринято им как истинное. Поэтому истинным будет считаться и последнее выражение в нашем примере.
Давайте теперь рассмотрим, как можно использовать указанные операции в различных типовых ситуациях. Сначала мы займемся организацией циклов, а затем перейдем к ветвлениям.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
Схожі підручники
- Страхові послуги (частина 1)
- Страхові послуги (частина 3)
- Розділ ІІ (ЗМ 2) Господарство та економічна думка суспільства Європейської цивілізації в період середньовіччя (кінець V – ХV ст.)
- Загальні питання з курсу «Теорія ймовірності та Математичної статистики»№1
- Загальні питання з курсу Українська мова
- Банківська Система основні теми
