Главная Контакты


  На сайте

  Java, JavaScript
  Документация Perl
  Документация PHP
  Документация ASP
  Новости сайта
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C
 


Введение в 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 перед тем как совершить сделку.

Другие статьи по теме:

- Типы, операторы и выражения
- Символьные массивы
- Внешние переменные и область действия
- Введение в c++
- Функции и структура программ


Голосование:
Чего Вы хотели бы видеть больше на сайте?

Статей, документации
Скриптов
Программ для вебмастера
Я не знаю



Другие голосования

Обмен кнопочками:



Приглашаем Вас обменяться кнопочками! Обращайтесь к администратору.


Новые статьи:


Наши партнеры:





2006-2024 © SMTI.RU
Главная страница | Связаться с нами