Стандартная библиотека С содержит две функции, выполняющие форматированный ввод и вывод стандартных типов данных: printf() и scanf(). Термин форматированный подразумевает, что эти функции могут писать и читать данные в разных форматах, которыми можно управлять. Функция printf() используется для вывода данных на консоль, scanf() – для чтения данных с консоли. Как printf(), так и scanf() могут работать с любыми стандартными типами и строками.
Функция printf( ) имеет следующий прототип:
int printf(const char *форматная строка, …);
Первый аргумент форматная строка определяет способ вывода последующих аргументов. Он содержит два типа элементов: символы, выводимые на экран, и спецификаторы формата, определяющие способ вывода аргументов, следующих за форматной строкой. Спецификаторы формата начинаются со знака процент, за которым следует код формата.
Формат
Символ
Знаковое десятичное целое число
Знаковое десятичное целое число
Научная нотация (e – строчная)
Научная нотация (E – прописная)
Десятичное число с плавающей точкой
Десятичное число с плавающей точкой двойной точности
Использует или %e, или %f, соответствующее более короткому представлению
Использует или %E, или %f, соответствующее более короткому представлению
Беззнаковое восьмеричное число
Строка символов
Беззнаковое десятичное число
Беззнаковое шестнадцатиричное число (строчные буквы)
Беззнаковое шестнадцатиричное число (прописные буквы)
Вывод указателя
Ассоциированный аргумент – это указатель на целое, в которое записывается число уже выведенных символов
Выводит знак %
Должно быть полное соответствие между числом аргументов и числом спецификаторов формата, а также спецификаторы формата и аргументы должны соответствовать друг другу.
Функция printf( ) возвращает число напечатанных символов. В случае ошибки она возвращает EOF.
Для печати отдельных символов используется %c. Для печати строки %s.