Читаем Освой самостоятельно С++ за 21 день. полностью

Если одна целочисленная переменная myAge содержит значение 39, а другая целочисленная переменная yourAge — значение 40, то, используя оператор равенства (==), можно узнать, равны ли эти переменные:

myAge == yourAge; // совпадает ли значение переменной myAge со значением переменной yourAge?

Это выражение возвращает 0, или false (ложь), поскольку сравниваемые переменные не равны. Выражение

myAge > yourAge; // значение переменной myAge больше значения переменной yourAge? также возвратит 0 (или false).

Предупреждение:Многие начинающие программировать на языке C++ путают оператор присваивания (=) с оператором равенства (==). Случайное использование не того оператора может привести к такой ошибке, которую трудно обнаружить.

Всего в языке C++ используется шесть операторов отношений: равно (==), меньше (<), больше (>), меньше или равно (<=), больше или равно (>=) и не равно (!=). В табл. 4.1 не только перечислены все операторы отношений, но и приведены примеры их использования.

Рекомендуется: Помните, что операторы отношений true или false.

He рекомендуется:Не путайте оператор присваивания (=) с оператором равенства (==). Это одна из самых распространенных ошибок программирования на языке C++ — будьте начеку!

Таблица 4.1. Операторы отношений

<p>Оператор if</p>

Обычно программа выполняется по порядку, строка за строкой. Оператор if позволяет проверить условие (например, равны ли две переменные) и изменить ход выполнения программы, направив ее в другое русло, которое будет зависеть от результата сравнения. Простейшая форма оператора if имеет следующий вид:

if(условие)

    выражение;

Условие в круглых скобках может быть любым выражением, но обычно оно содержит операторы отношений. Если это выражение возвращает false, то последующий оператор пропускается. Если же оно возвращает значение true, то оператор выполняется. Рассмотрим следующий пример:

if(bigNumber > smallNumber)

    bigNumber = smallNumber;

Здесь сравниваются значения переменных bigNumber и smallNumber. Если значение переменной bigNumber больше, то во второй строке этого программного фрагмента ее значение устанавливается равным значению переменной smallNumber.

Поскольку блок выражений, заключенных в фигурные скобки, эквивалентен одному выражению, то это свойство позволяет за строкой с оператором if использовать целые блоки, которые могут быть довольно обширными:

if(условие)

{

   выражение 1;

   выражение2;

   выражениеЗ;

}

Вот простой пример применения блока выражений:

if(bigNumber > smallNumber)

{

   bigNumber = smallNumber;

   cout << "bigNumber: " << bigNumber << "\n";

   cout << "smallNumber: " << smallNumber << "\n";

}

На этот раз, если значение переменной bigNumber больше значения переменной smallNumber, то большая переменная не только устанавливается равной значению меньшей переменной, но на экран выводятся также информационные сообщения. В листинге 4.5 показан еще один пример ветвления программы, основанный на использовании операторов отношений.

Листинг 4.5. Пример ветвления с использованием операторов отношений 

1: // Листинг 4.5. Демонстрирует использование

2: // инструкции if совместно с операторами отношений

3: #include

4: int main

5: {

6:    int RedSoxScore, YankeesScore;

7:    cout << "Enter the score for the Red Sox: ";

8:    cin >> RedSoxScore;

9:

10:   cout << "\nEnter the score for the Yankees: ";

11:   cin >> YankeesScore;

12:

13:   cout << "\n";

14:

15:   if (RedSoxScore > YankeesScore)

16:     cout << "Go Sox!\n";

17:

18:   if (RedSoxScore < YankeesScore)

19:   {

20:     cout << "Go Yankees!\n";

21:     cout << "Happy days in New York!\n";

22:   }

23:

24:   if (RedSoxScore == YankeesScore)

25:   {

26:     cout << "A tie? Naah, can't be.\n";

27:     cout << "Give me the real score for the Yanks: ";

28:     cin >> YankeesScore;

29:

30:     if (RedSoxScore > YankeesScore)

31:       cout << "Knew it! Go Sox!";

32:

33:     if (YankeesScore > RedSoxScore)

34:       cout << "Knew it! Go Yanks!";

35:

36:     if (YankeesScore == RedSoxScore)

37:       cout << "Wow, it really was a tie!";

38:

39:   }

40:   cout << "\nThanks for telling me.\n";

41:   return 0;

42: }

Результат:

Enter the score for the Red Sox: 10

Enter the score for the Yankees: 10

A tie? Naah, can't be

Give me the real score for the Yanks: 8

Knew it! Go Sox!

Thanks for telling me..

Анализ: В этой программе пользователю предлагается ввести счет очков для двух бейсбольных команд. Введенные очки сохраняются в целочисленных переменных. Значения этих переменных сравниваются оператором if в строках 15, 18 и 24.

Перейти на страницу:

Похожие книги

Сущность технологии СОМ. Библиотека программиста
Сущность технологии СОМ. Библиотека программиста

В этой книге СОМ исследуется с точки зрения разработчика C++. Написанная ведущим специалистом по модели компонентных объектов СОМ, она раскрывает сущность СОМ, помогая разработчикам правильно понять не только методы модели программирования СОМ, но и ее основу. Понимание мотивов создания СОМ и ее аспектов, касающихся распределенных систем, чрезвычайно важно для тех разработчиков, которые желают пойти дальше простейших приложений СОМ и стать по-настоящему эффективными СОМ-программистами. Показывая, почему СОМ для распределенных систем (Distributed СОМ) работает именно так, а не иначе, Дон Бокс дает вам возможность применять эту модель творчески и эффективно для ежедневных задач программирования.

Дональд Бокс

Программирование, программы, базы данных / Программирование / Книги по IT