Достаточно часто для вывода информации из ЭВМ в программах используется функция printf( ). Она переводит данные из внутреннего кода в символьное представление и выводит полученные изображения символов результатов на экран дисплея. При этом у программиста имеется возможность форматировать данные, т.е. влиять на их представление на экране дисплея.
Возможность форматирования условно отмечена в самом имени функции с помощью литеры f в конце ее названия (print formatted).
Оператор вызова функции printf( ) можно представить так:
printf(форматная_строка, список_аргументов);
Форматная строка ограничена двойными кавычками (см. строковые константы, §1.2) и может включать произвольный текст, управляющие символы и спецификации преобразования данных. Список аргументов (с предшествующей запятой) может отсутствовать. Именно такой вариант использован в классической первой программе на языке Си [1, 2]:
Директива #include <stdio.h> включает в текст программы описание (прототип) библиотечной функции printf( ) (Если удалить из текста программы эту препроцессорную директиву, то появятся сообщения об ошибках и исполнимый код программы не будет создан. Среди параметров функции printf( ) есть в этом примере только форматная строка (список аргументов отсутствует). В форматной строке два управляющих символа '\n' - "перевод строки". Между ними текст, который выводится на экран дисплея:
Первый символ '\n' обеспечивает вывод этой фразы с начала новой строки. Второй управляющий символ '\n' переведет курсор к началу следующей строки, где и начнется вывод других сообщений (не связанных с программой) на экран дисплея.
Итак, произвольный текст (не спецификации преобразования и не управляющие символы) непосредственно без изменений выводится на экран. Управляющие символы (перевод строки, табуляция и т.д.) позволяют влиять на размещение выводимой информации на экране дисплея.
Спецификации преобразования данных предназначены для управления формой внешнего представления значений аргументов функции printf(). Обобщенный формат спецификации преобразования имеет вид: %флажки ширина_поля. точность модификатор спецификатор
Среди элементов спецификации преобразования обязательными являются только два - символ '% ' и спецификатор.
В задачах вычислительного характера этой главы будем использовать спецификаторы:
d - для целых десятичных чисел (тип int);
u - для целых десятичных чисел без знака (тип unsigned);
f-для вещественных чисел в форме с фиксированной точкой (типы float и double);