Язык программирования C

Скачать в pdf «Язык программирования C»


Каждая конструкция с символом % в первом строковом аргументе функции printf должна иметь соответствие: второй, третий и т.д. аргумент; их количество и типы должны быть согласованы, иначе будут выданы неверные ответы.


Кстати говоря, функция printf не является частью определения языка С. В самом языке не определены стандартные конструкции ввода-вывода, так что printf — это просто полезная функция из стандартной библиотеки, к которой обычно имеют возможность обращаться программы на С. Однако поведение и свойства функции printf регламентированы в стандарте ANSI, поэтому она должна работать одинаково во всех библиотеках и компиляторах, соответствующих этому стандарту.


Чтобы сосредоточить внимание на самом языке С, мы отложим рассмотрение вопросов ввода-вывода до главы 7. В частности, пока не будем заниматься форматированным вводом. Если понадобится вводить числа, ознакомьтесь с описанием работы функции scanf в разделе 7.4. Эта функция аналогична printf, но она считывает данные из потока ввода, вместо того чтобы отправлять их в поток вывода.


Программа преобразования температур содержит несколько недочетов. Простейший из них состоит в том, что результат выглядит не очень красиво, поскольку числа не выровнены по правому краю. Это легко исправить, добавив в каждый элемент % при вызове функции printf ширину поля вывода. В итоге каждое число будет выравниваться по правому краю отведенного ему пространства. Например, с помощью следующего оператора первое число в каждой строке будет выводиться в поле шириной три цифры, тогда как второе — в поле шириной шесть цифр: printf(«%3d %6dn», fahr, Celsius);


Результат получится таким:


О    -17


20    -6


40    4


60    15


80    26


100    37


Более серьезная проблема состоит в том, что, поскольку используется целочисленная арифметика, температура по Цельсию вычисляется не очень точно. Например, 0°F соответствует -17,8°С, а не -17. Чтобы получить более точные ответы, следует прибегнуть к вещественной арифметике. Для этого в программу нужно внести некоторые изменения. Вот ее вторая версия:

Скачать в pdf «Язык программирования C»