
- •Лабораторная работа №4 операторы
- •Арифметические операторы
- •Деление нацело
- •Типы данных и операторы
- •Выражения
- •Приоритет операторов и порядок вычислений
- •Используемые алгоритмы обработки данных
- •Счетчики
- •Операторы инкремента
- •Аккумуляторы
- •Операторы присваивания
- •Присваивание начального значения
- •Проектирование программы
- •Остерегайтесь логических ошибок
- •Ищите образцы
- •Диагностические проблемы
Выражения
Выражение находится справа от знака равенства, и это понятие не включает переменную в левой части. Выражения можно использовать и в инструкциях вывода. Например:
main()
{
intcount;
count = 5;
printf("Значениеравно %d", count+19);
}
В результате выполнения программы появится сообщение:
Значение равно 24
В этом примере вторым аргументом функции printf() является выражение count+19. При вызове функции значение выражения оценивается (вычисляется) в первую очередь. Результат вычисления выводится на дисплей при помощи указателя формата %d.
При использовании выражений значение переменной не изменяется. В нашем примере, после того как было вычислено и выведено на экран значение выражения count+19, содержимое переменной count по-прежнему осталось равным 5. Помните, что выражение является правой частью уравнения, и рассчитанная таким образом величина не присваивается никакой переменной.
Выражения могут состоять из любой комбинации констант, переменных, константных выражений и операторов:
printf("%d", count+number);
printf("%d", 16-4);
printf(%f", amount*TAX_RATE);
В общем виде выражения можно использовать в тех же ситуациях, что и переменные. Однако в каждом конкретном случае следует хорошенько подумать, имеет ли смысл использовать выражение, или лучше занести полученный результат в значение переменной. Посмотрите на следующую программу:
main()
{
floatcost, shipping;
printf("Введите стоимость единицы товара: ");
scanf("%f", &cost);
printf("Введите величину транспортных расходов: ");
scanf("%f", &shipping);
printf("Общаясуммасоставляет %f", cost+shipping);
}
Выполнение инструкции
printf("Общая сумма составляет %f", cost+shipping);
приведет к результату, который мог быть получен и другим способом:
total = cost + shipping;
/*total следует определить как тип float*/
printf("Общая сумма составляет %f", total);
Обе инструкции выводят на экран монитора общую сумму затрат. В первом случае используется выражение, так что нет необходимости определять переменную, которой будет присвоено полученное значение, и нет необходимости писать уравнение. В процессе работы программы выполняется математическая операция сложения, и итог сразу же отображается на экране с помощью функции printf(). Результат, полученный таким образом, не заносится в память компьютера и, следовательно, если возникнет необходимость снова вывести на экран сумму затрат, придется опять воспользоваться выражением cost+shipping.
Если результат расчетов присваивается переменной в качестве значения, как это сделано во втором примере, необходимо определить переменную и написать уравнение. Зато в этом случае результат сложения хранится в памяти компьютера и к нему можно без труда обратиться снова, используя только имя соответствующей переменной вместо целого выражения.
Если вы предполагаете, что результат какой-либо математической операции может понадобиться не один раз, присвойте его значение какой-либо переменной. Выражения имеет смысл использовать только в том случае, если результат может понадобиться только однажды.