Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
УВЕЛИЧЕНИЕ ЗНАЧЕНИЯ ПЕРЕМЕННОЙ НА 1
Обычной операцией, которую вы будете выполнять при программировании, является прибавление 1 к значению целой переменной. Например, предположим, что ваша программа использует переменную с именем count, чтобы сохранить данные о количестве напечатанных файлов. Каждый раз, когда программа печатает файл, 1 будет добавляться к текущему значению count. Используя оператор присваивания C++, ваша программа может увеличивать значение count, как показано ниже: count = count + 1; В данном случае программа сначала выбирает значение count, а затем добавляет к нему единицу. Далее программа записывает результат сложения обратно в переменную count. Следующая программа INTCOUNT.CPP использует оператор присваивания для увеличения переменной count (которая первоначально содержит значение 1000) на единицу (присваивая переменной результат 1001): #include < iostream.h> void main(void) { Когда вы откомпилируете и запустите эту программу, на вашем экране появится следующий вывод: С: \> INCCOUNT < ENTER> Начальное значение count равно 1000 Конечное значение count равно 1001 Так как увеличение значения переменной представляет собой обычную операцию в программах, в C++ есть операция увеличения — двойной знак плюс (++). Операция увеличения обеспечивает быстрый способ прибавления единицы к значению переменной. Следующие операторы, например, увеличивают значение переменной count на 1: count = count + 1; count++; Следующая программа INC_OP.CPP использует операцию увеличения для наращивания значения переменной count на 1: #include < iostream.h> void main(void) { Эта программа работает так же, как INCCOUNT.CPP, которая использовала оператор присваивания для увеличения значения переменной. Когда C++ встречает операцию увеличения, он сначала выбирает значение переменной, добавляет к этому значению единицу, а затем записывает результат обратно в переменную. Представление о префиксной (до) и постфиксной (после) операциях увеличения При использовании операций увеличения ваши программы могут размещать оператор увеличения до или после переменной, как показано ниже: ++variable; variable++; Так как первый оператор появляется до переменной, он называетсяпрефиксным оператором увеличения. Аналогично этому, второй оператор появляется после переменной и называется постфиксным оператором увеличения. Вам необходимо знать, что C++ трактует эти два оператора по-разному. Например, рассмотрим следующий оператор присваивания: current_count = count++; Этот оператор присваивания указывает C++ присвоить текущее значениеcount переменной current_count. В дополнение к этому постфиксный оператор увеличения заставляет C++ увеличить текущее значение count.Использование постфиксного оператора в этом случае делает показанный выше оператор эквивалентным следующим двум операторам: current_count = count; count = count + 1; Теперь рассмотрим следующий оператор присваивания, который использует префиксный оператор увеличения: current_count = ++count; В этом случае оператор присваивания указывает C++ сначала увеличить значение count, а затем присвоить результат переменной current_count.Использование префиксного оператора увеличения делает показанный выше оператор эквивалентным следующим двум операторам: count = count + 1; current_count = count; Важно освоить префиксную и постфиксную операции увеличения, так, как они будут встречаться вам в большинстве программ на C++. Следующая программа PRE_POST.CPP иллюстрирует использование префиксной и постфиксной операций увеличения: #include < iostream.h> void main(void) { Когда вы откомпилируете и запустите эту программу, на вашем экране появится следующий вывод: С: \> PRE_POST < ENTER> small_count равно 0 small_count++ производит 0 конечное значение small_count равно 1 big_count равно 1000 ++big_count производит 1001 конечное значение big_count равно 1001 С переменной small_count программа использует постфиксную операцию увеличения. В результате программа выводит текущее значение переменной (0), а затем увеличивает его на 1. С переменной big_countпрограмма использует префиксную операцию увеличения. В результате программа сначала увеличивает значение переменной (1000 + 1), а затем выводит результат (1001). Найдите время, чтобы отредактировать эту программу, и сначала измените постфиксную операцию на префиксную, а затем префиксную на постфиксную. Откомпилируйте и запустите программу, обращая внимание на то, как изменение операции изменяет вывод. С++ обеспечивает также операции уменьшения Как вы уже знаете, двойной знак плюс (++) представляет собой оператор увеличения C++. Подобным образом двойной знак минус (--) соответствует оператору уменьшения C++, который уменьшает значение переменной на 1. Как и в случае с операцией увеличения, C++ поддерживает префиксный и постфиксный операторы уменьшения. Следующая программа DECCOUNT.CPP иллюстрирует использование оператора уменьшения C++: #include < iostream.h> void main(void) { Когда вы откомпилируете и запустите эту программу, на вашем экране появится следующий вывод: С: \> DECCOUNT < ENTER” small_count равно 0 small_count-- производит 0 конечное значение small_count равно -1 big_count равно 1000 —big_count производит 999 конечное значение big_count равно 999 Как видите, префиксный и постфиксный операторы уменьшения C++ работают так же, как и соответствующие операторы увеличения, с той лишь разницей, что они уменьшают значение переменной на 1. ДРУГИЕ ОПЕРАТОРЫ С++ В этом уроке описаны обычные арифметические операции C++, а также операции увеличения и уменьшения. В программах на C++ вы можете встретить одну или несколько операций, перечисленных в табл. 5.2: Таблица 5.2. Операции C++, которые вы можете встретить в программах.
СТАРШИНСТВО ОПЕРАЦИЙ При выполнении арифметических операций в C++ необходимо знать, что C++ выполняет операции в определенном порядке, основанном на старшинстве операций. Например, операция умножения выполняется до сложения. Чтобы лучше понять старшинство операций, рассмотрите следующие выражения: result =5+2*3; В зависимости от порядка, в котором C++ выполняет умножение и сложение, результат будет разным: result =5+2*3; Чтобы избежать путаницы, C++ присваивает каждой операции приоритет, который определяет порядок выполнения операций. Так как C++ выполняет операции в определенном порядке, то и ваши программы будут проводить арифметические вычисления соответствующим образом. Таблица 5.3 перечисляет старшинство операций C++. Операции, находящиеся в верхней части, имеют более высокий приоритет. Операции внутри каждой части имеют одинаковый приоритет. Если вы рассмотрите таблицу, то увидите, что в C++ умножение имеет более высокий приоритет, чем сложение. Вы не знакомы со многими операциями, представленными в таблице. В настоящее время не думайте об этих операциях. К концу изучения этой книги вы сможете использовать (и понять) каждую из них! Таблица 5.3. Старшинство операций в C++.
Управление порядком, в котором C++ выполняет операции Как вы уже знаете, C++ назначает операциям различный приоритет, который и управляет порядком выполнения операций. К сожалению, иногда порядок, в котором C++ выполняет арифметические операции, не соответствует порядку, в котором вам необходимо их выполнить. Например, предположим, что вашей программе необходимо сложить две стоимости и затем умножить результат на налоговую ставку: cost = price_a + price_b * 1.06; К сожалению, в этом случае C++ сначала выполнит умножение (price_b * 1.06), а затем прибавит значение price_a. Если ваши программы должны выполнять арифметические операции в определенном порядке, вы можете заключить выражение в круглые скобки. Когда C++ оценивает выражение, он сначала всегда выполняет операции, сгруппированные в круглых скобках. Например, рассмотрим следующее выражение: result =(2+3)* (3+4); C++ вычисляет данное выражение в следующем порядке: result = (2 + 3) * (3 + 4); Подобным образом группируя выражения внутри круглых скобок, вы можете управлять порядком, в котором C++ выполняет арифметические операции. Аналогично предыдущему примеру, ваша программа может сложить две стоимости внутри круглых скобок, как показано ниже: cost = (price_a + price_b) * 1.06; Популярное:
|
Последнее изменение этой страницы: 2016-05-30; Просмотров: 6368; Нарушение авторского права страницы