Программирование >>  Дополнительные возможности наследования 

1 ... 18 19 20 [ 21 ] 22 23 24 ... 265


Это сложное выражение читается изнутри. Сначала значение переменной NumMinutesToThink складывается со значением переменной NumMinutesToType, поскольку они заключены во внутренние круглые скобки. Затем полученная сумма умножается на 60. После этого значение переменной PeoplelnTheOffice прибавляется к значению переменной PeopleOnVacation. Наконец, вычисленное общее количество людей умножается на общее число секунд.

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

TotalMinutes = NumMinutesToThink + NumMinutesToType; TotalSeconds = TotalMinutes * 60; TotalPeople = PeoplelnTheOffice + PeopleOnVacation; TotalPersonSeconds = TotalPeople * TotalSeconds;

Для записи этого варианта требуется больше времени и много временных переменных, но он гораздо легче для понимания. Осталось лишь добавить комментарии, разъясняющие назначение этого программного кода, и заменить число 60 символьной константой. И тогда можно считать этот программный фрагмент практически идеальным для чтения и дальнейшей эксплуатации.

Рвкомвнддвтся

Помните, что выражения оперируют значениями.

Используйте префиксный оператор (++переменная) для инкремента или декремента переменной перед ее использованием в выражении. Используйте постфиксный оператор (переменная++) для инкремента или декремента переменной после ее использования в выражении. Используйте круглые скобки для изменения порядка выполнения оператороа, обусловленного их приоритетами.

Не рекомвнддвшся

Не используйте слишком много вложенных круглых скобок, поскольку такие выражения становятся трудными для понимания.

Что такое ИСТИННО

В предьщущих версиях языка С++ результаты логических выражений представлялись целочисленными значениями, но в новом стандарте ANSI введен новый тип - bool, имеющий только два возможных значения: true или false.

Любое выражение может быть рассмотрено с точки зрения его истинности или ложности. Математические выражения, возвращающие нуль, можно использовать для присвоения значения false логической переменной, а любой другой результат будет означать true.



IPHMEHAHNE

Многие компиляторы и раньше были сориентированы на тип bool, который внутренне представлялся с помощью типа long int и поэтому имел размер, равный четырем байтам. Ныне ANSI-совместимые компиляторы часто обеспечивают однобайтовый тип bool.

Операторы отношеоон

Такие операторы используются для выяснения равенства или неравенства двух значений. Выражения сравнения всегда возвращают значения true (истина) или false (ложь). Операторы отнощения представлены в табл. 4.1.

(тшш

в новом стандарте ANSI предусмотрен новый тип bool, и все операторы отношений теперь возвращают значение типа bool- true и false. В предыдущих версиях языка С++ эти операторы возвращали О в качестве false или любое ненулевое значение (обычно 1) в качестве true.

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

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

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

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

IPEJiyflPElKflENNE

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

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

Рекомендуется

Помните, что операторы отношений возвращают значение1.- или -

Не рекомендуется

Не путайте оператор присваивания (=) с оператором равенства (==). Это одна из самых распространенных ошибок профаммирования на языке С++- будьте начеку!



ТиОдица 4.1. Внеряторы отиошениО

вйврашар

йрвмв/

вазаращавмав зявчвявв

Равно

== 50;

false

== 50;

true

Не равно

!= 50;

true

!= 50;

false

Больше

>

> 50;

true

> 50;

false

Больше или равно

>=

>= 50;

true

>= 50;

true

Меньше

<

< 50;

false

< 50;

false

Меньше или равно

<= 50;

false

<= 50;

true

Оператор if

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

Простейшая форма оператора if имеет следующий вид:

if (условие) выражение;

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

if (bigNumber > smallNumber) bigNumber = smallNumber;

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

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

выражение 1;



1 ... 18 19 20 [ 21 ] 22 23 24 ... 265

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика