Функция printf() предназначена для форматированного вывода. Она переводит данные в символьное представление и выводит полученные изображения символов на экран. При этом у программиста имеется возможность форматировать данные, то есть влиять на их представление на экране.
§ текста, представленного для непосредственного вывода;
§ форматов, предназначенных для вывода значений переменных различных типов.
Объекты могут отсутствовать.
Управляющие символы не выводятся на экран, а управляют расположением выводимых символов. Отличительной чертой управляющего символа является наличие обратного слэша '\' перед ним. Основные управляющие символы:
§ '\n' — перевод строки;
§ '\t' — горизонтальная табуляция;
§ '\v' — вертикальная табуляция;
§ '\b' — возврат на символ;
§ '\r' — возврат на начало строки;
§ '\a' — звуковой сигнал.
Форматы нужны для того, чтобы указывать вид, в котором информация будет выведена на экран. Отличительной чертой формата является наличие символа процент '%' перед ним:
§ %d — целое число типа int со знаком в десятичной системе счисления;
§ %u — целое число типа unsigned int;
§ %x — целое число типа int со знаком в шестнадцатеричной системе счисления;
§ %o — целое число типа int со знаком в восьмеричной системе счисления;
§ %hd — целое число типа short со знаком в десятичной системе счисления;
§ %hu — целое число типа unsigned short;
§ %hx — целое число типа short со знаком в шестнадцатеричной системе счисления;
§ %ld — целое число типа long int со знаком в десятичной системе счисления;
§ %lu — целое число типа unsigned long int;
§ %lx — целое число типа long int со знаком в шестнадцатеричной системе счисления;
§ %f — вещественный формат (числа с плавающей точкой типа float);
§ %lf — вещественный формат двойной точности (числа с плавающей точкой типа double);
§ %e — вещественный формат в экспоненциальной форме (числа с плавающей точкой типа float в экспоненциальной форме);
§ %c — символьный формат;
§ %s — строковый формат.
Пример
int a=5; float x = 2.78; printf("\n Значение переменной a=%d", a); printf("\n Значение переменной x=%f", x);
Результат работы программы
Значение переменной a=5 Значение переменной x=2.780000
При указании формата можно явным образом указать общее количество знакомест и количество знакомест, занимаемых дробной частью. Пример
float y=1.2345; printf("\n Значение переменной y=%10.5\n", y);
Результат работы программы Значение переменной y= 1.23450
В приведенном примере 10 — общее количество знакомест под значение переменной; 5 — количество позиций после десятичной точки. В указанном примере количество знакомест в выводимом числе меньше 10, поэтому свободные знакоместа слева от числа заполняются пробелами. Такой способ форматирования часто используется для построения таблиц.