|
Введение в c++Более серьезная проблема заключается в том, что мы использовали арифметику десятичных чисел, поэтому полученная температура по Цельсиусу - недостаточно точна. Например, 0F, в действительности равно-17.8C, а не -17. Чтобы получить более точные ответы, мы должны обратиться к арифметике чисел с плавающей точкой вместо целых. Это требует некоторых изменений в программе. Вот вторая версия: # Include / * Выводит таблицу Фаренгейт-Цельсиус с fahr = 0, 20, ..., 300; версия с числами с плавающей точкой * / main () { float fahr, celsius; float lower, upper, step; lower = 0; / * нижний предел температурной шкалы * / upper = 300; / * верхний предел * / step = 20; / * размер шага * / fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf ("% 3.0f% 6.1f \ n", fahr, celsius); fahr = fahr + step; } } Этот вариант очень похож на предыдущий, за исключением того, что fahr и celsius объявлен как float, а саму формулу преобразования написано в натуральнее образом. Мы не могли использовать 5 / 9 в предыдущей программе, поскольку деление целых округлилося бы к нулю. Десятичная точка в константе указывает на то, что это является числом с плавающей точкой, поэтому 5.0/9.0 НЕ округляется. Если арифметический оператор только целые операнды, состоится действие с целыми. Если же арифметический оператор имеет один операнд, является числом с плавающей точкой, и один операнд-целое, тогда целое будет преобразован в число с плавающей точкой. Поэтому, если бы мы написали (fahr-32), 32 автоматически превратилось бы в дробь. Тем не менее, написание констант с десятичной частью подчеркивает для читателей кода тот факт, что они имеют дело с числами с десятичной точкой. Вы найдете подробное описание того, когда цели превращаются в числа с плавающей точкой в главе 2. Пока заметьте, что присвоение fahr = lower; и тестирование while (fahr <= upper) также работают в натуральный способ - int преобразовано в float перед тем как совершить сделку. Продолжение статьи: ч.1 Продолжение статьи: ч.2 Продолжение статьи: ч.3 Продолжение статьи: ч.4 Продолжение статьи: ч.5 Продолжение статьи: ч.6 Продолжение статьи: ч.7 Продолжение статьи: ч.8 Продолжение статьи: ч.9 Продолжение статьи: ч.10 Продолжение статьи: ч.11 Продолжение статьи: ч.12 Продолжение статьи: ч.13 Продолжение статьи: ч.14 Продолжение статьи: ч.15 Продолжение статьи: ч.16 Продолжение статьи: ч.17 Продолжение статьи: ч.18 Продолжение статьи: ч.19 Продолжение статьи: ч.20 Продолжение статьи: ч.21 Продолжение статьи: ч.22 Продолжение статьи: ч.23 Продолжение статьи: ч.24 Другие статьи по теме: - Типы, операторы и выражения- Символьные массивы - Внешние переменные и область действия - Введение в c++ - Функции и структура программ |
|
2006-2024 © SMTI.RU Главная страница | Связаться с нами |